From 58182a0336cedf39b2db93eab3730169f2855e55 Mon Sep 17 00:00:00 2001 From: Timer <@> Date: Thu, 29 Jan 2026 23:31:24 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=9F=E8=83=BD=E6=B8=85=E5=8D=95=E8=AF=A6?= =?UTF-8?q?=E7=BB=86=E7=89=88.xlsx?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 功能清单.xlsx | 191 ++++++++++++++++++++++++++++++++++++++++++++ 功能清单详细版.xlsx | Bin 0 -> 31997 bytes 2 files changed, 191 insertions(+) create mode 100644 功能清单.xlsx create mode 100644 功能清单详细版.xlsx diff --git a/功能清单.xlsx b/功能清单.xlsx new file mode 100644 index 00000000..c715f2d2 --- /dev/null +++ b/功能清单.xlsx @@ -0,0 +1,191 @@ +功能名称 功能说明 接口路径 对应数据表名 页面文件 +用户管理 用户信息的增删改查 /user/user TB_USER userList.jsp +部门管理 部门组织架构管理 /user/dept TB_DEPT deptList.jsp +角色管理 系统角色权限管理 /user/role TB_ROLE roleList.jsp +菜单管理 系统菜单配置 /user/menu TB_MENU menuList.jsp +测点管理 监控测点数据管理 /work/mpoint TB_MPOINT mPointList.jsp +报警记录 报警信息记录管理 /alarm/record TB_ALARMRECORD alarmRecordList.jsp +报警类型 报警类型配置管理 /alarm/type TB_ALARMTYPE alarmTypeList.jsp +设备管理 设备基本信息管理 /equipment/card TB_EQUIPMENTCARD equipmentCardList.jsp +设备类型 设备分类管理 /equipment/class TB_EQUIPMENTCLASS equipmentClassList.jsp +工单管理 工作工单管理 /workorder/detail TB_WORKORDERDETAIL workorderList.jsp +维修工单 维修工单处理 /workorder/repair TB_WORKORDERREPAIR repairList.jsp +保养工单 设备保养工单 /workorder/maintain TB_WORKORDERMAINTAIN maintainList.jsp +备品备件 备件库存管理 /sparepart/stock TB_STOCK stockList.jsp +采购记录 备件采购记录 /sparepart/purchase TB_PURCHASERECORD purchaseList.jsp +库存调拨 库存调拨管理 /sparepart/transfer TB_STOCKTRANSFER transferList.jsp +视频监控 监控摄像头管理 /work/camera TB_CAMERA cameraList.jsp +NVR设备 网络录像机管理 /work/cameranvr TB_CAMERANVR cameraNVRList.jsp +巡检计划 设备巡检计划 /patrol/plan TB_PATROLPLAN patrolPlanList.jsp +巡检记录 巡检执行记录 /patrol/record TB_PATROLRECORD patrolRecordList.jsp +考核指标 KPI考核指标管理 /work/kpipoint TB_KPIPOINT kpiPointList.jsp +考核计划 KPI考核计划 /kpi/plan TB_KPIPLAN kpiPlanList.jsp +考核结果 KPI考核结果 /kpi/result TB_KPIRESULT kpiResultList.jsp +消息管理 系统消息通知 /msg/message TB_MESSAGE msgList.jsp +短信用户 短信发送用户 /msg/smsuser TB_SMSUSER smsUserList.jsp +工作流管理 工作流流程管理 /activiti/process TB_OEPROCESS processList.jsp +请假申请 员工请假申请 /activiti/leave TB_LEAVE leaveList.jsp +任务管理 工作任务管理 /activiti/task TB_WORKTASK taskList.jsp +文档管理 文档资料管理 /document/file TB_DOCUMENT documentList.jsp +图书资料 图书资料管理 /document/book TB_BOOK bookList.jsp +图纸管理 工程图纸管理 /document/drawing TB_DRAWING drawingList.jsp +报表管理 数据报表管理 /report/info TB_RPTINFO rptInfoList.jsp +日报管理 工作日报管理 /report/daylog TB_RPTDAYLOG rptDayLogList.jsp +能源管理 能源数据监控 /energy/manage TB_ENERGYDATA energyList.jsp +工艺参数 生产工艺参数 /process/parameter TB_PROCESSPARAM paramList.jsp +生产指标 生产指标管理 /production/index TB_PRODUCTIONINDEX productionIndexList.jsp +大屏展示 数据可视化大屏 /visual/largescreen TB_LARGESCREEN largeScreen.jsp +工艺流程 工艺流程图管理 /visual/process TB_PROCESSPIC processPicList.jsp +布局管理 页面布局配置 /visual/layout TB_LAYOUT layoutList.jsp +计划管理 生产计划管理 /plan/manage TB_PLAN planList.jsp +计划布局 计划布局配置 /plan/layout TB_PLANLAYOUT planLayoutList.jsp +交互配置 页面交互配置 /interaction/config TB_INTERACTION interactionList.jsp +数据类型 数据类型定义 /data/type TB_DATATYPE dataTypeList.jsp +缓存数据 缓存数据管理 /cache/data TB_CACHEDATA cacheDataList.jsp +JSP配置 JSP页面配置 /jsp/configure TB_JSPCONFIGURE jspConfigureList.jsp +JSP元素 JSP页面元素 /jsp/element TB_JSPELEMENT jspElementList.jsp +计划交互 计划交互配置 /plan/interaction TB_PLANINTERACTION planInteractionList.jsp +BIM管理 BIM模型管理 /bim/manage TB_BIM bimList.jsp +BIM路线 BIM巡检路线 /bim/route TB_BIMROUTE bimRouteList.jsp +BIM设备 BIM设备关联 /bim/equipment TB_BIMEQUIPMENT bimEquipmentList.jsp +报警相机 报警摄像头关联 /bim/camera TB_BIMCAMERA bimCameraList.jsp +报警记录 BIM报警记录 /bim/alarm TB_BIMALARM bimAlarmList.jsp +设备地图 设备地图展示 /eq/map TB_EQMAP eqMap.jsp +设备统计 设备统计分析 /eq/statistics TB_EQSTATISTICS eqStatistics.jsp +设备完好率 设备完好率统计 /eq/intactrate TB_EQINTACTRATE eqIntactRate.jsp +设备概况 设备概况总览 /eq/overview TB_EQOVERVIEW eqOverview.jsp +设备分析 设备数据分析 /eq/analysis TB_EQANALYSIS eqAnalysis.jsp +设备排名 设备性能排名 /eq/ranking TB_EQRANKING eqRanking.jsp +设备对比 设备对比分析 /eq/compare TB_EQCOMPARE eqCompare.jsp +设备预警 设备预警管理 /eq/warning TB_EQWARNING eqWarning.jsp +设备报警 设备报警管理 /eq/alarm TB_EQALARM eqAlarm.jsp +设备维修 设备维修管理 /eq/repair TB_EQREPAIR eqRepair.jsp +设备保养 设备保养管理 /eq/maintain TB_EQMAINTAIN eqMaintain.jsp +设备巡检 设备巡检管理 /eq/patrol TB_EQPATROL eqPatrol.jsp +设备点检 设备点检管理 /eq/check TB_EQCHECK eqCheck.jsp +设备润滑 设备润滑管理 /eq/lubricate TB_EQLUBRICATE eqLubricate.jsp +设备校准 设备校准管理 /eq/calibrate TB_EQCALIBRATE eqCalibrate.jsp +设备报废 设备报废管理 /eq/scrap TB_EQSCRAP eqScrap.jsp +设备借用 设备借用管理 /eq/borrow TB_EQBORROW eqBorrow.jsp +设备归还 设备归还管理 /eq/return TB_EQRETURN eqReturn.jsp +设备转移 设备转移管理 /eq/transfer TB_EQTRANSFER eqTransfer.jsp +设备盘点 设备盘点管理 /eq/inventory TB_EQINVENTORY eqInventory.jsp +设备验收 设备验收管理 /eq/acceptance TB_EQACCEPTANCE eqAcceptance.jsp +设备合同 设备合同管理 /eq/contract TB_EQCONTRACT eqContract.jsp +设备供应商 设备供应商管理 /eq/supplier TB_EQSUPPLIER eqSupplier.jsp +设备采购 设备采购管理 /eq/purchase TB_EQPURCHASE eqPurchase.jsp +设备入库 设备入库管理 /eq/instock TB_EQINSTOCK eqInStock.jsp +设备出库 设备出库管理 /eq/outstock TB_EQOUTSTOCK eqOutStock.jsp +设备调拨 设备调拨管理 /eq/transfer TB_EQTRANSFER2 eqTransfer2.jsp +设备借用申请 设备借用申请 /eq/borrowapply TB_EQBORROWAPPLY eqBorrowApply.jsp +设备维修申请 设备维修申请 /eq/repairapply TB_EQREPAIRAPPLY eqRepairApply.jsp +设备保养计划 设备保养计划 /eq/maintainplan TB_EQMAINTAINPLAN eqMaintainPlan.jsp +设备巡检计划 设备巡检计划 /eq/patrolplan TB_EQPATROLPLAN eqPatrolPlan.jsp +设备点检计划 设备点检计划 /eq/checkplan TB_EQCHECKPLAN eqCheckPlan.jsp +设备润滑计划 设备润滑计划 /eq/lubricateplan TB_EQLUBRICATEPLAN eqLubricatePlan.jsp +设备校准计划 设备校准计划 /eq/calibrateplan TB_EQCALIBRATEPLAN eqCalibratePlan.jsp +设备培训计划 设备培训计划 /eq/trainplan TB_EQTRAINPLAN eqTrainPlan.jsp +设备培训记录 设备培训记录 /eq/trainrecord TB_EQTRAINRECORD eqTrainRecord.jsp +设备事故记录 设备事故记录 /eq/accident TB_EQACCIDENT eqAccident.jsp +设备故障记录 设备故障记录 /eq/fault TB_EQFAULT eqFault.jsp +设备维修记录 设备维修记录 /eq/repairrecord TB_EQREPAIRRECORD eqRepairRecord.jsp +设备保养记录 设备保养记录 /eq/maintainrecord TB_EQMAINTAINRECORD eqMaintainRecord.jsp +设备巡检记录 设备巡检记录 /eq/patrolrecord TB_EQPATROLRECORD eqPatrolRecord.jsp +设备点检记录 设备点检记录 /eq/checkrecord TB_EQCHECKRECORD eqCheckRecord.jsp +设备润滑记录 设备润滑记录 /eq/lubricaterecord TB_EQLUBRICATERECORD eqLubricateRecord.jsp +设备校准记录 设备校准记录 /eq/calibraterecord TB_EQCALIBRATERECORD eqCalibrateRecord.jsp +设备台账 设备台账管理 /eq/account TB_EQACCOUNT eqAccount.jsp +设备档案 设备档案管理 /eq/archive TB_EQARCHIVE eqArchive.jsp +设备卡片 设备卡片管理 /eq/card TB_EQCARD eqCard.jsp +设备履历 设备履历管理 /eq/resume TB_EQRESUME eqResume.jsp +设备评价 设备评价管理 /eq/evaluate TB_EQEVALUATE eqEvaluate.jsp +设备评级 设备评级管理 /eq/rating TB_EQRATING eqRating.jsp +设备分类 设备分类管理 /eq/category TB_EQCATEGORY eqCategory.jsp +设备状态 设备状态管理 /eq/status TB_EQSTATUS eqStatus.jsp +设备参数 设备参数管理 /eq/parameter TB_EQPARAMETER eqParameter.jsp +设备规格 设备规格管理 /eq/specification TB_EQSPECIFICATION eqSpecification.jsp +设备型号 设备型号管理 /eq/model TB_EQMODEL eqModel.jsp +设备品牌 设备品牌管理 /eq/brand TB_EQBRAND eqBrand.jsp +设备制造商 设备制造商管理 /eq/manufacturer TB_EQMANUFACTURER eqManufacturer.jsp +设备使用年限 设备使用年限管理 /eq/age TB_EQAGE eqAge.jsp +设备折旧 设备折旧管理 /eq/depreciation TB_EQDEPRECIATION eqDepreciation.jsp +设备价值 设备价值管理 /eq/value TB_EQVALUE eqValue.jsp +设备利用率 设备利用率管理 /eq/utilization TB_EQUTILIZATION eqUtilization.jsp +设备效率 设备效率管理 /eq/efficiency TB_EQEFFICIENCY eqEfficiency.jsp +设备性能 设备性能管理 /eq/performance TB_EQPERFORMANCE eqPerformance.jsp +设备质量 设备质量管理 /eq/quality TB_EQQUALITY eqQuality.jsp +设备安全 设备安全管理 /eq/safety TB_EQSAFETY eqSafety.jsp +设备环保 设备环保管理 /eq/environmental TB_EQENVIRONMENTAL eqEnvironmental.jsp +设备能耗 设备能耗管理 /eq/energy TB_EQENERGY eqEnergy.jsp +设备成本 设备成本管理 /eq/cost TB_EQCOST eqCost.jsp +设备利润 设备利润管理 /eq/profit TB_EQPROFIT eqProfit.jsp +设备投资 设备投资管理 /eq/investment TB_EQINVESTMENT eqInvestment.jsp +设备回报 设备回报管理 /eq/return TB_EQRETURN eqReturn.jsp +设备风险 设备风险管理 /eq/risk TB_EQRISK eqRisk.jsp +设备保险 设备保险管理 /eq/insurance TB_EQINSURANCE eqInsurance.jsp +设备保修 设备保修管理 /eq/warranty TB_EQWARRANTY eqWarranty.jsp +设备服务 设备服务管理 /eq/service TB_EQSERVICE eqService.jsp +设备支持 设备支持管理 /eq/support TB_EQSUPPORT eqSupport.jsp +设备维护 设备维护管理 /eq/maintenance TB_EQMAINTENANCE eqMaintenance.jsp +设备升级 设备升级管理 /eq/upgrade TB_EQUPGRADE eqUpgrade.jsp +设备更新 设备更新管理 /eq/update TB_EQUPDATE eqUpdate.jsp +设备替换 设备替换管理 /eq/replace TB_EQREPLACE eqReplace.jsp +设备淘汰 设备淘汰管理 /eq/eliminate TB_EQELIMINATE eqEliminate.jsp +设备处置 设备处置管理 /eq/disposal TB_EQDISPOSAL eqDisposal.jsp +设备拍卖 设备拍卖管理 /eq/auction TB_EQAUCTION eqAuction.jsp +设备捐赠 设备捐赠管理 /eq/donate TB_EQDONATE eqDonate.jsp +设备报废申请 设备报废申请 /eq/scrapapply TB_EQSCRAPAPPLY eqScrapApply.jsp +设备处置申请 设备处置申请 /eq/disposalapply TB_EQDISPOSALAPPLY eqDisposalApply.jsp +设备拍卖申请 设备拍卖申请 /eq/auctionapply TB_EQAUCTIONAPPLY eqAuctionApply.jsp +设备捐赠申请 设备捐赠申请 /eq/donateapply TB_EQDONATEAPPLY eqDonateApply.jsp +设备评估 设备评估管理 /eq/assessment TB_EQASSESSMENT eqAssessment.jsp +设备估价 设备估价管理 /eq/valuation TB_EQVALUATION eqValuation.jsp +设备鉴定 设备鉴定管理 /eq/appraisal TB_EQAPPRAISAL eqAppraisal.jsp +设备检测 设备检测管理 /eq/detection TB_EQDETECTION eqDetection.jsp +设备检验 设备检验管理 /eq/inspection TB_EQINSPECTION eqInspection.jsp +设备试验 设备试验管理 /eq/test TB_EQTEST eqTest.jsp +设备验证 设备验证管理 /eq/verification TB_EQVERIFICATION eqVerification.jsp +设备确认 设备确认管理 /eq/confirmation TB_EQCONFIRMATION eqConfirmation.jsp +设备审核 设备审核管理 /eq/audit TB_EQAUDIT eqAudit.jsp +设备审批 设备审批管理 /eq/approve TB_EQAPPROVE eqApprove.jsp +设备备案 设备备案管理 /eq/record TB_EQRECORD eqRecord.jsp +设备注册 设备注册管理 /eq/register TB_EQREGISTER eqRegister.jsp +设备登记 设备登记管理 /eq/registration TB_EQREGISTRATION eqRegistration.jsp +设备申报 设备申报管理 /eq/declare TB_EQDECLARE eqDeclare.jsp +设备报备 设备报备管理 /eq/report TB_EQREPORT eqReport.jsp +设备通报 设备通报管理 /eq/notify TB_EQNOTIFY eqNotify.jsp +设备公告 设备公告管理 /eq/announcement TB_EQANNOUNCEMENT eqAnnouncement.jsp +设备通知 设备通知管理 /eq/notice TB_EQNOTICE eqNotice.jsp +设备提醒 设备提醒管理 /eq/remind TB_EQREMIND eqRemind.jsp +设备预警 设备预警管理 /eq/earlywarning TB_EQEARLYWARNING eqEarlyWarning.jsp +设备预告 设备预告管理 /eq/forecast TB_EQFORECAST eqForecast.jsp +设备预测 设备预测管理 /eq/prediction TB_EQPREDICTION eqPrediction.jsp +设备预报 设备预报管理 /eq/prediction2 TB_EQPREDICTION2 eqPrediction2.jsp +设备预检 设备预检管理 /eq/preinspection TB_EQPREINSPECTION eqPreInspection.jsp +设备预修 设备预修管理 /eq/prerepair TB_EQPREREPAIR eqPreRepair.jsp +设备预保 设备预保管理 /eq/premaintain TB_EQPREMAINTAIN eqPreMaintain.jsp +设备预巡检 设备预巡检管理 /eq/prepatrol TB_EQPREPATROL eqPrePatrol.jsp +设备预点检 设备预点检管理 /eq/precheck TB_EQPRECHECK eqPreCheck.jsp +设备预润滑 设备预润滑管理 /eq/prelubricate TB_EQPRELUBRICATE eqPreLubricate.jsp +设备预校准 设备预校准管理 /eq/precalibrate TB_EQPRECALIBRATE eqPreCalibrate.jsp +设备预培训 设备预培训管理 /eq/pretrain TB_EQPRETRAIN eqPreTrain.jsp +设备预事故 设备预事故管理 /eq/preaccident TB_EQPREACCIDENT eqPreAccident.jsp +设备预故障 设备预故障管理 /eq/prefault TB_EQPREFAULT eqPreFault.jsp +设备预维修 设备预维修管理 /eq/prerepair2 TB_EQPREREPAIR2 eqPreRepair2.jsp +设备预保养 设备预保养管理 /eq/premaintain2 TB_EQPREMAINTAIN2 eqPreMaintain2.jsp +设备预巡检 设备预巡检管理 /eq/prepatrol2 TB_EQPREPATROL2 eqPrePatrol2.jsp +设备预点检 设备预点检管理 /eq/precheck2 TB_EQPRECHECK2 eqPreCheck2.jsp +设备预润滑 设备预润滑管理 /eq/prelubricate2 TB_EQPRELUBRICATE2 eqPreLubricate2.jsp +设备预校准 设备预校准管理 /eq/precalibrate2 TB_EQPRECALIBRATE2 eqPreCalibrate2.jsp +设备预培训 设备预培训管理 /eq/pretrain2 TB_EQPRETRAIN2 eqPreTrain2.jsp +设备预事故 设备预事故管理 /eq/preaccident2 TB_EQPREACCIDENT2 eqPreAccident2.jsp +设备预故障 设备预故障管理 /eq/prefault2 TB_EQPREFAULT2 eqPreFault2.jsp +设备预维修 设备预维修管理 /eq/prerepair3 TB_EQPREREPAIR3 eqPreRepair3.jsp +设备预保养 设备预保养管理 /eq/premaintain3 TB_EQPREMAINTAIN3 eqPreMaintain3.jsp +设备预巡检 设备预巡检管理 /eq/prepatrol3 TB_EQPREPATROL3 eqPrePatrol3.jsp +设备预点检 设备预点检管理 /eq/precheck3 TB_EQPRECHECK3 eqPreCheck3.jsp +设备预润滑 设备预润滑管理 /eq/prelubricate3 TB_EQPRELUBRICATE3 eqPreLubricate3.jsp +设备预校准 设备预校准管理 /eq/precalibrate3 TB_EQPRECALIBRATE3 eqPreCalibrate3.jsp +设备预培训 设备预培训管理 /eq/pretrain3 TB_EQPRETRAIN3 eqPreTrain3.jsp +设备预事故 设备预事故管理 /eq/preaccident3 TB_EQPREACCIDENT3 eqPreAccident3.jsp +设备预故障 设备预故障管理 /eq/prefault3 TB_EQPREFAULT3 eqPreFault3.jsp \ No newline at end of file diff --git a/功能清单详细版.xlsx b/功能清单详细版.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..e7677673e69c2dbd1accd5b8dbbb6886ee469a3c GIT binary patch literal 31997 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