From 0ac7a1813e703985878b9d213d8faacd0a1a89f2 Mon Sep 17 00:00:00 2001 From: dev02 Date: Sat, 12 Nov 2022 11:25:46 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=81=8B=E7=B6=AD?= =?UTF-8?q?=E7=AE=A1=E7=90=86api?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ApiControllers/OperationController.cs | 130 ++++++++++++++++-- 1 file changed, 119 insertions(+), 11 deletions(-) diff --git a/FrontendWebApi/ApiControllers/OperationController.cs b/FrontendWebApi/ApiControllers/OperationController.cs index 666d771..3b95d07 100644 --- a/FrontendWebApi/ApiControllers/OperationController.cs +++ b/FrontendWebApi/ApiControllers/OperationController.cs @@ -100,16 +100,16 @@ namespace FrontendWebApi.ApiControllers /// /// [HttpPost] - public async Task>> AreaList() + public async Task>> AreaList([FromBody] BuildingList b) { ApiResult> apiResult = new ApiResult>(); List bl = new List(); try { - var sqlString = @$"select system_key as area_name, system_value as device_area_tag from variable where deleted = 0 and system_type = 'area'"; + var sqlString = @$"select device_area_tag from device where deleted = 0 and device_system_tag = @main_system_tag and device_name_tag = @sub_system_tag"; - bl = await backendRepository.GetAllAsync(sqlString); + bl = await backendRepository.GetAllAsync(sqlString, new { @main_system_tag = b.main_system_tag, @sub_system_tag = b.sub_system_tag }); apiResult.Code = "0000"; apiResult.Data = bl; @@ -139,10 +139,10 @@ namespace FrontendWebApi.ApiControllers var sqlString = @$"select d.device_building_tag, b.full_name as building_name from device d join building b on d.device_building_tag = b.building_tag - where d.deleted = 0 and d.device_area_tag = @device_area_tag + where d.deleted = 0 and d.device_area_tag = @device_area_tag and d.device_system_tag = @main_system_tag and d.device_name_tag = @sub_system_tag group by b.building_name, d.device_building_tag"; - bl = await backendRepository.GetAllAsync(sqlString, new { @device_area_tag = b.device_area_tag }); + bl = await backendRepository.GetAllAsync(sqlString, new { @device_area_tag = b.device_area_tag, @main_system_tag = b.main_system_tag, @sub_system_tag = b.sub_system_tag }); apiResult.Code = "0000"; apiResult.Data = bl; @@ -171,10 +171,10 @@ namespace FrontendWebApi.ApiControllers { var sqlString = @$"select d.device_floor_tag from device d - where d.deleted = 0 and d.device_area_tag = @device_area_tag and d.device_building_tag = @device_building_tag + where d.deleted = 0 and d.device_area_tag = @device_area_tag and d.device_building_tag = @device_building_tag and d.device_system_tag = @main_system_tag and d.device_name_tag = @sub_system_tag group by d.device_floor_tag"; - bl = await backendRepository.GetAllAsync(sqlString, new { @device_area_tag = b.device_area_tag, @device_building_tag = b.device_building_tag }); + bl = await backendRepository.GetAllAsync(sqlString, new { @device_area_tag = b.device_area_tag, @device_building_tag = b.device_building_tag, @main_system_tag = b.main_system_tag, @sub_system_tag = b.sub_system_tag }); apiResult.Code = "0000"; apiResult.Data = bl; @@ -202,9 +202,9 @@ namespace FrontendWebApi.ApiControllers try { var sqlString = @$"select device_number, concat(device_floor_tag, ' ', device_last_name, ' ', device_serial_tag) as device_name - from device where deleted = 0 and device_area_tag = @device_area_tag and device_building_tag = @device_building_tag and device_floor_tag = @device_floor_tag"; + from device where deleted = 0 and device_area_tag = @device_area_tag and device_building_tag = @device_building_tag and device_floor_tag = @device_floor_tag and d.device_system_tag = @main_system_tag and d.device_name_tag = @sub_system_tag "; - var param = new { @device_building_tag = bl.device_building_tag, @device_floor_tag = bl.device_floor_tag, @device_area_tag = bl.device_area_tag }; + var param = new { @device_building_tag = bl.device_building_tag, @device_floor_tag = bl.device_floor_tag, @device_area_tag = bl.device_area_tag, @main_system_tag = bl.main_system_tag, @sub_system_tag = bl.sub_system_tag }; d = await backendRepository.GetAllAsync(sqlString, param); @@ -677,11 +677,10 @@ namespace FrontendWebApi.ApiControllers var sqlString = @$"select of.*, v2.system_key from operation_firm of - left join variable v1 on of.device_system_category_layer2 = v1.system_value and v1.system_type = @main_system_type and v1.delted = 0 + left join variable v1 on of.device_system_category_layer2 = v1.system_value and v1.system_type = @main_system_type and v1.deleted = 0 and of.device_system_category_layer2 = v1.system_value left join variable v2 on v1.id = v2.system_parent_id and of.device_system_category_layer3 = v2.system_value and v2.system_type = @sub_system_type and v2.deleted = 0 where of.deleted = 0" + sWhere; - var param = new { @sub_system_type = sub_system_type, @start_created_at = ofl.start_created_at, @end_created_at = ofl.end_created_at, @sub_system_tag = ofl.sub_system_tag, @main_system_tag = ofl.main_system_tag }; opList = await backendRepository.GetAllAsync(sqlString, param); } @@ -704,6 +703,39 @@ namespace FrontendWebApi.ApiControllers return apiResult; } + /// + /// 廠商資料讀取(搜寻) / selection讀取 ofl = null + /// + /// + /// + public async Task> OpeFirRead([FromBody] OperationFindList ofl) + { + ApiResult apiResult = new ApiResult(); + Operation_Firm opList = new Operation_Firm(); + try + { + var sqlString = @$"select of.*, v2.system_key + from operation_firm of + left join variable v1 on of.device_system_category_layer2 = v1.system_value and v1.system_type = @main_system_type and v1.deleted = 0 and of.device_system_category_layer2 = v1.system_value + left join variable v2 on v1.id = v2.system_parent_id and of.device_system_category_layer3 = v2.system_value and v2.deleted = 0 + where of.deleted = 0 and of.id = @id"; + + var param = new { @id = ofl.id }; + opList = await backendRepository.GetOneAsync(sqlString, param); + + apiResult.Code = "0000"; + apiResult.Data = opList; + } + catch (Exception exception) + { + apiResult.Code = "9999"; + apiResult.Msg = "系統內部錯誤,請聯絡管理者。"; + Logger.LogError("【" + controllerName + "/" + actionName + "】" + exception.Message); + } + + return apiResult; + } + /// /// 新增一笔廠商資料 /// @@ -820,6 +852,36 @@ namespace FrontendWebApi.ApiControllers return apiResult; } + + /// + /// 廠商---刪除 + /// + /// + /// + public async Task> DelOpeFirm([FromBody] Operation_Firm or) + { + ApiResult apiResult = new ApiResult(); + + try + { + var sqlString = @$"UPDATE operation_firm SET deleted = 1 WHERE id = @id"; + var param = new { @id = or.id }; + await backendRepository.ExecuteSql(sqlString, param); + + apiResult.Code = "0000"; + apiResult.Data = "刪除成功"; + } + catch (Exception exception) + { + apiResult.Code = "9999"; + apiResult.Msg = "系統內部錯誤,請聯絡管理者。"; + string json = System.Text.Json.JsonSerializer.Serialize(or); + Logger.LogError("【" + controllerName + "/" + actionName + "】" + json); + Logger.LogError("【" + controllerName + "/" + actionName + "】" + exception.Message); + } + + return apiResult; + } #endregion #region 維修/保養 @@ -901,6 +963,52 @@ namespace FrontendWebApi.ApiControllers return apiResult; } + #region 維修/保養 + /// + /// 維修/保養 讀取(work_type) + /// + /// + /// + public async Task> OpeRecRead([FromBody] OperationFindList ofl) + { + ApiResult apiResult = new ApiResult(); + Operation_Record orl = new Operation_Record(); + + try + { + var sqlString = $@"select opr.*, concat(d.device_floor_tag, ' ', d.device_last_name, ' ', d.device_serial_tag) as device_name, ui.full_name as user_full_name + from operation_record opr + left join device d on opr.fix_do_code = d.device_number + left join userinfo ui on opr.work_person_id = ui.id + where opr.deleted = 0 and opr.id = @id"; + + var param = new { @id = ofl.id }; + + orl = await backendRepository.GetOneAsync(sqlString, param); + + if (orl != null) + { + sqlString = $@"select * from operation_record_file where record_id = @record_id and deleted = 0"; + var oParam = new { @record_id = orl.id }; + var orfl = await backendRepository.GetAllAsync(sqlString, oParam); + orl.lorf = orfl; + } + + apiResult.Code = "0000"; + apiResult.Data = orl; + } + catch (Exception exception) + { + apiResult.Code = "9999"; + apiResult.Msg = "系統內部錯誤,請聯絡管理者。"; + string json = System.Text.Json.JsonSerializer.Serialize(ofl); + Logger.LogError("【" + controllerName + "/" + actionName + "】" + json); + Logger.LogError("【" + controllerName + "/" + actionName + "】" + exception.Message); + } + + return apiResult; + } + /// /// 維修/保養---新增/編輯 /// From 4aa8e9985c01d8d449a26ab4d1c655d1f101721f Mon Sep 17 00:00:00 2001 From: dev02 Date: Sat, 12 Nov 2022 11:26:43 +0800 Subject: [PATCH 2/2] update modal --- FrontendWebApi/Models/Operation.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/FrontendWebApi/Models/Operation.cs b/FrontendWebApi/Models/Operation.cs index 4f1c81a..16ccb92 100644 --- a/FrontendWebApi/Models/Operation.cs +++ b/FrontendWebApi/Models/Operation.cs @@ -38,6 +38,7 @@ namespace FrontendWebApi.Models public class OperationFindList { + public int id { get; set; } public string serial_number { get; set; } //表单号 public DateTime? start_created_at { get; set; }//开始建立时间 public DateTime? end_created_at { get; set; }//结束建立时间 @@ -50,9 +51,13 @@ namespace FrontendWebApi.Models public class BuildingList { + public string device_area_tag { get; set; } public string device_building_tag { get; set; } public string device_floor_tag { get; set; } - public string full_name { get; set; } + public string area_name { get; set; } + public string building_name { get; set; } + public string main_system_tag { get; set; }//大类tag + public string sub_system_tag { get; set; }//小类tag } public class Operation_Record : Actor