@@ -19,6 +19,13 @@ namespace YhCore.Repository
|
|||||||
Task<bool> AnyAsync(Expression<Func<T, bool>> predicate);
|
Task<bool> AnyAsync(Expression<Func<T, bool>> predicate);
|
||||||
Task<long> CountAsync(Expression<Func<T, bool>> predicate = null);
|
Task<long> CountAsync(Expression<Func<T, bool>> predicate = null);
|
||||||
|
|
||||||
|
// ---- 读取(追踪版)----
|
||||||
|
// 查出的实体受变更追踪器管理,修改属性后直接 SaveChangesAsync 即可落库。
|
||||||
|
// 仅供写场景使用,纯查询请用上面的 NoTracking 版本。
|
||||||
|
Task<List<T>> FindTrackedAsync(Expression<Func<T, bool>> predicate);
|
||||||
|
Task<List<T>> GetAllTrackedAsync();
|
||||||
|
Task<T> FirstOrDefaultTrackedAsync(Expression<Func<T, bool>> predicate);
|
||||||
|
|
||||||
/// <summary>分页查询(页码从 0 开始),对应 PageUtil + PageVO</summary>
|
/// <summary>分页查询(页码从 0 开始),对应 PageUtil + PageVO</summary>
|
||||||
Task<PageVO<T>> PageAsync(Expression<Func<T, bool>> predicate, int page, int size,
|
Task<PageVO<T>> PageAsync(Expression<Func<T, bool>> predicate, int page, int size,
|
||||||
Expression<Func<T, object>> orderBy = null, bool asc = true);
|
Expression<Func<T, object>> orderBy = null, bool asc = true);
|
||||||
|
|||||||
@@ -43,6 +43,21 @@ namespace YhCore.Repository
|
|||||||
return await DbSet.AsNoTracking().FirstOrDefaultAsync(predicate);
|
return await DbSet.AsNoTracking().FirstOrDefaultAsync(predicate);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public virtual async Task<List<T>> FindTrackedAsync(Expression<Func<T, bool>> predicate)
|
||||||
|
{
|
||||||
|
return await DbSet.Where(predicate).ToListAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
public virtual async Task<List<T>> GetAllTrackedAsync()
|
||||||
|
{
|
||||||
|
return await DbSet.ToListAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
public virtual async Task<T> FirstOrDefaultTrackedAsync(Expression<Func<T, bool>> predicate)
|
||||||
|
{
|
||||||
|
return await DbSet.FirstOrDefaultAsync(predicate);
|
||||||
|
}
|
||||||
|
|
||||||
public virtual async Task<bool> AnyAsync(Expression<Func<T, bool>> predicate)
|
public virtual async Task<bool> AnyAsync(Expression<Func<T, bool>> predicate)
|
||||||
{
|
{
|
||||||
return await DbSet.AnyAsync(predicate);
|
return await DbSet.AnyAsync(predicate);
|
||||||
|
|||||||
@@ -125,7 +125,7 @@ namespace YhCore.Service.Impl
|
|||||||
throw new DException("已存在该分类,请重新填写!");
|
throw new DException("已存在该分类,请重新填写!");
|
||||||
}
|
}
|
||||||
|
|
||||||
var obj = await _dic.FirstOrDefaultAsync(x => x.SerID == model.SerID);
|
var obj = await _dic.FirstOrDefaultTrackedAsync(x => x.SerID == model.SerID);
|
||||||
if (obj == null) throw new DException("未找到要更新的分类!");
|
if (obj == null) throw new DException("未找到要更新的分类!");
|
||||||
|
|
||||||
obj.Name = model.Name;
|
obj.Name = model.Name;
|
||||||
@@ -141,7 +141,7 @@ namespace YhCore.Service.Impl
|
|||||||
{
|
{
|
||||||
if (model == null) throw new DException("参数错误!");
|
if (model == null) throw new DException("参数错误!");
|
||||||
|
|
||||||
var current = await _dic.FirstOrDefaultAsync(m => m.SerID == model.SerID);
|
var current = await _dic.FirstOrDefaultTrackedAsync(m => m.SerID == model.SerID);
|
||||||
if (current == null) throw new DException("未找到要编辑的分类!");
|
if (current == null) throw new DException("未找到要编辑的分类!");
|
||||||
|
|
||||||
var dup = await _dic.AnyAsync(m =>
|
var dup = await _dic.AnyAsync(m =>
|
||||||
|
|||||||
@@ -119,7 +119,7 @@ namespace YhCore.Service.Impl
|
|||||||
{
|
{
|
||||||
if (ids == null || ids.Length == 0) throw new DException("ids is not null");
|
if (ids == null || ids.Length == 0) throw new DException("ids is not null");
|
||||||
|
|
||||||
var items = await _dic.FindAsync(m => ids.Contains(m.SerID));
|
var items = await _dic.FindTrackedAsync(m => ids.Contains(m.SerID));
|
||||||
if (items.Count == 0) throw new DException("未找到要删除的分类!");
|
if (items.Count == 0) throw new DException("未找到要删除的分类!");
|
||||||
|
|
||||||
foreach (var item in items)
|
foreach (var item in items)
|
||||||
@@ -189,7 +189,7 @@ namespace YhCore.Service.Impl
|
|||||||
{
|
{
|
||||||
if (ids == null || ids.Length == 0) throw new DException("ids is not null");
|
if (ids == null || ids.Length == 0) throw new DException("ids is not null");
|
||||||
|
|
||||||
var items = await _dic.FindAsync(m => ids.Contains(m.SerID.ToString()));
|
var items = await _dic.FindTrackedAsync(m => ids.Contains(m.SerID.ToString()));
|
||||||
foreach (var item in items)
|
foreach (var item in items)
|
||||||
{
|
{
|
||||||
item.Enable = 3;
|
item.Enable = 3;
|
||||||
@@ -200,7 +200,7 @@ namespace YhCore.Service.Impl
|
|||||||
|
|
||||||
public async Task SetDictionaryOrdAsync(string schSerId, int dicSerId, bool show)
|
public async Task SetDictionaryOrdAsync(string schSerId, int dicSerId, bool show)
|
||||||
{
|
{
|
||||||
var obj = await _ord.FirstOrDefaultAsync(m => m.DicSerID == dicSerId && m.SchSerID == schSerId);
|
var obj = await _ord.FirstOrDefaultTrackedAsync(m => m.DicSerID == dicSerId && m.SchSerID == schSerId);
|
||||||
if (obj == null)
|
if (obj == null)
|
||||||
{
|
{
|
||||||
await _ord.AddAsync(new Common_DictionaryOrd
|
await _ord.AddAsync(new Common_DictionaryOrd
|
||||||
@@ -224,7 +224,7 @@ namespace YhCore.Service.Impl
|
|||||||
if (string.IsNullOrEmpty(ids)) throw new DException("ids is not null");
|
if (string.IsNullOrEmpty(ids)) throw new DException("ids is not null");
|
||||||
|
|
||||||
var ssids = ids.Split(',').Select(a => int.Parse(a)).ToArray();
|
var ssids = ids.Split(',').Select(a => int.Parse(a)).ToArray();
|
||||||
var list = await _ord.FindAsync(m => m.SchSerID == schSerId);
|
var list = await _ord.FindTrackedAsync(m => m.SchSerID == schSerId);
|
||||||
|
|
||||||
var i = 0;
|
var i = 0;
|
||||||
foreach (var id in ssids)
|
foreach (var id in ssids)
|
||||||
@@ -274,7 +274,7 @@ namespace YhCore.Service.Impl
|
|||||||
|
|
||||||
public async Task SetSchZyBitAsync(string schSerId, bool zyBit)
|
public async Task SetSchZyBitAsync(string schSerId, bool zyBit)
|
||||||
{
|
{
|
||||||
var obj = await _zybit.FirstOrDefaultAsync(a => a.SchSerID == schSerId);
|
var obj = await _zybit.FirstOrDefaultTrackedAsync(a => a.SchSerID == schSerId);
|
||||||
if (obj == null)
|
if (obj == null)
|
||||||
{
|
{
|
||||||
await _zybit.AddAsync(new WY_SchZyBit { SchSerID = schSerId, ziyuanbit = zyBit });
|
await _zybit.AddAsync(new WY_SchZyBit { SchSerID = schSerId, ziyuanbit = zyBit });
|
||||||
|
|||||||
@@ -159,7 +159,7 @@ namespace YhCore.Service.Impl
|
|||||||
a.flowname != null && a.flowname.Trim() == flowname && a.enable != 3)).Count;
|
a.flowname != null && a.flowname.Trim() == flowname && a.enable != 3)).Count;
|
||||||
if (dup > 1) throw new DException("流程名不能重名!");
|
if (dup > 1) throw new DException("流程名不能重名!");
|
||||||
|
|
||||||
var info = await _flowinfo.FirstOrDefaultAsync(a => a.SerID == model.SerID);
|
var info = await _flowinfo.FirstOrDefaultTrackedAsync(a => a.SerID == model.SerID);
|
||||||
if (info == null) throw new DException("未找到要修改的流程!");
|
if (info == null) throw new DException("未找到要修改的流程!");
|
||||||
|
|
||||||
info.flowname = model.flowname;
|
info.flowname = model.flowname;
|
||||||
@@ -198,7 +198,7 @@ namespace YhCore.Service.Impl
|
|||||||
{
|
{
|
||||||
if (model == null) throw new DException("参数错误!");
|
if (model == null) throw new DException("参数错误!");
|
||||||
|
|
||||||
var info = await _flowstep.FirstOrDefaultAsync(a => a.SerID == model.SerID);
|
var info = await _flowstep.FirstOrDefaultTrackedAsync(a => a.SerID == model.SerID);
|
||||||
if (info == null) throw new DException("未找到要修改的步骤!");
|
if (info == null) throw new DException("未找到要修改的步骤!");
|
||||||
|
|
||||||
info.flowid = model.flowid;
|
info.flowid = model.flowid;
|
||||||
@@ -207,7 +207,7 @@ namespace YhCore.Service.Impl
|
|||||||
await _flowstep.UpdateAsync(info);
|
await _flowstep.UpdateAsync(info);
|
||||||
|
|
||||||
// 重写该步骤的人员绑定(先清后加)
|
// 重写该步骤的人员绑定(先清后加)
|
||||||
var existing = await _groupuser.FindAsync(a => a.usergroup == info.SerID);
|
var existing = await _groupuser.FindTrackedAsync(a => a.usergroup == info.SerID);
|
||||||
foreach (var itt in existing)
|
foreach (var itt in existing)
|
||||||
{
|
{
|
||||||
await _groupuser.RemoveAsync(itt);
|
await _groupuser.RemoveAsync(itt);
|
||||||
@@ -243,7 +243,7 @@ namespace YhCore.Service.Impl
|
|||||||
if (string.IsNullOrWhiteSpace(ids)) throw new DException("ids is not null");
|
if (string.IsNullOrWhiteSpace(ids)) throw new DException("ids is not null");
|
||||||
|
|
||||||
var lids = ids.Split(',').Select(a => int.Parse(a)).ToArray();
|
var lids = ids.Split(',').Select(a => int.Parse(a)).ToArray();
|
||||||
var flows = await _flowinfo.FindAsync(a => lids.Contains(a.SerID));
|
var flows = await _flowinfo.FindTrackedAsync(a => lids.Contains(a.SerID));
|
||||||
foreach (var item in flows)
|
foreach (var item in flows)
|
||||||
{
|
{
|
||||||
item.enable = 3;
|
item.enable = 3;
|
||||||
@@ -256,7 +256,7 @@ namespace YhCore.Service.Impl
|
|||||||
if (ids == null || ids.Length == 0) throw new DException("ids is not null");
|
if (ids == null || ids.Length == 0) throw new DException("ids is not null");
|
||||||
|
|
||||||
var intIds = ids.Select(d => (int)d).ToArray();
|
var intIds = ids.Select(d => (int)d).ToArray();
|
||||||
var objlist = await _flowstep.FindAsync(m => intIds.Contains(m.SerID));
|
var objlist = await _flowstep.FindTrackedAsync(m => intIds.Contains(m.SerID));
|
||||||
foreach (var item in objlist)
|
foreach (var item in objlist)
|
||||||
{
|
{
|
||||||
await _flowstep.RemoveAsync(item);
|
await _flowstep.RemoveAsync(item);
|
||||||
|
|||||||
@@ -138,7 +138,7 @@ namespace YhCore.Service.Impl
|
|||||||
{
|
{
|
||||||
await SetChaoSendAsync(int.Parse(uid), schSerId, mysenduserid);
|
await SetChaoSendAsync(int.Parse(uid), schSerId, mysenduserid);
|
||||||
|
|
||||||
var model = await _doc.FirstOrDefaultAsync(m => m.SerID == serId);
|
var model = await _doc.FirstOrDefaultTrackedAsync(m => m.SerID == serId);
|
||||||
if (model != null)
|
if (model != null)
|
||||||
{
|
{
|
||||||
model.SendUserID = senduserid;
|
model.SendUserID = senduserid;
|
||||||
@@ -249,7 +249,7 @@ namespace YhCore.Service.Impl
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public async Task<int> EditAsync(WYDocPrintSaveDto model)
|
public async Task<int> EditAsync(WYDocPrintSaveDto model)
|
||||||
{
|
{
|
||||||
var info = await _doc.FirstOrDefaultAsync(x => x.SerID == model.SerID);
|
var info = await _doc.FirstOrDefaultTrackedAsync(x => x.SerID == model.SerID);
|
||||||
if (info == null) throw new DException("未找到该文印记录!");
|
if (info == null) throw new DException("未找到该文印记录!");
|
||||||
|
|
||||||
info.DocType = model.DocType;
|
info.DocType = model.DocType;
|
||||||
@@ -303,7 +303,7 @@ namespace YhCore.Service.Impl
|
|||||||
var idArr = ids.Split(',')
|
var idArr = ids.Split(',')
|
||||||
.Where(a => !string.IsNullOrEmpty(a) && decimal.TryParse(a, out _))
|
.Where(a => !string.IsNullOrEmpty(a) && decimal.TryParse(a, out _))
|
||||||
.Select(decimal.Parse).ToArray();
|
.Select(decimal.Parse).ToArray();
|
||||||
var objlist = await _doc.FindAsync(m => idArr.Contains(m.SerID));
|
var objlist = await _doc.FindTrackedAsync(m => idArr.Contains(m.SerID));
|
||||||
foreach (var item in objlist)
|
foreach (var item in objlist)
|
||||||
{
|
{
|
||||||
await _doc.RemoveAsync(item);
|
await _doc.RemoveAsync(item);
|
||||||
@@ -334,7 +334,7 @@ namespace YhCore.Service.Impl
|
|||||||
await _flowtranct.AddAsync(tranct);
|
await _flowtranct.AddAsync(tranct);
|
||||||
await _flowtranct.SaveChangesAsync();
|
await _flowtranct.SaveChangesAsync();
|
||||||
|
|
||||||
var docModel = await _doc.FirstOrDefaultAsync(m => m.SerID == model.dataid);
|
var docModel = await _doc.FirstOrDefaultTrackedAsync(m => m.SerID == model.dataid);
|
||||||
if (docModel != null)
|
if (docModel != null)
|
||||||
{
|
{
|
||||||
docModel.DocStatus = model.actionstatus.ToString();
|
docModel.DocStatus = model.actionstatus.ToString();
|
||||||
@@ -665,7 +665,7 @@ namespace YhCore.Service.Impl
|
|||||||
using var tx = await _db.Database.BeginTransactionAsync();
|
using var tx = await _db.Database.BeginTransactionAsync();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var rdmodel = await _doc.FirstOrDefaultAsync(m => m.SerID == model.dataid);
|
var rdmodel = await _doc.FirstOrDefaultTrackedAsync(m => m.SerID == model.dataid);
|
||||||
if (rdmodel == null) throw new DException("未找到该文印记录!");
|
if (rdmodel == null) throw new DException("未找到该文印记录!");
|
||||||
|
|
||||||
if (rdmodel.DocStatus != "0")
|
if (rdmodel.DocStatus != "0")
|
||||||
@@ -766,7 +766,7 @@ namespace YhCore.Service.Impl
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public async Task<string> AffirmApplyforOkAsync(FlowTranctDto model)
|
public async Task<string> AffirmApplyforOkAsync(FlowTranctDto model)
|
||||||
{
|
{
|
||||||
var itt = await _doc.FirstOrDefaultAsync(m => m.SerID == model.dataid);
|
var itt = await _doc.FirstOrDefaultTrackedAsync(m => m.SerID == model.dataid);
|
||||||
if (itt == null) throw new DException("未找到该文印记录!");
|
if (itt == null) throw new DException("未找到该文印记录!");
|
||||||
|
|
||||||
var claimed = await _flowtranct.AnyAsync(a => a.dataid == model.dataid
|
var claimed = await _flowtranct.AnyAsync(a => a.dataid == model.dataid
|
||||||
@@ -817,7 +817,7 @@ namespace YhCore.Service.Impl
|
|||||||
{
|
{
|
||||||
if (flowid <= 0) return;
|
if (flowid <= 0) return;
|
||||||
|
|
||||||
var list = await _zhipai.FirstOrDefaultAsync(a => a.UserID == uid && a.MSerID == dataid
|
var list = await _zhipai.FirstOrDefaultTrackedAsync(a => a.UserID == uid && a.MSerID == dataid
|
||||||
&& a.SchSerID == schSerId && a.FlowID == flowid && a.FlowStepID == flowstepid && a.type == type);
|
&& a.SchSerID == schSerId && a.FlowID == flowid && a.FlowStepID == flowstepid && a.type == type);
|
||||||
if (list == null)
|
if (list == null)
|
||||||
{
|
{
|
||||||
@@ -1240,7 +1240,7 @@ namespace YhCore.Service.Impl
|
|||||||
/// <summary>自由流程挂链(旧 ApproveFlow.SetPrimarySteptID:从 stepid 起沿 laststep 链回写 dataid)。</summary>
|
/// <summary>自由流程挂链(旧 ApproveFlow.SetPrimarySteptID:从 stepid 起沿 laststep 链回写 dataid)。</summary>
|
||||||
private async Task SetPrimarySteptIDAsync(int dataid, int stepid)
|
private async Task SetPrimarySteptIDAsync(int dataid, int stepid)
|
||||||
{
|
{
|
||||||
var node = await _freeflowinfo.FirstOrDefaultAsync(a => a.SerID == stepid);
|
var node = await _freeflowinfo.FirstOrDefaultTrackedAsync(a => a.SerID == stepid);
|
||||||
if (node != null)
|
if (node != null)
|
||||||
{
|
{
|
||||||
node.dataid = dataid;
|
node.dataid = dataid;
|
||||||
@@ -1250,7 +1250,7 @@ namespace YhCore.Service.Impl
|
|||||||
var nextSer = stepid;
|
var nextSer = stepid;
|
||||||
while (true)
|
while (true)
|
||||||
{
|
{
|
||||||
var next = await _freeflowinfo.FirstOrDefaultAsync(a => a.laststep == nextSer);
|
var next = await _freeflowinfo.FirstOrDefaultTrackedAsync(a => a.laststep == nextSer);
|
||||||
if (next == null) break;
|
if (next == null) break;
|
||||||
next.dataid = dataid;
|
next.dataid = dataid;
|
||||||
await _freeflowinfo.SaveChangesAsync();
|
await _freeflowinfo.SaveChangesAsync();
|
||||||
@@ -1261,7 +1261,7 @@ namespace YhCore.Service.Impl
|
|||||||
/// <summary>抄送人落库(旧 ApproveFlow.SetChaoSend:按用户+flowType 全删再插)。</summary>
|
/// <summary>抄送人落库(旧 ApproveFlow.SetChaoSend:按用户+flowType 全删再插)。</summary>
|
||||||
private async Task SetChaoSendAsync(int uid, string schSerId, string senduserid)
|
private async Task SetChaoSendAsync(int uid, string schSerId, string senduserid)
|
||||||
{
|
{
|
||||||
var olds = await _senduser.FindAsync(a => a.flowType == DocPrintConstants.AppCode && a.userid == uid);
|
var olds = await _senduser.FindTrackedAsync(a => a.flowType == DocPrintConstants.AppCode && a.userid == uid);
|
||||||
foreach (var old in olds)
|
foreach (var old in olds)
|
||||||
{
|
{
|
||||||
await _senduser.RemoveAsync(old);
|
await _senduser.RemoveAsync(old);
|
||||||
@@ -1287,7 +1287,7 @@ namespace YhCore.Service.Impl
|
|||||||
var fids = ParseIds(upFile);
|
var fids = ParseIds(upFile);
|
||||||
foreach (var fid in fids)
|
foreach (var fid in fids)
|
||||||
{
|
{
|
||||||
var file = await _files.FirstOrDefaultAsync(x => x.SerID == fid);
|
var file = await _files.FirstOrDefaultTrackedAsync(x => x.SerID == fid);
|
||||||
if (file != null)
|
if (file != null)
|
||||||
{
|
{
|
||||||
file.TopicID = topicId;
|
file.TopicID = topicId;
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ namespace YhCore.Service.Impl
|
|||||||
|
|
||||||
public async Task<string> SaveIsSHRoleAsync(string schSerId, string val)
|
public async Task<string> SaveIsSHRoleAsync(string schSerId, string val)
|
||||||
{
|
{
|
||||||
var list = await _dic.FindAsync(a => a.Schserid == schSerId && a.typeID == "isUseSHRole");
|
var list = await _dic.FindTrackedAsync(a => a.Schserid == schSerId && a.typeID == "isUseSHRole");
|
||||||
if (list.Count > 0)
|
if (list.Count > 0)
|
||||||
{
|
{
|
||||||
list[0].CodeID = val;
|
list[0].CodeID = val;
|
||||||
@@ -155,7 +155,7 @@ namespace YhCore.Service.Impl
|
|||||||
if (list.Count > 0)
|
if (list.Count > 0)
|
||||||
throw new DException("审核角色名称重复了,更新失败!");
|
throw new DException("审核角色名称重复了,更新失败!");
|
||||||
|
|
||||||
var list2 = await _role.FindAsync(a => a.SchSerId == schSerId && a.SerID == serId);
|
var list2 = await _role.FindTrackedAsync(a => a.SchSerId == schSerId && a.SerID == serId);
|
||||||
if (list2.Count > 0)
|
if (list2.Count > 0)
|
||||||
{
|
{
|
||||||
list2[0].SHRoleName = roleName;
|
list2[0].SHRoleName = roleName;
|
||||||
@@ -196,7 +196,7 @@ namespace YhCore.Service.Impl
|
|||||||
if (list.Count > 0)
|
if (list.Count > 0)
|
||||||
throw new DException("审核角色名称已经使用,更新失败!");
|
throw new DException("审核角色名称已经使用,更新失败!");
|
||||||
|
|
||||||
var tp = await _role.FirstOrDefaultAsync(a => a.SerID == roleInfo.SerID);
|
var tp = await _role.FirstOrDefaultTrackedAsync(a => a.SerID == roleInfo.SerID);
|
||||||
if (tp != null)
|
if (tp != null)
|
||||||
{
|
{
|
||||||
tp.SHRoleName = roleInfo.SHRoleName;
|
tp.SHRoleName = roleInfo.SHRoleName;
|
||||||
@@ -211,9 +211,9 @@ namespace YhCore.Service.Impl
|
|||||||
public async Task<string> DelSHRoleAsync(string schSerId, List<decimal?> listSHRoleId)
|
public async Task<string> DelSHRoleAsync(string schSerId, List<decimal?> listSHRoleId)
|
||||||
{
|
{
|
||||||
var ids = listSHRoleId ?? new List<decimal?>();
|
var ids = listSHRoleId ?? new List<decimal?>();
|
||||||
var list = await _role.FindAsync(a => a.SchSerId == schSerId && ids.Contains(a.SerID));
|
var list = await _role.FindTrackedAsync(a => a.SchSerId == schSerId && ids.Contains(a.SerID));
|
||||||
var listSHTea = await _shTea.FindAsync(a => a.SchSerID == schSerId && ids.Contains(a.SHRoleID));
|
var listSHTea = await _shTea.FindTrackedAsync(a => a.SchSerID == schSerId && ids.Contains(a.SHRoleID));
|
||||||
var listBSHTea = await _bshTea.FindAsync(a => a.SchSerID == schSerId && ids.Contains(a.SHRoleID));
|
var listBSHTea = await _bshTea.FindTrackedAsync(a => a.SchSerID == schSerId && ids.Contains(a.SHRoleID));
|
||||||
|
|
||||||
if (list.Count > 0)
|
if (list.Count > 0)
|
||||||
{
|
{
|
||||||
@@ -236,7 +236,7 @@ namespace YhCore.Service.Impl
|
|||||||
|
|
||||||
public async Task<string> DelSHTeaRowAsync(string schSerId, decimal serId)
|
public async Task<string> DelSHTeaRowAsync(string schSerId, decimal serId)
|
||||||
{
|
{
|
||||||
var list = await _shTea.FindAsync(a => a.SchSerID == schSerId && a.SerID == serId);
|
var list = await _shTea.FindTrackedAsync(a => a.SchSerID == schSerId && a.SerID == serId);
|
||||||
if (list.Count > 0)
|
if (list.Count > 0)
|
||||||
{
|
{
|
||||||
await _shTea.RemoveAsync(list[0]);
|
await _shTea.RemoveAsync(list[0]);
|
||||||
@@ -269,7 +269,7 @@ namespace YhCore.Service.Impl
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
// update
|
// update
|
||||||
var list2 = await _shTea.FindAsync(a => a.SchSerID == schSerId && a.SerID == data.SerID);
|
var list2 = await _shTea.FindTrackedAsync(a => a.SchSerID == schSerId && a.SerID == data.SerID);
|
||||||
if (list2.Count > 0)
|
if (list2.Count > 0)
|
||||||
{
|
{
|
||||||
var tp = list2[0];
|
var tp = list2[0];
|
||||||
@@ -287,7 +287,7 @@ namespace YhCore.Service.Impl
|
|||||||
|
|
||||||
public async Task<string> EditSHTeaAsync(string schSerId, string userId, decimal shRoleId, List<WY_SHRole_SHTea> listSHTea)
|
public async Task<string> EditSHTeaAsync(string schSerId, string userId, decimal shRoleId, List<WY_SHRole_SHTea> listSHTea)
|
||||||
{
|
{
|
||||||
var list = await _shTea.FindAsync(a => a.SchSerID == schSerId && a.SHRoleID == shRoleId);
|
var list = await _shTea.FindTrackedAsync(a => a.SchSerID == schSerId && a.SHRoleID == shRoleId);
|
||||||
|
|
||||||
if (list.Count > 0)
|
if (list.Count > 0)
|
||||||
{
|
{
|
||||||
@@ -343,7 +343,7 @@ namespace YhCore.Service.Impl
|
|||||||
|
|
||||||
public async Task<string> EditBSHTeaAsync(string schSerId, string userId, decimal shRoleId, List<WY_SHRole_BSHTea> listBSHTea)
|
public async Task<string> EditBSHTeaAsync(string schSerId, string userId, decimal shRoleId, List<WY_SHRole_BSHTea> listBSHTea)
|
||||||
{
|
{
|
||||||
var list = await _bshTea.FindAsync(a => a.SchSerID == schSerId && a.SHRoleID == shRoleId);
|
var list = await _bshTea.FindTrackedAsync(a => a.SchSerID == schSerId && a.SHRoleID == shRoleId);
|
||||||
|
|
||||||
if (list.Count > 0)
|
if (list.Count > 0)
|
||||||
{
|
{
|
||||||
@@ -486,7 +486,7 @@ namespace YhCore.Service.Impl
|
|||||||
if (dup.Count > 1)
|
if (dup.Count > 1)
|
||||||
throw new DException("流程名不能重名!");
|
throw new DException("流程名不能重名!");
|
||||||
|
|
||||||
var list = await _flowinfo.FindAsync(a => a.SerID == model.SerID);
|
var list = await _flowinfo.FindTrackedAsync(a => a.SerID == model.SerID);
|
||||||
if (list.Count > 0)
|
if (list.Count > 0)
|
||||||
{
|
{
|
||||||
var info = list[0];
|
var info = list[0];
|
||||||
@@ -547,12 +547,12 @@ namespace YhCore.Service.Impl
|
|||||||
|
|
||||||
public async Task<string> StepDeleteAsync(List<int> ids)
|
public async Task<string> StepDeleteAsync(List<int> ids)
|
||||||
{
|
{
|
||||||
var list = await _flowstep.FindAsync(a => ids.Contains(a.SerID));
|
var list = await _flowstep.FindTrackedAsync(a => ids.Contains(a.SerID));
|
||||||
if (list.Count > 0)
|
if (list.Count > 0)
|
||||||
{
|
{
|
||||||
foreach (var item in list)
|
foreach (var item in list)
|
||||||
{
|
{
|
||||||
var listrole = await _groupSHRole.FindAsync(a => a.usergroup == item.SerID);
|
var listrole = await _groupSHRole.FindTrackedAsync(a => a.usergroup == item.SerID);
|
||||||
if (listrole.Count > 0)
|
if (listrole.Count > 0)
|
||||||
{
|
{
|
||||||
foreach (var r in listrole)
|
foreach (var r in listrole)
|
||||||
@@ -572,7 +572,7 @@ namespace YhCore.Service.Impl
|
|||||||
if (list.Count > 0)
|
if (list.Count > 0)
|
||||||
throw new DException("同一个流程中有相同步骤名称,更新失败!");
|
throw new DException("同一个流程中有相同步骤名称,更新失败!");
|
||||||
|
|
||||||
var list2 = await _flowstep.FindAsync(a => a.SerID == serId);
|
var list2 = await _flowstep.FindTrackedAsync(a => a.SerID == serId);
|
||||||
if (list2.Count > 0)
|
if (list2.Count > 0)
|
||||||
{
|
{
|
||||||
list2[0].StepName = stepName;
|
list2[0].StepName = stepName;
|
||||||
@@ -620,7 +620,7 @@ namespace YhCore.Service.Impl
|
|||||||
if (list.Count <= 1)
|
if (list.Count <= 1)
|
||||||
throw new DException("至少要有一个审核角色,删除失败!");
|
throw new DException("至少要有一个审核角色,删除失败!");
|
||||||
|
|
||||||
var list2 = await _groupSHRole.FindAsync(a => a.usergroup == stepid && a.SHRoleid == shRoleid);
|
var list2 = await _groupSHRole.FindTrackedAsync(a => a.usergroup == stepid && a.SHRoleid == shRoleid);
|
||||||
foreach (var item in list2)
|
foreach (var item in list2)
|
||||||
await _groupSHRole.RemoveAsync(item);
|
await _groupSHRole.RemoveAsync(item);
|
||||||
await _groupSHRole.SaveChangesAsync();
|
await _groupSHRole.SaveChangesAsync();
|
||||||
@@ -942,7 +942,7 @@ namespace YhCore.Service.Impl
|
|||||||
var listggall = await _dic.FindAsync(a =>
|
var listggall = await _dic.FindAsync(a =>
|
||||||
(a.Schserid == schSerId || a.Schserid == null) && listYZFLID.Contains(a.typeID));
|
(a.Schserid == schSerId || a.Schserid == null) && listYZFLID.Contains(a.typeID));
|
||||||
|
|
||||||
var list = await _docNum.FindAsync(a => a.DocPrintID == docPrintID);
|
var list = await _docNum.FindTrackedAsync(a => a.DocPrintID == docPrintID);
|
||||||
|
|
||||||
foreach (var item in data)
|
foreach (var item in data)
|
||||||
{
|
{
|
||||||
@@ -1018,7 +1018,7 @@ namespace YhCore.Service.Impl
|
|||||||
{
|
{
|
||||||
if (data == null) return;
|
if (data == null) return;
|
||||||
|
|
||||||
var list = await _docSH.FindAsync(a => a.DocPrintSerID == docPrintID && a.flowSerID == data.SerID);
|
var list = await _docSH.FindTrackedAsync(a => a.DocPrintSerID == docPrintID && a.flowSerID == data.SerID);
|
||||||
if (list.Count > 0)
|
if (list.Count > 0)
|
||||||
{
|
{
|
||||||
foreach (var item in list)
|
foreach (var item in list)
|
||||||
@@ -1715,10 +1715,10 @@ namespace YhCore.Service.Impl
|
|||||||
var liststepByUser = (await _docSH.FindAsync(a =>
|
var liststepByUser = (await _docSH.FindAsync(a =>
|
||||||
a.DocPrintSerID == dataid && a.stepSerID == model.stepid && a.flowSerID == flowid)).ToList();
|
a.DocPrintSerID == dataid && a.stepSerID == model.stepid && a.flowSerID == flowid)).ToList();
|
||||||
|
|
||||||
var listSH = (await _flowtranct.FindAsync(a =>
|
var listSH = (await _flowtranct.FindTrackedAsync(a =>
|
||||||
a.dataid == model.dataid && a.Pid == model.Pid && a.stepid == model.stepid)).ToList();
|
a.dataid == model.dataid && a.Pid == model.Pid && a.stepid == model.stepid)).ToList();
|
||||||
|
|
||||||
var listDoc = await _doc.FindAsync(a => a.SerID == dataid);
|
var listDoc = await _doc.FindTrackedAsync(a => a.SerID == dataid);
|
||||||
|
|
||||||
var liststepByUserall = (await _docSH.FindAsync(a =>
|
var liststepByUserall = (await _docSH.FindAsync(a =>
|
||||||
a.DocPrintSerID == dataid && a.flowSerID == flowid)).ToList();
|
a.DocPrintSerID == dataid && a.flowSerID == flowid)).ToList();
|
||||||
@@ -2022,7 +2022,7 @@ namespace YhCore.Service.Impl
|
|||||||
|
|
||||||
public async Task<string> TuiHuiAsync(string userId, string cont, decimal docId)
|
public async Task<string> TuiHuiAsync(string userId, string cont, decimal docId)
|
||||||
{
|
{
|
||||||
var list = await _doc.FindAsync(a => a.SerID == docId);
|
var list = await _doc.FindTrackedAsync(a => a.SerID == docId);
|
||||||
if (list.Count == 0)
|
if (list.Count == 0)
|
||||||
throw new DException("退回失败!");
|
throw new DException("退回失败!");
|
||||||
|
|
||||||
@@ -2038,7 +2038,7 @@ namespace YhCore.Service.Impl
|
|||||||
|
|
||||||
public async Task<string> UnTuiHuiAsync(string userId, decimal docId)
|
public async Task<string> UnTuiHuiAsync(string userId, decimal docId)
|
||||||
{
|
{
|
||||||
var list = await _doc.FindAsync(a => a.SerID == docId);
|
var list = await _doc.FindTrackedAsync(a => a.SerID == docId);
|
||||||
if (list.Count == 0)
|
if (list.Count == 0)
|
||||||
throw new DException("撤销退回失败!");
|
throw new DException("撤销退回失败!");
|
||||||
|
|
||||||
@@ -2067,8 +2067,8 @@ namespace YhCore.Service.Impl
|
|||||||
|
|
||||||
var listdec = listDocPrintId.Select(d => (decimal?)d).ToList();
|
var listdec = listDocPrintId.Select(d => (decimal?)d).ToList();
|
||||||
|
|
||||||
var listdoc = await _doc.FindAsync(a => listDocPrintId.Contains(a.SerID));
|
var listdoc = await _doc.FindTrackedAsync(a => listDocPrintId.Contains(a.SerID));
|
||||||
var listdocnum = await _docNum.FindAsync(a => listdec.Contains(a.DocPrintID));
|
var listdocnum = await _docNum.FindTrackedAsync(a => listdec.Contains(a.DocPrintID));
|
||||||
|
|
||||||
DateTime dtnow = DateTime.Now;
|
DateTime dtnow = DateTime.Now;
|
||||||
foreach (var item in listdoc)
|
foreach (var item in listdoc)
|
||||||
@@ -2281,7 +2281,7 @@ namespace YhCore.Service.Impl
|
|||||||
|
|
||||||
public async Task<int> SetDownFileTimesAsync(int serId)
|
public async Task<int> SetDownFileTimesAsync(int serId)
|
||||||
{
|
{
|
||||||
var list = await _upfiles.FindAsync(a => a.SerID == serId);
|
var list = await _upfiles.FindTrackedAsync(a => a.SerID == serId);
|
||||||
if (list.Count == 0)
|
if (list.Count == 0)
|
||||||
throw new DException("记录下载次数失败!");
|
throw new DException("记录下载次数失败!");
|
||||||
|
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ namespace YhCore.Tasks.Jobs
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var oldList = await repo.FindAsync(l => l.CreateTime < cutoff);
|
var oldList = await repo.FindTrackedAsync(l => l.CreateTime < cutoff);
|
||||||
if (oldList.Count == 0)
|
if (oldList.Count == 0)
|
||||||
{
|
{
|
||||||
logger.LogInformation("审计日志清理完成:无 30 天前的数据");
|
logger.LogInformation("审计日志清理完成:无 30 天前的数据");
|
||||||
|
|||||||
Reference in New Issue
Block a user