From dbd826636b6f344bba80f5554d4ca7c9955d6fa0 Mon Sep 17 00:00:00 2001 From: zpc Date: Mon, 6 Apr 2026 13:50:38 +0800 Subject: [PATCH] 21 --- .drone.yml | 81 ------------------- .../Business/OdfCableFaultsService.cs | 37 +++++++-- 2 files changed, 31 insertions(+), 87 deletions(-) diff --git a/.drone.yml b/.drone.yml index 0b8cca7..e69de29 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,81 +0,0 @@ ---- -kind: pipeline -type: docker -name: odf-new - -trigger: - branch: - - master - event: - - push - -steps: - # ==================== 构建后端 API ==================== - - name: build-server - image: plugins/docker - settings: - registry: 192.168.195.25:19900 - repo: 192.168.195.25:19900/odf/server - dockerfile: server/ZR.Admin.WebApi/Dockerfile - context: server - tags: - - latest - - ${DRONE_COMMIT_SHA:0:8} - username: - from_secret: harbor_username - password: - from_secret: harbor_password - insecure: true - - # ==================== 构建管理后台 ==================== - - name: build-admin - image: plugins/docker - settings: - registry: 192.168.195.25:19900 - repo: 192.168.195.25:19900/odf/admin - dockerfile: server/ZR.Vue/Dockerfile - context: server/ZR.Vue - tags: - - latest - - ${DRONE_COMMIT_SHA:0:8} - username: - from_secret: harbor_username - password: - from_secret: harbor_password - insecure: true - - # ==================== 构建 H5 Web ==================== - - name: build-web - image: plugins/docker - settings: - registry: 192.168.195.25:19900 - repo: 192.168.195.25:19900/odf/web - dockerfile: web/Dockerfile - context: web - tags: - - latest - - ${DRONE_COMMIT_SHA:0:8} - username: - from_secret: harbor_username - password: - from_secret: harbor_password - insecure: true - - # ==================== 部署到服务器 ==================== - - name: deploy - image: appleboy/drone-ssh - settings: - host: 192.168.195.15 - username: - from_secret: ssh_username - password: - from_secret: ssh_password - port: 22 - script: - - cd /disk/docker-compose/odf_new - - docker compose pull - - docker compose up -d - depends_on: - - build-server - - build-admin - - build-web diff --git a/server/ZR.Service/Business/OdfCableFaultsService.cs b/server/ZR.Service/Business/OdfCableFaultsService.cs index 6e12ad7..5b20ce0 100644 --- a/server/ZR.Service/Business/OdfCableFaultsService.cs +++ b/server/ZR.Service/Business/OdfCableFaultsService.cs @@ -364,17 +364,27 @@ namespace ZR.Service.Business continue; } - // 解析故障时间:导出时可能是多行时间拼接,取第一个有效时间 - DateTime faultTime = DateTime.Now; + // 解析故障时间:导出时可能是多行时间拼接(\n分隔),需解析所有有效时间 + var allTimes = new List(); if (!string.IsNullOrWhiteSpace(item.FaultTime)) { var timeParts = item.FaultTime.Split(new[] { '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries); - if (timeParts.Length > 0 && DateTime.TryParse(timeParts[0].Trim(), out var parsed)) + foreach (var part in timeParts) { - faultTime = parsed; + if (DateTime.TryParse(part.Trim(), out var parsed)) + { + allTimes.Add(parsed); + } } } + // 按时间排序,第一个作为主故障时间 + allTimes.Sort(); + DateTime faultTime = allTimes.Count > 0 ? allTimes[0] : DateTime.Now; + + // FaultCount:以解析到的时间数量为准,若只有1个或0个则取导入值或默认1 + int faultCount = allTimes.Count > 1 ? allTimes.Count : (item.FaultCount ?? 1); + var model = new OdfCableFaults { CableId = cableId.Value, @@ -387,12 +397,27 @@ namespace ZR.Service.Business Latitude = item.Latitude ?? 0, Longitude = item.Longitude ?? 0, Remark = item.Remark, - FaultCount = item.FaultCount ?? 1, + FaultCount = faultCount, CreatedAt = DateTime.Now, UpdatedAt = DateTime.Now }; - Insertable(model).ExecuteCommand(); + var faultEntity = Insertable(model).ExecuteReturnEntity(); + + // 将第2个及之后的时间插入频次时间记录表 + if (allTimes.Count > 1) + { + for (int j = 1; j < allTimes.Count; j++) + { + var timeRecord = new OdfCableFaultTimes + { + FaultId = faultEntity.Id, + FaultTime = allTimes[j], + CreatedAt = DateTime.Now + }; + Context.Insertable(timeRecord).ExecuteCommand(); + } + } successCount++; } catch (Exception)