设备档案

This commit is contained in:
2023-05-31 17:10:15 +08:00
parent f325b10516
commit 52a16b0228
30 changed files with 801 additions and 3 deletions

View File

@@ -1,12 +1,14 @@
using JNPF.Common.Core.Manager;
using JNPF.Common.Dtos.VisualDev;
using JNPF.Common.Enums;
using JNPF.Common.Filter;
using JNPF.Common.Models;
using JNPF.DependencyInjection;
using JNPF.DynamicApiController;
using JNPF.FriendlyException;
using JNPF.Logging;
using JNPF.Systems.Common;
using JNPF.Systems.Entitys.Permission;
using JNPF.Systems.Interfaces.Common;
using JNPF.VisualDev;
using JNPF.VisualDev.Entitys;
@@ -56,7 +58,8 @@ namespace Tnb.EquipMgr
equip_id = equip_id,
create_id = _userManager.UserId,
create_time = DateTime.Now,
attachment = JsonConvert.SerializeObject(attachment)
attachment = JsonConvert.SerializeObject(attachment),
org_id = _userManager.GetUserInfo().Result.organizeId,
};
await _repository.InsertAsync(eqpEquipFile);
@@ -71,5 +74,35 @@ namespace Tnb.EquipMgr
return msg;
}
[HttpPost]
public async Task<dynamic> GetEquipFileList(EquipQueryInput input)
{
var db = _repository.AsSugarClient();
Dictionary<string, string> queryJson = new Dictionary<string, string>();
if (!string.IsNullOrEmpty(input.queryJson))
{
queryJson = JsonConvert.DeserializeObject<Dictionary<string, string>>(input.queryJson);
}
var result = await db.Queryable<EqpEquipFile>()
.LeftJoin<UserEntity >((a, b) => a.create_id == b.Id)
.LeftJoin<UserEntity >((a, b,c) => a.modify_id == c.Id)
.LeftJoin<EqpEquipment >((a, b,c,d) => a.equip_id == d.id)
.Where((a,b,c,d)=>a.equip_id==input.equip_id)
.WhereIF(queryJson.ContainsKey("file_name"),(a,b,c,d)=>a.file_name.Contains(queryJson["file_name"]))
.Select((a, b, c,d) => new EquipFileQueryOutput
{
id = a.id,
attachment = a.attachment,
create_id = b.RealName,
create_id_id = a.create_id,
create_time = a.create_time.Value.ToString("yyyy-MM-dd"),
equip_id=d.name,
equip_id_id= a.equip_id,
file_name=a.file_name,
}).ToPagedListAsync(input.currentPage, input.pageSize);
return PageResult<EquipFileQueryOutput>.SqlSugarPageResult(result);
}
}
}

View File

@@ -0,0 +1,85 @@
using JNPF.Common.Core.Manager;
using JNPF.Common.Filter;
using JNPF.Common.Security;
using JNPF.DependencyInjection;
using JNPF.DynamicApiController;
using JNPF.Systems.Entitys.Permission;
using JNPF.Systems.Entitys.System;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using SqlSugar;
using Tnb.EquipMgr.Entities;
using Tnb.EquipMgr.Entities.Dto;
using Tnb.EquipMgr.Interfaces;
namespace Tnb.EquipMgr
{
/// 设备备品备件
/// </summary>
[ApiDescriptionSettings(Tag = ModuleConsts.Tag, Area = ModuleConsts.Area, Order = 700)]
[Route("api/[area]/[controller]/[action]")]
public class EqpEquipSparePartsService : IEqpEquipSparePartsService, IDynamicApiController, ITransient
{
private readonly ISqlSugarRepository<EqpEquipSpareParts> _repository;
private readonly IUserManager _userManager;
public EqpEquipSparePartsService(ISqlSugarRepository<EqpEquipSpareParts> repository, IUserManager userManager)
{
_userManager = userManager;
_repository = repository;
}
[HttpPost]
public async Task AddEquipSpareParts(EquipSparePartsInput input)
{
List<EqpEquipSpareParts> oldList = await _repository.GetListAsync(x => x.equip_id == input.equip_id);
List<EqpEquipSpareParts> list = new List<EqpEquipSpareParts>();
string orgId = _userManager.GetUserInfo().Result.organizeId;
foreach (var spare_parts_id in input.spare_parts_ids)
{
if (oldList.Any(x => x.spare_parts_id == spare_parts_id))
continue;
list.Add(new EqpEquipSpareParts()
{
id = SnowflakeIdHelper.NextId(),
equip_id = input.equip_id,
spare_parts_id = spare_parts_id,
create_id = _userManager.UserId,
create_time = DateTime.Now,
org_id = orgId,
});
}
await _repository.InsertRangeAsync(list);
}
[HttpPost]
public async Task<dynamic> GetEquipSparePartsList(EquipQueryInput input)
{
var db = _repository.AsSugarClient();
Dictionary<string, string> queryJson = new Dictionary<string, string>();
if (!string.IsNullOrEmpty(input.queryJson))
{
queryJson = JsonConvert.DeserializeObject<Dictionary<string, string>>(input.queryJson);
}
var result = await db.Queryable<EqpEquipSpareParts>()
.LeftJoin<EqpSpareParts>((a,b)=>a.spare_parts_id==b.id)
.LeftJoin<DictionaryTypeEntity>((a, b, c) => c.EnCode == Tnb.BasicData.DictConst.SparePartsType && c.DeleteMark == null)
.LeftJoin<DictionaryDataEntity>((a, b,c,d) => d.DictionaryTypeId == c.Id && b.type_id == d.EnCode)
.Where((a,b,c,d)=>a.equip_id==input.equip_id)
.WhereIF(queryJson.ContainsKey("code"),(a,b,c,d)=>b.code.Contains(queryJson["code"]))
.WhereIF(queryJson.ContainsKey("name"),(a,b,c,d)=>b.name.Contains(queryJson["name"]))
.Select((a, b, c,d) => new EquipSparePartsQueryOutput
{
id = a.id,
type_code = d.EnCode,
type_name = d.FullName,
code = b.code,
name = b.name,
specification = b.specification
}).ToPagedListAsync(input.currentPage, input.pageSize);
return PageResult<EquipSparePartsQueryOutput>.SqlSugarPageResult(result);
}
}
}

View File

@@ -1,10 +1,13 @@
using JNPF.Common.Core.Manager;
using JNPF.Common.Enums;
using JNPF.Common.Filter;
using JNPF.Common.Security;
using JNPF.DependencyInjection;
using JNPF.DynamicApiController;
using JNPF.FriendlyException;
using JNPF.Systems.Entitys.Permission;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using SqlSugar;
using Tnb.EquipMgr.Entities;
using Tnb.EquipMgr.Entities.Dto;
@@ -129,5 +132,35 @@ namespace Tnb.EquipMgr
eqpRepairOutApply = eqpRepairOutApply,
};
}
[HttpPost]
public async Task<dynamic> GetRepairRecordList(EquipQueryInput input)
{
var db = _repository.AsSugarClient();
Dictionary<string, string> queryJson = new Dictionary<string, string>();
if (!string.IsNullOrEmpty(input.queryJson))
{
queryJson = JsonConvert.DeserializeObject<Dictionary<string, string>>(input.queryJson);
}
var result = await db.Queryable<EqpRepairApply>()
.LeftJoin<UserEntity>((a,b)=>a.apply_user_id==b.Id)
.LeftJoin<UserEntity>((a,b,c)=>a.repairer_id==c.Id)
.Where(a=>a.equip_id==input.equip_id)
.Select((a,b,c) => new EquipRepairRecordQueryOutput
{
id = a.id,
equip_id = a.equip_id,
code = a.code,
name = a.name,
apply_user_id =b.RealName,
is_ugent = a.is_ugent==1 ? "是" : "否",
description = a.description,
repair_description = a.repair_description,
complete_time = a.complete_time.Value.ToString("yyyy-MM-dd HH:mm"),
repairer_id = c.RealName
}).ToPagedListAsync(input.currentPage, input.pageSize);
return PageResult<EquipRepairRecordQueryOutput>.SqlSugarPageResult(result);
}
}
}

View File

@@ -100,7 +100,6 @@ namespace Tnb.EquipMgr
if(!result.IsSuccess) throw Oops.Oh(ErrorCode.COM1008);
//todo 退回流程
if (result.IsSuccess)
{
if (string.IsNullOrEmpty(input.id))

View File

@@ -0,0 +1,67 @@
using JNPF.Common.Core.Manager;
using JNPF.Common.Filter;
using JNPF.DependencyInjection;
using JNPF.DynamicApiController;
using JNPF.Systems.Entitys.Permission;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using SqlSugar;
using Tnb.EquipMgr.Entities;
using Tnb.EquipMgr.Entities.Dto;
using Tnb.EquipMgr.Interfaces;
namespace Tnb.EquipMgr
{
/// <summary>
/// 设备保养计划执行管理
/// </summary>
[ApiDescriptionSettings(Tag = ModuleConsts.Tag, Area = ModuleConsts.Area, Order = 700)]
[Route("api/[area]/[controller]/[action]")]
public class EqpSubEquipService : IEqpSubEquipService, IDynamicApiController, ITransient
{
private readonly ISqlSugarRepository<EqpSubEquip> _repository;
private readonly IUserManager _userManager;
public EqpSubEquipService(ISqlSugarRepository<EqpSubEquip> repository,
IUserManager userManager)
{
_repository = repository;
_userManager = userManager;
}
[HttpPost]
public async Task<dynamic> GetSubEquipList(EquipQueryInput input)
{
var db = _repository.AsSugarClient();
Dictionary<string, string> queryJson = new Dictionary<string, string>();
if (!string.IsNullOrEmpty(input.queryJson))
{
queryJson = JsonConvert.DeserializeObject<Dictionary<string, string>>(input.queryJson);
}
var result = await db.Queryable<EqpSubEquip>()
.LeftJoin<UserEntity >((a, b) => a.create_id == b.Id)
.LeftJoin<UserEntity >((a, b,c) => a.modify_id == c.Id)
.LeftJoin<EqpEquipment >((a, b,c,d) => a.equip_id == d.id)
.Where((a,b,c,d)=>a.equip_id==input.equip_id)
.WhereIF(queryJson.ContainsKey("code"),(a,b,c,d)=>a.code.Contains(queryJson["code"]))
.WhereIF(queryJson.ContainsKey("name"),(a,b,c,d)=>a.name.Contains(queryJson["name"]))
.Select((a, b, c,d) => new SubEquipQueryOutput
{
id = a.id,
create_id = b.RealName,
create_id_id = a.create_id,
create_time = a.create_time.Value.ToString("yyyy-MM-dd"),
equip_id=d.name,
equip_id_id= a.equip_id,
code = a.code,
modify_id = c.RealName,
modify_time = a.modify_time.Value.ToString("yyyy-MM-dd"),
name = a.name,
org_id = a.org_id,
specification = a.specification,
}).ToPagedListAsync(input.currentPage, input.pageSize);
return PageResult<SubEquipQueryOutput>.SqlSugarPageResult(result);
}
}
}

View File

@@ -0,0 +1,52 @@
using JNPF.Common.Core.Manager;
using JNPF.Common.Filter;
using JNPF.DependencyInjection;
using JNPF.DynamicApiController;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using SqlSugar;
using Tnb.EquipMgr.Entities;
using Tnb.EquipMgr.Entities.Dto;
using Tnb.EquipMgr.Interfaces;
namespace Tnb.EquipMgr
{
/// 设备备品备件
/// </summary>
[ApiDescriptionSettings(Tag = ModuleConsts.Tag, Area = ModuleConsts.Area, Order = 700)]
[Route("api/[area]/[controller]/[action]")]
public class EqpTechnologyParameterService : IEqpTechnologyParameterService, IDynamicApiController, ITransient
{
private readonly ISqlSugarRepository<EqpTechnologyParameter> _repository;
private readonly IUserManager _userManager;
public EqpTechnologyParameterService(ISqlSugarRepository<EqpTechnologyParameter> repository, IUserManager userManager)
{
_userManager = userManager;
_repository = repository;
}
[HttpPost]
public async Task<dynamic> GetEquipTechnologyParameterList(EquipQueryInput input)
{
var db = _repository.AsSugarClient();
Dictionary<string, string> queryJson = new Dictionary<string, string>();
if (!string.IsNullOrEmpty(input.queryJson))
{
queryJson = JsonConvert.DeserializeObject<Dictionary<string, string>>(input.queryJson);
}
var result = await db.Queryable<EqpTechnologyParameter>()
.Where(a=>a.equip_id==input.equip_id)
.WhereIF(queryJson.ContainsKey("name"),a=>a.name.Contains(queryJson["name"]))
.Select(a => new EquipTechnologyParameterQueryOutput
{
id = a.id,
name = a.name,
definition = a.definition,
remark = a.remark
}).ToPagedListAsync(input.currentPage, input.pageSize);
return PageResult<EquipTechnologyParameterQueryOutput>.SqlSugarPageResult(result);
}
}
}

View File

@@ -1,9 +1,11 @@
using JNPF.Common.Core.Manager;
using JNPF.Common.Dtos.VisualDev;
using JNPF.Common.Enums;
using JNPF.Common.Filter;
using JNPF.DependencyInjection;
using JNPF.DynamicApiController;
using JNPF.FriendlyException;
using JNPF.Systems.Entitys.Permission;
using JNPF.VisualDev;
using JNPF.VisualDev.Entitys;
using JNPF.VisualDev.Interfaces;
@@ -142,5 +144,41 @@ namespace Tnb.EquipMgr
if(!result.IsSuccess) throw Oops.Oh(ErrorCode.COM1008);
return result.IsSuccess ? "复核成功" : result.ErrorMessage;
}
[HttpPost]
public async Task<dynamic> GetMaintainRecordList(EquipQueryInput input)
{
var db = _repository.AsSugarClient();
Dictionary<string, string> queryJson = new Dictionary<string, string>();
if (!string.IsNullOrEmpty(input.queryJson))
{
queryJson = JsonConvert.DeserializeObject<Dictionary<string, string>>(input.queryJson);
}
var result = await db.Queryable<EqpMaintainRecordH>()
.LeftJoin<EqpEquipment>((a,b)=>a.equip_id==b.id)
.LeftJoin<UserEntity>((a,b,c)=>a.execute_user_id==c.Id)
.LeftJoin<UserEntity>((a,b,c,d)=>a.repeat_user_id==d.Id)
.Where(a=>a.equip_id==input.equip_id)
.Select((a,b,c,d) => new EquipMaintainRecordQueryOutput
{
id = a.id,
attachment = a.attachment,
create_time = a.create_time.Value.ToString("yyyy-MM-dd HH:mm"),
equip_id = b.code,
equip_id_id = a.equip_id,
repeat_remark = a.repeat_remark,
repeat_result = a.repeat_result=="1"?"合格":"不合格",
repeat_time = a.repeat_time.Value.ToString("yyyy-MM-dd HH:mm"),
repeat_user_id = d.RealName,
result = a.result=="1"?"合格":"不合格",
result_remark = a.result_remark,
maintain_tem_equip_id = a.maintain_tem_equip_id,
execute_time = a.execute_time.Value.ToString("yyyy-MM-dd HH:mm"),
execute_user_id = c.RealName,
status = SqlFunc.IF(a.status.Equals("1")).Return("待执行").ElseIF(a.status.Equals("2")).Return("待复核").ElseIF(a.status.Equals("3")).Return("已完成").End("")
}).ToPagedListAsync(input.currentPage, input.pageSize);
return PageResult<EquipMaintainRecordQueryOutput>.SqlSugarPageResult(result);
}
}
}

View File

@@ -1,9 +1,11 @@
using JNPF.Common.Core.Manager;
using JNPF.Common.Dtos.VisualDev;
using JNPF.Common.Enums;
using JNPF.Common.Filter;
using JNPF.DependencyInjection;
using JNPF.DynamicApiController;
using JNPF.FriendlyException;
using JNPF.Systems.Entitys.Permission;
using JNPF.VisualDev;
using JNPF.VisualDev.Entitys;
using JNPF.VisualDev.Interfaces;
@@ -126,5 +128,38 @@ namespace Tnb.EquipMgr
status = SpotInsRecordExecutionStatus.COMPLETED
}, x => x.id == input.id);
}
[HttpPost]
public async Task<dynamic> GetSpotInsRecordList(EquipQueryInput input)
{
var db = _repository.AsSugarClient();
Dictionary<string, string> queryJson = new Dictionary<string, string>();
if (!string.IsNullOrEmpty(input.queryJson))
{
queryJson = JsonConvert.DeserializeObject<Dictionary<string, string>>(input.queryJson);
}
var result = await db.Queryable<EqpSpotInsRecordH>()
.LeftJoin<UserEntity>((a,b)=>a.repeat_user_id==b.Id)
.Where(a=>a.equip_id==input.equip_id)
.Select((a,b) => new EquipSpotInsRecordQueryOutput
{
id = a.id,
attachment = a.attachment,
create_time = a.create_time.Value.ToString("yyyy-MM-dd HH:mm"),
equip_id = a.equip_id,
repeat_remark = a.repeat_remark,
repeat_result = a.repeat_result=="1"?"合格":"不合格",
repeat_time = a.repeat_time.Value.ToString("yyyy-MM-dd HH:mm"),
repeat_user_id = b.RealName,
result = a.result=="1"?"合格":"不合格",
result_remark = a.result_remark,
spot_ins_tem_equip_id = a.spot_ins_tem_equip_id,
spot_record_date_time = a.spot_record_date_time.Value.ToString("yyyy-MM-dd HH:mm"),
spot_record_user_id = a.spot_record_user_id,
status = SqlFunc.IF(a.status.Equals("1")).Return("待执行").ElseIF(a.status.Equals("2")).Return("待复核").ElseIF(a.status.Equals("3")).Return("已完成").End("")
}).ToPagedListAsync(input.currentPage, input.pageSize);
return PageResult<EquipSpotInsRecordQueryOutput>.SqlSugarPageResult(result);
}
}
}