重写设备列表接口

This commit is contained in:
2023-11-17 10:35:51 +08:00
parent 9915cbd4f9
commit 48f390cdb7
4 changed files with 316 additions and 4 deletions

View File

@@ -6,6 +6,7 @@ using JNPF.DynamicApiController;
using JNPF.Extras.CollectiveOAuth.Models;
using JNPF.FriendlyException;
using JNPF.Systems.Entitys.Permission;
using JNPF.Systems.Entitys.System;
using JNPF.VisualDev;
using JNPF.VisualDev.Entitys;
using JNPF.VisualDev.Entitys.Dto.VisualDevModelData;
@@ -50,7 +51,88 @@ namespace Tnb.EquipMgr
_userManager = userManager;
OverideFuncs.CreateAsync = Create;
OverideFuncs.UpdateAsync = Update;
OverideFuncs.GetListAsync = PageList;
}
private async Task<object> PageList(VisualDevModelListQueryInput input)
{
Dictionary<string, string>? queryJson = !string.IsNullOrEmpty(input.queryJson) ? Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string, string>>(input.queryJson) : new Dictionary<string, string>();
string equip_type_id = queryJson.ContainsKey("equip_type_id") ? queryJson["equip_type_id"].ToString() : "";
string code = queryJson.ContainsKey("code") ? queryJson["code"].ToString() : "";
string name = queryJson.ContainsKey("name") ? queryJson["name"].ToString() : "";
string contract_no = queryJson.ContainsKey("contract_no") ? queryJson["contract_no"].ToString() : "";
var result = await _repository.AsSugarClient().Queryable<EqpEquipment, OrganizeEntity,OrganizeEntity,UserEntity,UserEntity,BasSupplier,UserEntity,BasLocation,DictionaryTypeEntity,DictionaryDataEntity>((a, b,c,d,e,f,g,h,i,j) =>
new JoinQueryInfos(
JoinType.Left, a.use_department_id == b.Id,
JoinType.Left, a.manage_department_id == c.Id,
JoinType.Left, a.create_id == d.Id,
JoinType.Left, a.modify_id == e.Id,
JoinType.Left, a.supplier_id == f.id,
JoinType.Left, a.responsibler_id == g.Id,
JoinType.Left, a.as_location_id == h.id,
JoinType.Left, i.EnCode==DictConst.EquipmentLife,
JoinType.Left, i.Id==j.DictionaryTypeId && a.life==j.EnCode
))
.WhereIF(!string.IsNullOrEmpty(equip_type_id),a=>a.equip_type_id==equip_type_id)
.WhereIF(!string.IsNullOrEmpty(code),a=>a.code.Contains(code))
.WhereIF(!string.IsNullOrEmpty(name),a=>a.name.Contains(name))
.WhereIF(!string.IsNullOrEmpty(contract_no),a=>a.contract_no.Contains(contract_no))
.Select((a, b,c,d,e,f,g,h,i,j) => new EquipListOuput()
{
id = a.id,
org_id = a.org_id,
code = a.code ,
name = a.name ,
equip_type_id = a.equip_type_id ,
product_date = a.product_date,
manufacturer = a.manufacturer,
use_department_id = b.FullName,
use_department_id_id = a.use_department_id,
install_date = a.install_date ,
use_date = a.use_date,
accept_date = a.accept_date,
manage_department_id = c.FullName,
manage_department_id_id = a.manage_department_id,
life = j.FullName,
techno_logy_code = a.techno_logy_code,
remark = a.remark ,
timestamp = a.timestamp,
create_id = d.RealName,
create_id_id = a.create_id,
create_time = a.create_time,
modify_id = e.RealName,
modify_id_id = a.modify_id,
modify_time = a.modify_time,
extras = a.extras,
supplier_id = f.supplier_name,
supplier_id_id = a.supplier_id,
factory_code = a.factory_code,
contract_no = a.contract_no,
maintenance_unit = a.maintenance_unit,
maintenance_phone = a.maintenance_phone,
specification = a.specification,
installation_location = a.installation_location,
is_complete_set = a.is_complete_set=="1" ? "是" : "否",
dcs_id = a.dcs_id,
technology_parameter = a.technology_parameter,
status = a.status,
tonnage = a.tonnage,
eqp_machine_num = a.eqp_machine_num,
mold_id = a.mold_id,
station_code = a.station_code,
warranty_start_time = a.warranty_start_time,
warranty_end_time = a.warranty_end_time,
responsibler_id = g.RealName,
responsibler_id_id = a.responsibler_id,
qrcode = a.qrcode,
as_location_id = h.location_name,
as_location_id_id = a.as_location_id,
}).ToPagedListAsync(input.currentPage,input.pageSize);
return PageResult<EquipListOuput>.SqlSugarPageResult(result);
}
/// <summary>
/// 在线开发-获取设备列表
/// </summary>