From 25bac169b03400d5e65e8e859b53e1431225ff40 Mon Sep 17 00:00:00 2001 From: zpc Date: Tue, 12 Aug 2025 16:53:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Business/OdfPortsController.cs | 7 +++- .../Business/OdfRoomsController.cs | 2 +- ZR.Admin.WebApi/appsettings.json | 4 +-- .../wwwroot/ImportTemplate/OdfPorts.xlsx | Bin 10679 -> 10715 bytes ZR.Model/Business/Dto/OdfPortsDto.cs | 32 +++++++++++++++--- ZR.Model/Business/OdfPorts.cs | 5 +++ ZR.Service/Business/OdfPortsService.cs | 8 +++++ 7 files changed, 49 insertions(+), 9 deletions(-) diff --git a/ZR.Admin.WebApi/Controllers/Business/OdfPortsController.cs b/ZR.Admin.WebApi/Controllers/Business/OdfPortsController.cs index 8e99acb..c0cc396 100644 --- a/ZR.Admin.WebApi/Controllers/Business/OdfPortsController.cs +++ b/ZR.Admin.WebApi/Controllers/Business/OdfPortsController.cs @@ -286,7 +286,7 @@ namespace ZR.Admin.WebApi.Controllers.Business /// [HttpPost("save")] [ActionPermissionFilter(Permission = "odfports:edit")] - [Log(Title = "APP更新端口", BusinessType = BusinessType.UPDATE)] + [Log(Title = "APP修改端口", BusinessType = BusinessType.UPDATE)] public IActionResult SaveMOdfPorts([FromBody] OdfPortsMMDto parm) { var port = _OdfPortsService.GetById(parm.Id); @@ -298,6 +298,8 @@ namespace ZR.Admin.WebApi.Controllers.Business port.HistoryRemarks = parm.HistoryRemarks; port.Remarks = parm.Remarks; port.OpticalAttenuation = parm.OpticalAttenuation; + port.UpdatedAt = DateTime.Now; + port.OpticalCableOffRemarks = parm.OpticalCableOffRemarks; if (port.Status == 0) { port.Remarks = ""; @@ -505,6 +507,7 @@ namespace ZR.Admin.WebApi.Controllers.Business Remarks = excelItem.Remarks?.Trim(), OpticalAttenuation = excelItem.OpticalAttenuation?.Trim(), HistoryRemarks = excelItem.HistoryRemarks?.Trim(), + OpticalCableOffRemarks = excelItem.OpticalCableOffRemarks }; await _OdfPortsService.InsertAsync(port); addPortCount++; @@ -515,6 +518,8 @@ namespace ZR.Admin.WebApi.Controllers.Business port.Remarks = excelItem.Remarks?.Trim(); port.OpticalAttenuation = excelItem.OpticalAttenuation?.Trim(); port.Status = excelItem.Status; + port.OpticalCableOffRemarks = excelItem.OpticalCableOffRemarks; + port.UpdatedAt = DateTime.Now; await _OdfPortsService.UpdateAsync(port); } successCount++; diff --git a/ZR.Admin.WebApi/Controllers/Business/OdfRoomsController.cs b/ZR.Admin.WebApi/Controllers/Business/OdfRoomsController.cs index 63d1364..763351a 100644 --- a/ZR.Admin.WebApi/Controllers/Business/OdfRoomsController.cs +++ b/ZR.Admin.WebApi/Controllers/Business/OdfRoomsController.cs @@ -108,7 +108,7 @@ namespace ZR.Admin.WebApi.Controllers.Business { Key = it.Id.ToString(), Id = it.Id.ToString(), - Name = it.RoomName, + Name = it.RoomName + $"[{it.DeptName}]", DeptId = it.DeptId ?? 0, Level = 2, Leaf = false, diff --git a/ZR.Admin.WebApi/appsettings.json b/ZR.Admin.WebApi/appsettings.json index 8668905..63a6353 100644 --- a/ZR.Admin.WebApi/appsettings.json +++ b/ZR.Admin.WebApi/appsettings.json @@ -8,7 +8,7 @@ }, "dbConfigs": [ { - "Conn": "Data Source=49.233.115.141;User ID=sa;Password=Dbt@com@123;Initial Catalog=OdtAdmin;Encrypt=True;TrustServerCertificate=True;", + "Conn": "Data Source=192.168.195.8;User ID=sa;Password=Dbt@com@123;Initial Catalog=OdtAdmin;Encrypt=True;TrustServerCertificate=True;", "DbType": 1, //数据库类型 MySql = 0, SqlServer = 1, Oracle = 3,PgSql = 4 "ConfigId": "0", //多租户唯一标识 "IsAutoCloseConnection": true @@ -17,7 +17,7 @@ //代码生成数据库配置 初始化数据:http://localhost:8888/common/initseedData "CodeGenDbConfig": { //代码生成连接字符串,注意{dbName}为固定格式,不要填写数据库名 - "Conn": "Data Source=49.233.115.141;User ID=sa;Password=Dbt@com@123;Encrypt=True;TrustServerCertificate=True;Initial Catalog={dbName};", + "Conn": "Data Source=192.168.195.8;User ID=sa;Password=Dbt@com@123;Encrypt=True;TrustServerCertificate=True;Initial Catalog={dbName};", "DbType": 1, "IsAutoCloseConnection": true, "DbName": "OdtAdmin" //代码生成默认连接数据库,Oracle库是实例的名称 diff --git a/ZR.Admin.WebApi/wwwroot/ImportTemplate/OdfPorts.xlsx b/ZR.Admin.WebApi/wwwroot/ImportTemplate/OdfPorts.xlsx index 3c62350d176753a0f81560163a75b1d28fbaa2fc..1e7f8b8a2b7b70ee481d6ab1d4d8e4cae1fc94d5 100644 GIT binary patch delta 2681 zcmV-<3WoK!Q`=Lp+6I5uH#&c}0ssIx1^@sL0001ZY%h0ja%*C5Z)+}iZEU1eQBSKd z6n?+S{STz?49Xa8L}oTObC+C=(Opf<64OC98fnWdWy~1=`#ps*oqO>rftGU0*YBM3 zopXA&<(ajis$fz?2zOj$Q4!08iFJhj%rERdvI z=v+bY%N@G_?nQ zcVrK|i+(Q{_s1um{|e5iAdDp`b-Gi9fsT+55;!tll5K0jZdkJ9jmC?+yKFOm7+Tw_ zaoF^~J4UPGO+RL7ZSR>#WECMBd*Iab;j*fY_bgS>DF|@j`mm+>_KUK03XE~@#QX248CfbcXQ)|%>m;_n#UzWN z8q8!iy0x+G`on(!lc56?v%U#40tsyU1U@4K003^2`U@j}+aMH%?Mp8vAJ+sQCn&~vK$>Jz|N9QuPC8XetwxCt0p5r6!okbygRICCXd_ge(>RDI zftssA)a#u7_J$fi5k}vMowbE==q3=VSGENQ}zX|@v{W8A))k;!ut&A#d zfaI{v`L+FdI1d>=kzV^Bgo)Eo!;^3act$1fODWEOPORh%8^04aIlBUYIIsF@T zpAp8`J)-lYAA6=(%R=A@J6A+QnbS}4;y$6_)za6`PXT-LqD?GYJwgTC0vTS z)YeVB!>$O44Xc419~(SmKgX)(E0p##R2A~kFymG{!2?dq=}K9vq#O4az+zXa)gP#R z4t^gp(0ep)e*65fiOGkj>|eHfC%68xJZMrt$##|fruJVztT!&*47bqL z;G#I*fZdL71Imj-E)O=t0c8_Kj(BLA!$l|?g7UuWrnH$FM#uZp8Y4uI#UIVU;dUnQ&`)p+?EqOX;y3O2 z_D(zAb_0YR+e3`Di|Vq-A`~JE;vAwgBM!wgqqzMcu|VLIh(;uPf~X#;;WM6!WCHQG znP@J#0dZBA!hi%SQtq?WOe%wkubR|T`+|-taW#}2N(95yU2oD*7``|0KQ!llD`jRH({_m@B;M^pe?SKX znzW~Q&S4R+SPZ!71{yQx2O$zQE`9*fgb`Qd&u|Xqiof8YC6gEurDZHj>_wBFx92?X zbDr})eJgL=w@hJMN7%5T0;JUl5OkQZlLkyH;O?FH$_*f3qQRtQ+E7Gi8H!REK`g|BI}~184w5w zI|m8Jy$*yNH16f}*x7(8V?&jR%BnxuZjU}a7<_EWB2i^=JpMaYYtN3+_m9~3<3DH6 z;ul)!u)^u^p&!d;I4@!(Hj$8jvLU&hR6rC6B%kGEp&hf~WOINxg^W}gZSos_AZ%+U z&tDpc6Siq10j0MT5RXT^YdnnNd|m%N`m^D7o5MH7;pww+D5Y73nfGH+Z;6bCus(TP zTD#_Ju6#5HN?BW*S?_md8gkxGc@l`)dBdAJ$M2&{0(soQ?|ho7$v}$oA}E(=aYv%E;LZ zU50;i{Kbnj_}rwGcT3e|Nt(+q7f(5~P=3QuFI~#2q{ThA-l7F(S%sOr^}jCX@5J0* zjg>zP9=BOxXXNZJ#X=+Dg$mZkuoqvcQ@H43vYbtxtIs-zkFs~J!ZuvoLT)Na+HAPMo8V(=xMb`XDIQ3X~8<9p+8>^U@69)Z$UAiMTd^!#yG`7e7Y7}#$Q$?T=VzX8p#=I38E zp8%7g0~E8yBR>NP*Ec$Uw*mkFIg<`2dEGQrw z7vOkRXaWEL9u5Ei6aWAK00000000000088ZXDC4dev_#vPyv9G`Y1XZR!Cz~Edc-k n_yGU_5dZ)H0000000000004NCPboeD+>?$eBL<%)00000k=X8J delta 2653 zcmV-j3ZnJfQ@2yF+6I68bIIh{;$bTy7%#XL05XF)9p|3C)yb5q^JS1^zMq{_Uhv`eCKi z0|Ee9L^w4j4_&v2QzmH9Q8|-fSt~85fu-KKMXni5ij*-UGS??0a0TTOHwdBr2!>j( zdCX=iE(MdO0nsd@2IvP&q@cM zWEJeOf>$t)d>PFHY1LW@A$Xre>+iYwczm+v8M|qui)fx-P+>EbVU*FroF?3`B*Ft& zs)`+K=raFV@(iqguiNcmcf6PLrA7%`(=sy)5ONC-l@WggBfoD?f-okTVOmndrb-&n z;m)tGYOcnfrV12}uGrs_YX*e{`T}2Jq;W`B#U(Wj&S-704gq>4KH*9&QJCj6k z*||7fEbp#%i(9su`};6~ z7dmW(dTD<&g7^9CHzeztK0@k1Ajz(>=a3t(doN=hdiT!*;txo7IC1J4Wz>(>kZd;2-!jdPiG@i-saqRqVXl*an zVcY+1IID_R{n#bi-g23!D#Ac`p?dxik5ljE=L7>?d1l7K5 zpvI9>DnSi@{#BbmHwtLsM4}4fFq{N}@|v`Sxf;TdWyu-bO12kJn--#=q6YKVTi)oN zCfE?1plY{oMofwZ5o=y?b8=AP2{ymm)KbxPg}#qbLYa3|_>J*5?w4`>S1Sq5l+>~` zK9Ykr=WF}3U=~nzCSCg&jD5=Hy*8{}hv8xp3#_JBNdQ*7gitKR^Y{0Im@c&mPaU zlsh}|4!c4mHnaxs^w40D-5evE&rq88P*uoB!;~5R2=_QGCu?bp6n5NQ0E1nnlE0vK zIk=^NY;KnM_v9ARLO-B!{nO=-O-w#GXaBt2J6XBQa<9AsO1iJi7kT&ye6zLbrnrUn z49<(wEog>^A5HmjYN%62xn@)$Z*Cl=ur_(Hd`j0Z{l*qp*2jx2Hlo)&E?40Wwv{`j! ze!=gwV_@tU@yw62G)kT0ffRg2I`s7uN`?k*{J`!A9y1Wt`0BHt6t%qT3+1SWD-NVu&8rIZ%LH&ZGL z5}8Q7uNH+gmXOd4Y4<;L)PxHo(R1-Y|Cx&)>A|eNguci;|cZE{q6n-vuY2B3<}YGwT4&%007es zll&VTf8C1OKp4F*^c}+7@5Z=AN=dR%LFnCHv=5Ng(FBr-of((fD@)Ptw!6BeY_~rm zm9}*0k4g)!bhW;W6XTVy&@qv%6rnY7T?)-bAoI=4`OcjA&P?RZdzLBeKuio9DL`6} z00E+;oib2H0e5aE)~*AAPz|Lt(?(DMc}T#fe|q(bOb8YDSVR<{Q<}XYiX^E+OC#%c z79t)=+t|`5|HK)QWHHoIM2C=CrWlPxVxpxP2nb0#hbYI50U?KsyEzy?Z%}1os4`WZ z>UU?i&khfUA6l|VRau<0|BBVx^JDDYBj?-6?;}|8Gplr*!rADdAIs{T7d4VwSV-H5 zf8I(dAPNMU&vLTJj@xLuI6$01#;T0B_>0^Zb~KacFHOQp+qAKOGusMCBqH83X~qdY zuiuaTXt=%R=yh>)_H+_TYnEZ={aDnSLf0^X)85j?H4oK;qAEKm4?0z!&?JF?Im9*7 z*v7_OcyS7~5gH{N)5@u@`gs~bRibJ%e>|1OlR@v<;&S;UYV9SEkS>daQ!j-}pQ>*E zrSqaW=oAK>k25tHNKsw{#sV!b0Tzkstj$8W+6=N>XTKAEwfi!zgh z_bk&)-16tj#T`T_+ek?dM5vx^}#0e>P& zv62)4>WNB7v;uLn>}_fhKV%!y^6PQa63XLf&Fr_c<7&25UGfgjOQUNsI%lIp60T+2b!3qKsEPpV(2c~u;q9ao95ozCCHvk03(18LSJSG{z-`)UD z`F{rn<;1CE*x7i~G43f_@PjzIw_c9MzVEZX9Ad=$1V1nCABR&@srOxRK+V3Nj`^^N zRjwt7n_cr^IUyyvZWWVV#*M1*UsEOc5RNP{BzIhw*mkFJCiaedTa(QwPyt<&9w|B-CXwt~ECB!j_yGU_5dZ)H00000000000032!b16OnxRbIe LBL;gW00000L__xO diff --git a/ZR.Model/Business/Dto/OdfPortsDto.cs b/ZR.Model/Business/Dto/OdfPortsDto.cs index 34e2727..c551ccc 100644 --- a/ZR.Model/Business/Dto/OdfPortsDto.cs +++ b/ZR.Model/Business/Dto/OdfPortsDto.cs @@ -14,6 +14,8 @@ namespace ZR.Model.Business.Dto public string Remarks { get; set; } public string OpticalAttenuation { get; set; } public string HistoryRemarks { get; set; } + + public string OpticalCableOffRemarks { get; set; } } /// @@ -39,6 +41,7 @@ namespace ZR.Model.Business.Dto /// public string HistoryRemarks { get; set; } + public string OpticalCableOffRemarks { get; set; } /// /// 机房id @@ -168,6 +171,12 @@ namespace ZR.Model.Business.Dto [ExcelColumnName("光衰值(dB)")] public string OpticalAttenuation { get; set; } + + + [ExcelColumn(Name = "光缆断信息")] + [ExcelColumnName("光缆断信息")] + public string OpticalCableOffRemarks { get; set; } + [ExcelColumn(Name = "历史故障表")] [ExcelColumnName("历史故障表")] public string HistoryRemarks { get; set; } @@ -202,6 +211,7 @@ namespace ZR.Model.Business.Dto /// [ExcelColumn(Name = "部门名称")] public string DeptName { get; set; } + } /// @@ -209,29 +219,29 @@ namespace ZR.Model.Business.Dto /// public class OdfPortsImportDto { - - + + [Required(ErrorMessage = "机房名称不能为空")] [ExcelColumn(Name = "机房名称")] [ExcelColumnName("机房名称")] public string RoomName { get; set; } - + [Required(ErrorMessage = "机架名称不能为空")] [ExcelColumn(Name = "机架名称")] [ExcelColumnName("机架名称")] public string RackName { get; set; } - + [Required(ErrorMessage = "机框名称不能为空")] [ExcelColumn(Name = "机框名称")] [ExcelColumnName("机框名称")] public string FrameName { get; set; } - + [Required(ErrorMessage = "行号不能为空")] [ExcelColumn(Name = "行号(1-6)")] @@ -265,6 +275,13 @@ namespace ZR.Model.Business.Dto /// [ExcelColumn(Name = "部门名称")] public string DeptName { get; set; } + + /// + /// 光缆断信息 + /// + [ExcelColumn(Name = "光缆断信息")] + [ExcelColumnName("光缆断信息")] + public string OpticalCableOffRemarks { get; set; } } @@ -368,5 +385,10 @@ namespace ZR.Model.Business.Dto [ExcelColumnName("历史故障表")] public string HistoryRemarks { get; set; } + /// + /// + /// + public string OpticalCableOffRemarks { get; set; } + } } \ No newline at end of file diff --git a/ZR.Model/Business/OdfPorts.cs b/ZR.Model/Business/OdfPorts.cs index 4915935..7064046 100644 --- a/ZR.Model/Business/OdfPorts.cs +++ b/ZR.Model/Business/OdfPorts.cs @@ -98,5 +98,10 @@ namespace ZR.Model.Business /// public DateTime? UpdatedAt { get; set; } + /// + /// 光缆断信息 + /// + public string OpticalCableOffRemarks { get; set; } + } } \ No newline at end of file diff --git a/ZR.Service/Business/OdfPortsService.cs b/ZR.Service/Business/OdfPortsService.cs index bd9aeeb..12d5b12 100644 --- a/ZR.Service/Business/OdfPortsService.cs +++ b/ZR.Service/Business/OdfPortsService.cs @@ -188,6 +188,10 @@ namespace ZR.Service.Business predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.Remarks), it => it.Remarks.Contains(parm.Remarks)); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.OpticalAttenuation), it => it.OpticalAttenuation.Contains(parm.OpticalAttenuation)); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.HistoryRemarks), it => it.HistoryRemarks.Contains(parm.HistoryRemarks)); + if (!string.IsNullOrEmpty(parm.OpticalCableOffRemarks)) + { + predicate = predicate.And(f => f.OpticalCableOffRemarks.Contains(parm.OpticalCableOffRemarks)); + } return predicate; } @@ -223,6 +227,10 @@ namespace ZR.Service.Business { predicate = predicate.And(f => f.HistoryRemarks.Contains(parm.HistoryRemarks)); } + if (!string.IsNullOrEmpty(parm.OpticalCableOffRemarks)) + { + predicate = predicate.And(f => f.OpticalCableOffRemarks.Contains(parm.OpticalCableOffRemarks)); + } return predicate; } }