[後端] 修改需求: history 列表更改api參數, 修改系統監控列表, 增加variable 全域參數
This commit is contained in:
		
							parent
							
								
									441c430948
								
							
						
					
					
						commit
						4956dde967
					
				@ -131,6 +131,113 @@ namespace FrontendWebApi.ApiControllers
 | 
				
			|||||||
            return Ok(apiResult);
 | 
					            return Ok(apiResult);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /// <summary>
 | 
				
			||||||
 | 
					        /// 系統監控列表(改)
 | 
				
			||||||
 | 
					        /// </summary>
 | 
				
			||||||
 | 
					        /// <param name="account"></param>
 | 
				
			||||||
 | 
					        /// <returns></returns>
 | 
				
			||||||
 | 
					        [HttpPost]
 | 
				
			||||||
 | 
					        [Route("api/Device/GetSysMonMainSub")]
 | 
				
			||||||
 | 
					        public async Task<ActionResult<ApiResult<List<History_Building>>>> GetSysMonMainSub([FromBody] FindDevice fd)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            ApiResult<List<History_Building>> apiResult = new ApiResult<List<History_Building>>(jwt_str);
 | 
				
			||||||
 | 
					            if (!jwtlife)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                apiResult.Code = "5000";
 | 
				
			||||||
 | 
					                return BadRequest(apiResult);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            //else if (string.IsNullOrEmpty(fd.building_tag))
 | 
				
			||||||
 | 
					            //{
 | 
				
			||||||
 | 
					            //    apiResult.Code = "0002";
 | 
				
			||||||
 | 
					            //    apiResult.Msg = "必須選擇東別";
 | 
				
			||||||
 | 
					            //    return apiResult;
 | 
				
			||||||
 | 
					            //}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            try
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                var dbsub = await frontendRepository.GetAllAsync<HistoryDBMainSub>(
 | 
				
			||||||
 | 
					                    @$"select distinct build.full_name as building_name, d.device_building_tag, v1.system_key main_name, v1.system_value main_system_tag, v2.system_key sub_name,
 | 
				
			||||||
 | 
					                                v2.system_value sub_system_tag, v1.system_priority, v2.system_priority,
 | 
				
			||||||
 | 
					                                dk.device_normal_color, dk.device_close_color, dk.device_error_color,dk.device_normal_flashing, dk.device_close_flashing, dk.device_error_flashing,
 | 
				
			||||||
 | 
					                                dk.device_normal_text, dk.device_close_text, dk.device_error_text,dk.device_normal_point_name, dk.device_close_point_name, dk.device_error_point_name,
 | 
				
			||||||
 | 
					                                dk.device_normal_point_value, dk.device_close_point_value, dk.device_error_point_value
 | 
				
			||||||
 | 
					                                -- di.full_name as device_item_name, di.points as device_item_points, di.unit as device_item_unit, di.is_show_riserDiagram as device_item_is_show_riserDiagram,
 | 
				
			||||||
 | 
					                                -- di.is_controll as device_item_is_controll, di.is_bool as device_item_is_bool, di.is_link as device_item_is_link
 | 
				
			||||||
 | 
					                        from role_auth a
 | 
				
			||||||
 | 
					                        join auth_page b on a.AuthCode = b.AuthCode
 | 
				
			||||||
 | 
					                        join userinfo c on c.role_guid = a.role_guid
 | 
				
			||||||
 | 
					                        join variable v2 on b.ShowView = v2.id and v2.system_type = @sub_system_type
 | 
				
			||||||
 | 
					                        join variable v1 on v1.id = v2.system_parent_id and v1.system_type = @main_system_type
 | 
				
			||||||
 | 
					                        join device d on v1.system_value = d.device_system_tag and v2.system_value = d.device_name_tag and d.deleted = 0
 | 
				
			||||||
 | 
					                        left join device_kind dk on v1.system_value = dk.device_system_tag and v2.system_value = dk.device_name_tag and dk.device_building_tag = d.device_building_tag
 | 
				
			||||||
 | 
					                        left join building build on d.device_building_tag = build.building_tag and build.deleted = 0
 | 
				
			||||||
 | 
					                        -- left join device_item di on v2.system_value = di.device_name_tag and v1.system_value = di.device_system_tag and di.deleted = 0
 | 
				
			||||||
 | 
					                        join (
 | 
				
			||||||
 | 
					                            select distinct main_system_tag, sub_system_tag from building_menu where is_link = 1
 | 
				
			||||||
 | 
					                        ) as bm on v2.system_value = bm.sub_system_tag and v1.system_value = bm.main_system_tag
 | 
				
			||||||
 | 
					                        where c.account = @account
 | 
				
			||||||
 | 
					                        order by  v2.system_priority", new { @account = myUser.account, @sub_system_type = sub_system_type, @main_system_type = main_system_type });
 | 
				
			||||||
 | 
					                var building = dbsub.GroupBy(x => x.device_building_tag).ToList();
 | 
				
			||||||
 | 
					                apiResult.Data = new List<History_Building>();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                foreach (var b in building)
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    History_Building history_Building = new History_Building();
 | 
				
			||||||
 | 
					                    history_Building.building_tag = b.Select(x => x.device_building_tag).FirstOrDefault();
 | 
				
			||||||
 | 
					                    history_Building.building_name = b.Select(x => x.building_name).FirstOrDefault();
 | 
				
			||||||
 | 
					                    history_Building.history_Main_Systems = new List<History_Main_system>();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    var mains = dbsub.Where(a => a.device_building_tag == history_Building.building_tag).ToList();
 | 
				
			||||||
 | 
					                    foreach (var main in mains)
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        History_Main_system history_Main_System = new History_Main_system();
 | 
				
			||||||
 | 
					                        history_Main_System.main_system_tag = main.main_system_tag;
 | 
				
			||||||
 | 
					                        history_Main_System.full_name = main.main_name;
 | 
				
			||||||
 | 
					                        history_Main_System.History_Sub_systems = new List<History_Sub_system>();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                        var subs = dbsub.Where(x => x.main_system_tag == main.main_system_tag).ToList();
 | 
				
			||||||
 | 
					                        foreach (var sub in subs)
 | 
				
			||||||
 | 
					                        {
 | 
				
			||||||
 | 
					                            History_Sub_system history_Sub_System = new History_Sub_system();
 | 
				
			||||||
 | 
					                            history_Sub_System.sub_system_tag = sub.sub_system_tag;
 | 
				
			||||||
 | 
					                            history_Sub_System.full_name = sub.sub_name;
 | 
				
			||||||
 | 
					                            history_Sub_System.device_normal_color = sub.device_normal_color;
 | 
				
			||||||
 | 
					                            history_Sub_System.device_close_color = sub.device_close_color;
 | 
				
			||||||
 | 
					                            history_Sub_System.device_error_color = sub.device_error_color;
 | 
				
			||||||
 | 
					                            history_Sub_System.device_normal_flashing = sub.device_normal_flashing;
 | 
				
			||||||
 | 
					                            history_Sub_System.device_close_flashing = sub.device_close_flashing;
 | 
				
			||||||
 | 
					                            history_Sub_System.device_error_flashing = sub.device_error_flashing;
 | 
				
			||||||
 | 
					                            history_Sub_System.device_normal_text = sub.device_normal_text;
 | 
				
			||||||
 | 
					                            history_Sub_System.device_close_text = sub.device_close_text;
 | 
				
			||||||
 | 
					                            history_Sub_System.device_error_text = sub.device_error_text;
 | 
				
			||||||
 | 
					                            history_Sub_System.device_normal_point_name = sub.device_normal_point_name;
 | 
				
			||||||
 | 
					                            history_Sub_System.device_close_point_name = sub.device_close_point_name;
 | 
				
			||||||
 | 
					                            history_Sub_System.device_error_point_name = sub.device_error_point_name;
 | 
				
			||||||
 | 
					                            history_Sub_System.device_normal_point_value = sub.device_normal_point_value;
 | 
				
			||||||
 | 
					                            history_Sub_System.device_close_point_value = sub.device_close_point_value;
 | 
				
			||||||
 | 
					                            history_Sub_System.device_error_point_value = sub.device_error_point_value;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                            history_Main_System.History_Sub_systems.Add(history_Sub_System);
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                        history_Building.history_Main_Systems.Add(history_Main_System);
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    apiResult.Data.Add(history_Building);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                apiResult.Code = "0000";
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            catch (Exception exception)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                apiResult.Code = "9999";
 | 
				
			||||||
 | 
					                apiResult.Msg = "系統內部錯誤,請聯絡管理者。";
 | 
				
			||||||
 | 
					                Logger.LogError("【" + controllerName + "/" + actionName + "】" + exception.Message);
 | 
				
			||||||
 | 
					                return Ok(apiResult);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            return Ok(apiResult);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /// <summary>
 | 
					        /// <summary>
 | 
				
			||||||
        /// 系統監控電錶左右區塊呈現
 | 
					        /// 系統監控電錶左右區塊呈現
 | 
				
			||||||
        /// </summary>
 | 
					        /// </summary>
 | 
				
			||||||
 | 
				
			|||||||
@ -212,11 +212,11 @@ namespace FrontendWebApi.ApiControllers
 | 
				
			|||||||
                        join userinfo c on c.role_guid = a.role_guid
 | 
					                        join userinfo c on c.role_guid = a.role_guid
 | 
				
			||||||
                        join variable v2 on b.ShowView = v2.id and v2.system_type = @sub_system_type
 | 
					                        join variable v2 on b.ShowView = v2.id and v2.system_type = @sub_system_type
 | 
				
			||||||
                        join variable v1 on v1.id = v2.system_parent_id and v1.system_type = @main_system_type
 | 
					                        join variable v1 on v1.id = v2.system_parent_id and v1.system_type = @main_system_type
 | 
				
			||||||
                        join device d on v1.system_value = d.device_system_tag and v2.system_value = d.device_name_tag and d.deleted = 0 and  d.visible = 1 and d.is_link = 1
 | 
					                        join device d on v1.system_value = d.device_system_tag and v2.system_value = d.device_name_tag and d.deleted = 0 and d.visible = 1 and d.is_link = 1 and d.device_building_tag = @building_tag
 | 
				
			||||||
                        join device_item di  on  d.device_system_tag=di.device_system_tag and d.device_name_tag=di.device_name_tag 
 | 
					                        join device_item di  on  d.device_system_tag=di.device_system_tag and d.device_name_tag=di.device_name_tag 
 | 
				
			||||||
                        and di.is_link = 1 and di.is_show_history = 1
 | 
					                        and di.is_link = 1 and di.is_show_history = 1
 | 
				
			||||||
                        where c.account = @account
 | 
					                        where c.account = @account
 | 
				
			||||||
                        order by v1.system_priority, v2.system_priority", new { @account = myUser.account, @sub_system_type = sub_system_type, @main_system_type = main_system_type });
 | 
					                        order by v1.system_priority, v2.system_priority", new { @account = myUser.account, @sub_system_type = sub_system_type, @main_system_type = main_system_type, building_tag = hf.building_tag });
 | 
				
			||||||
                var dbbuilding = await frontendRepository.GetAllAsync<History_Build>(
 | 
					                var dbbuilding = await frontendRepository.GetAllAsync<History_Build>(
 | 
				
			||||||
                    @$"select distinct d.building_tag,d.full_name,d.priority from role_auth a
 | 
					                    @$"select distinct d.building_tag,d.full_name,d.priority from role_auth a
 | 
				
			||||||
                        join auth_page b on a.AuthCode = b.AuthCode
 | 
					                        join auth_page b on a.AuthCode = b.AuthCode
 | 
				
			||||||
 | 
				
			|||||||
@ -1,4 +1,5 @@
 | 
				
			|||||||
using FrontendWebApi.Models;
 | 
					using FrontendWebApi.Models;
 | 
				
			||||||
 | 
					using ICSharpCode.SharpZipLib.Zip;
 | 
				
			||||||
using Microsoft.AspNetCore.Mvc;
 | 
					using Microsoft.AspNetCore.Mvc;
 | 
				
			||||||
using Microsoft.Extensions.Logging;
 | 
					using Microsoft.Extensions.Logging;
 | 
				
			||||||
using MySqlX.XDevAPI;
 | 
					using MySqlX.XDevAPI;
 | 
				
			||||||
@ -11,6 +12,7 @@ using System.Collections.Generic;
 | 
				
			|||||||
using System.IO;
 | 
					using System.IO;
 | 
				
			||||||
using System.Linq;
 | 
					using System.Linq;
 | 
				
			||||||
using System.Threading.Tasks;
 | 
					using System.Threading.Tasks;
 | 
				
			||||||
 | 
					using Ionic.Zip;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace FrontendWebApi.ApiControllers
 | 
					namespace FrontendWebApi.ApiControllers
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
@ -54,12 +56,12 @@ namespace FrontendWebApi.ApiControllers
 | 
				
			|||||||
                apiResult.Msg = "表單類別錯誤";
 | 
					                apiResult.Msg = "表單類別錯誤";
 | 
				
			||||||
                return BadRequest(apiResult);
 | 
					                return BadRequest(apiResult);
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            else if (input.floor_tag.Count == 0)
 | 
					            //else if (input.floor_tag.Count == 0)
 | 
				
			||||||
            {
 | 
					            //{
 | 
				
			||||||
                apiResult.Code = "0000";
 | 
					            //    apiResult.Code = "0000";
 | 
				
			||||||
                apiResult.Data = new List<HydroMeterOutput>() { };
 | 
					            //    apiResult.Data = new List<HydroMeterOutput>() { };
 | 
				
			||||||
                return Ok(apiResult);
 | 
					            //    return Ok(apiResult);
 | 
				
			||||||
            }
 | 
					            //}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            try
 | 
					            try
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
@ -84,13 +86,13 @@ namespace FrontendWebApi.ApiControllers
 | 
				
			|||||||
                else
 | 
					                else
 | 
				
			||||||
                    buildingSql = " and SUBSTRING_INDEX(SUBSTRING_INDEX(device_number, '_', 2), '_', -1) = @building_tag ";
 | 
					                    buildingSql = " and SUBSTRING_INDEX(SUBSTRING_INDEX(device_number, '_', 2), '_', -1) = @building_tag ";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                if (input.floor_tag.Count > 0)
 | 
					                //if (input.floor_tag.Count > 0)
 | 
				
			||||||
                {
 | 
					                //{
 | 
				
			||||||
                    if (tag_quantity == "5")
 | 
					                //    if (tag_quantity == "5")
 | 
				
			||||||
                        sqlWhere = $@" and substring_index(substring_index(device_number, '_', 3), '_', -1) in @floor_tag ";
 | 
					                //        sqlWhere = $@" and substring_index(substring_index(device_number, '_', 3), '_', -1) in @floor_tag ";
 | 
				
			||||||
                    else
 | 
					                //    else
 | 
				
			||||||
                        sqlWhere = $@" and substring_index(substring_index(device_number, '_', 5), '_', -1) in @floor_tag ";
 | 
					                //        sqlWhere = $@" and substring_index(substring_index(device_number, '_', 5), '_', -1) in @floor_tag ";
 | 
				
			||||||
                }
 | 
					                //}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                if (input.tableType == "year")
 | 
					                if (input.tableType == "year")
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
@ -140,7 +142,7 @@ namespace FrontendWebApi.ApiControllers
 | 
				
			|||||||
                            ) aemm on aemm.start_timestamp >= {aemmStaDate} and aemm.end_timestamp < {aemmEndDate} and aemm.device_number = fd.device_number
 | 
					                            ) aemm on aemm.start_timestamp >= {aemmStaDate} and aemm.end_timestamp < {aemmEndDate} and aemm.device_number = fd.device_number
 | 
				
			||||||
                            order by fd.device_number, fd.date";
 | 
					                            order by fd.device_number, fd.date";
 | 
				
			||||||
                var rawData = await backendRepository.GetAllAsync<HydroMeterRawDataOutput>(sql,
 | 
					                var rawData = await backendRepository.GetAllAsync<HydroMeterRawDataOutput>(sql,
 | 
				
			||||||
                                new { startTime = startTime, endtime = endTime, building_tag = input.building_tag, floor_tag = input.floor_tag, dateFormat = dateFormat });
 | 
					                                new { startTime = startTime, endtime = endTime, building_tag = input.building_tag, dateFormat = dateFormat });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                List<HydroMeterOutput> list = new List<HydroMeterOutput>();
 | 
					                List<HydroMeterOutput> list = new List<HydroMeterOutput>();
 | 
				
			||||||
                if (tag_quantity == "5")
 | 
					                if (tag_quantity == "5")
 | 
				
			||||||
@ -406,7 +408,14 @@ namespace FrontendWebApi.ApiControllers
 | 
				
			|||||||
        [Route("api/ExportElectricList")]
 | 
					        [Route("api/ExportElectricList")]
 | 
				
			||||||
        public FileResult OpeExportExcelElec([FromBody] HydroMeterInput input)
 | 
					        public FileResult OpeExportExcelElec([FromBody] HydroMeterInput input)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
 | 
					            input = new HydroMeterInput();
 | 
				
			||||||
 | 
					            input.building_tag = "G6";
 | 
				
			||||||
 | 
					            input.floor_tag = new List<string>();
 | 
				
			||||||
 | 
					            input.startTime = "2023-06";
 | 
				
			||||||
 | 
					            input.tableType = "day";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            var result = this.ElectricList(input).Result.Value.Data.ToList();
 | 
					            var result = this.ElectricList(input).Result.Value.Data.ToList();
 | 
				
			||||||
 | 
					            List<Dictionary<string, byte[]>> docFile = new List<Dictionary<string, byte[]>>();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            var workbook = new XSSFWorkbook();
 | 
					            var workbook = new XSSFWorkbook();
 | 
				
			||||||
            #region excel設定
 | 
					            #region excel設定
 | 
				
			||||||
@ -547,8 +556,23 @@ namespace FrontendWebApi.ApiControllers
 | 
				
			|||||||
            workbook.Write(ms);
 | 
					            workbook.Write(ms);
 | 
				
			||||||
            ms.Flush();
 | 
					            ms.Flush();
 | 
				
			||||||
            ms.Seek(0, SeekOrigin.Begin);
 | 
					            ms.Seek(0, SeekOrigin.Begin);
 | 
				
			||||||
 | 
					            docFile.Add(new Dictionary<string, byte[]>() { { "電表報表", ms.ToArray() } });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            var memoryStream = new MemoryStream();
 | 
				
			||||||
 | 
					            using (Ionic.Zip.ZipFile zip = new Ionic.Zip.ZipFile(System.Text.Encoding.UTF8))
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                foreach(var d in docFile)
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    foreach(var dic in d)
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        zip.AddEntry(dic.Key, dic.Value);
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                zip.Save(memoryStream);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            Response.Headers.Add("Access-Control-Expose-Headers", "Content-Disposition");
 | 
					            Response.Headers.Add("Access-Control-Expose-Headers", "Content-Disposition");
 | 
				
			||||||
            return File(ms, "application/vnd.ms-excel", "電表報表.xlsx");
 | 
					            return File(memoryStream, "application/octet-stream", "電表報表.zip");
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        [HttpPost]
 | 
					        [HttpPost]
 | 
				
			||||||
 | 
				
			|||||||
@ -156,6 +156,24 @@ namespace FrontendWebApi.ApiControllers
 | 
				
			|||||||
            return apiResult;
 | 
					            return apiResult;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        
 | 
					        public async Task<ActionResult<ApiResult<bool>>> isShowBuilding()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            ApiResult<bool> apiResult = new ApiResult<bool>(jwt_str);
 | 
				
			||||||
 | 
					            try
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                var isShow = await backendRepository.GetOneAsync<string>("select system_value from variable where system_type = 'show_building' and deleted = 0");
 | 
				
			||||||
 | 
					                var isBool = bool.Parse(isShow);
 | 
				
			||||||
 | 
					                apiResult.Data = isBool;
 | 
				
			||||||
 | 
					                apiResult.Code = "0000";
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            catch (Exception exception)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                apiResult.Code = "9999";
 | 
				
			||||||
 | 
					                apiResult.Msg = "系統內部錯誤,請聯絡管理者。";
 | 
				
			||||||
 | 
					                Logger.LogError("【" + controllerName + "/" + actionName + "】" + exception.Message);
 | 
				
			||||||
 | 
					                return Ok(apiResult);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            return Ok(apiResult);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -11,6 +11,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  <ItemGroup>
 | 
					  <ItemGroup>
 | 
				
			||||||
    <PackageReference Include="Autodesk.Forge" Version="1.9.7" />
 | 
					    <PackageReference Include="Autodesk.Forge" Version="1.9.7" />
 | 
				
			||||||
 | 
					    <PackageReference Include="DotNetZip" Version="1.16.0" />
 | 
				
			||||||
    <PackageReference Include="iTextSharp" Version="5.5.13.2" />
 | 
					    <PackageReference Include="iTextSharp" Version="5.5.13.2" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.AspNet.WebApi.Cors" Version="5.2.7" />
 | 
					    <PackageReference Include="Microsoft.AspNet.WebApi.Cors" Version="5.2.7" />
 | 
				
			||||||
    <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="3.1.21" />
 | 
					    <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="3.1.21" />
 | 
				
			||||||
 | 
				
			|||||||
@ -59,6 +59,8 @@ namespace FrontendWebApi.Models
 | 
				
			|||||||
        public string main_name { get; set; }
 | 
					        public string main_name { get; set; }
 | 
				
			||||||
        public string sub_system_tag { get; set; }
 | 
					        public string sub_system_tag { get; set; }
 | 
				
			||||||
        public string sub_name { get; set; }
 | 
					        public string sub_name { get; set; }
 | 
				
			||||||
 | 
					        public string building_name { get; set; }
 | 
				
			||||||
 | 
					        public string device_building_tag { get; set; }
 | 
				
			||||||
        public string device_number { get; set; }
 | 
					        public string device_number { get; set; }
 | 
				
			||||||
        public string device_full_name { get; set; }
 | 
					        public string device_full_name { get; set; }
 | 
				
			||||||
        public string device_serial_tag { get; set; }
 | 
					        public string device_serial_tag { get; set; }
 | 
				
			||||||
@ -297,5 +299,10 @@ namespace FrontendWebApi.Models
 | 
				
			|||||||
        public string type { get; set; }
 | 
					        public string type { get; set; }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
   
 | 
					    public class History_Building
 | 
				
			||||||
 | 
					    { 
 | 
				
			||||||
 | 
					        public string building_tag { get; set; }
 | 
				
			||||||
 | 
					        public string building_name { get; set; }
 | 
				
			||||||
 | 
					        public List<History_Main_system> history_Main_Systems { get; set; }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user