diff --git a/.gitignore b/.gitignore index 7e5d0e1..e625a99 100644 --- a/.gitignore +++ b/.gitignore @@ -52,3 +52,4 @@ application-my.yaml /urbanops-ui-app/unpackage/ **/.DS_Store +old/ diff --git a/.trae/documents/兼容旧接口路径的桥接实现方案.md b/.trae/documents/兼容旧接口路径的桥接实现方案.md new file mode 100644 index 0000000..e208f97 --- /dev/null +++ b/.trae/documents/兼容旧接口路径的桥接实现方案.md @@ -0,0 +1,42 @@ +## 现状排查结论 +- `material/out/listForPage`:已迁移并存在,路径不变(POST)。位置:`controller/admin/material/MaterialOutController.java:39` +- 费用类接口已迁移到 garden 模块,但基础路径统一为 `garden/*`,查询接口统一使用 `GET /page`: + - 旧 `/costfee/departmentcost/list` → 新 `GET /garden/department-cost/page`(部门费用)位置:`controller/admin/departmentcost/DepartmentCostController.java:83` + - 旧 `/costfee/mechanicalcost/list` → 新 `GET /garden/mechanical-cost/page`(自有机械费用)位置:`controller/admin/mechanicalcost/MechanicalCostController.java:107` + - 旧 `/costfee/rentalmechanicalcost/list` → 新 `GET /garden/rental-mechanical-cost/page`(租赁机械费用)位置:`controller/admin/rentalmechanicalcost/RentalMechanicalCostController.java:99` + - 旧 `/costfee/gardenwasterecord/list` → 新 `GET /garden/waste-record/page`(园林废弃物)位置:`controller/admin/wasterecord/WasteRecordController.java:83` +- 系统用户分页:旧 `/system/user/listForPage` 不存在;新为 `GET /system/user/page`,位置:`urbanops-module-system/controller/admin/user/UserController.java:99` + +## 目标 +- 在不改动前端的情况下,兼容旧路径:为上述旧路径添加桥接(alias)接口,委托到现有服务或新路径,实现等价分页/列表能力。 + +## 实施方案 +1. 新增桥接控制器(不改现有业务控制器): + - `controller/admin/costfee/DepartmentCostBridgeController`:`@RequestMapping("/costfee/departmentcost")` + - `@GetMapping("/list")` → 适配分页 VO,内部调用 `departmentCostService.getDepartmentCostPage(...)` + - `controller/admin/costfee/MechanicalCostBridgeController`:`@RequestMapping("/costfee/mechanicalcost")` + - `@GetMapping("/list")` → 委托 `mechanicalCostService.getMechanicalCostPage(...)` + - `controller/admin/costfee/RentalMechanicalCostBridgeController`:`@RequestMapping("/costfee/rentalmechanicalcost")` + - `@GetMapping("/list")` → 委托 `rentalMechanicalCostService.getRentalMechanicalCostPage(...)` + - `controller/admin/costfee/GardenWasteRecordBridgeController`:`@RequestMapping("/costfee/gardenwasterecord")` + - `@GetMapping("/list")` → 委托 `wasteRecordService.getWasteRecordPage(...)` +2. 系统用户桥接: + - 在 `urbanops-module-system` 新增 `controller/admin/user/UserBridgeController`:`@RequestMapping("/system/user")` + - `@PostMapping("/listForPage")` → 将请求体(或表单)转换为 `UserPageReqVO`,委托 `AdminUserService.getUserPage(...)` 返回分页。 +3. 统一返回结构: + - 所有桥接接口返回 `CommonResult>`,与现有新接口保持一致;如旧前端要求表格结构,按需封装字段但不改核心分页数据。 +4. 权限与审计: + - 复用现有权限标识:`@PreAuthorize` 与对应 `garden:*` 或 `system:*` 权限,不新增冗余权限点。 +5. 兼容性细节: + - 旧接口使用 `list` 命名且可能 GET;桥接按旧签名支持 GET 并允许 query 传参;必要时支持 POST(根据旧前端调用方式)。 + - 字段名差异通过桥接层 VO 做轻量映射(如旧字段为 `pageNum/pageSize`)。 + +## 测试与验证 +- 为每个桥接接口补充最小的集成测试:校验分页入参映射、权限与返回数据结构。 +- 本地编译与启动后,用现有新接口的数据源验证桥接输出一致性。 + +## 变更范围控制 +- 不改现有业务控制器和服务实现;新增仅限桥接控制器与必要的请求 VO(轻量)。 +- 不改数据库结构与 Mapper。 + +请确认以上桥接方案;确认后我将按上述路径添加兼容接口并进行编译与验证。 \ No newline at end of file diff --git a/.trae/documents/继续迁移剩余旧接口到 urbanops-module-garden.md b/.trae/documents/继续迁移剩余旧接口到 urbanops-module-garden.md new file mode 100644 index 0000000..085e43f --- /dev/null +++ b/.trae/documents/继续迁移剩余旧接口到 urbanops-module-garden.md @@ -0,0 +1,56 @@ +# 迁移计划 + +## 范围与目标 +- 将旧工程 `/old/servicemanager/src/main/java/com/servicemanager/project/` 下剩余接口完整迁移到 `urbanops-module-garden`,保持原「路径/行为」不变。 +- 统一数据表前缀为 `garden_`,对齐新模块的分层规范(controller/admin|app、service、dal/mysql、dal/dataobject、vo)。 + +## 当前进度(已完成且编译通过) +- 树档案与古树:`/business/tree/*`、`/treerecord/oldtrees/*` +- 养护计划与提交:`/maintain/plan/*`、`/app/plan/commit/*` +- 物料库存/入出库:`/material/inventory/*`、`/material/in/*`、`/material/out/*` +- 热线案件/文件/照片:`/business/hotlinecase/*`(含聚合详情 `/getInfoMore/{id}`)、`/business/file/*`、`/business/sysphoto/*` +- PC 问题管理/任务:`/pc/problem/manager/*`、`/pc/problem/task/*` +- 部门桥接、基础字典、道路、养护频次、摄像机接口等 + +## 待迁移内容 +- 绩效系列 + - `/performance/index/listForPage` + - `/performance/write/listForPage` + - `/performance/experts/listForPage` +- 项目与子项目 + - `/project/manager/listForPage` + - `/project/manager/selectProjectManagerForList` + - `/subProject/manager/listForPage` +- 物料管理剩余 + - `/material/manager/*`(分页、列表、导出) + - `/materialType/*`(大类/中类/分页、导入导出) + +## 技术方案 +- 控制层 + - 保持旧路径与 HTTP 方法不变;后台接口放 `controller/admin/*`,App 接口放 `controller/app/*`。 + - 权限注解对齐(`@PreAuthorize`),沿用旧权限字符串或等价替换。 +- 服务层 + - 迁移旧的业务服务方法,保持参数/校验/业务流程;使用新模块工具集(分页 `PageParam/PageResult`、统一响应 `CommonResult`)。 +- 数据访问层 + - Mapper 改造为 `BaseMapperX + LambdaQueryWrapperX`,SQL 条件与排序对齐旧逻辑。 + - DataObject 使用 `@TableName("garden_*")` 对齐重命名后的表。 +- VO/DTO + - 保持旧的入参/出参结构;命名与包路径迁移至新模块相应 `vo` 目录。 + +## 数据表映射 +- 旧表 `td_*/t_*` → 新表 `garden_*`(如 `td_project_manager` → `garden_project_manager`,`td_performance_index` → `garden_performance_index`,`td_material_type` → `garden_material_type` 等)。 +- 统一使用新模块审计字段(creator/updater、createTime/updateTime)与部门/公司维度(`SecurityFrameworkUtils`)。 + +## 验证与交付 +- 每批迁移完成后: + - 运行 `mvn -q -DskipTests -U -pl urbanops-module-garden -am compile` 验证编译。 + - 提供可访问端点清单与关键入参示例。 + - 对导出接口进行本地验证(返回 XLS)。 + +## 风险与处理 +- 依赖缓存损坏(如 kotlin 相关):遇到后强制更新或清理缓存后重试编译。 +- 权限字符串不一致:若旧权限在新模块中无对应,按域统一到 `garden:*:*` 规范并在说明中列出调整。 + +## 需要确认 +- 绩效/项目/物料三组是否作为本次优先批次全部迁移? +- 若有其他域需优先(例如 App 端补充查询或导入),请指出以便先行安排。 \ No newline at end of file diff --git a/.trae/documents/迁移并兼容 _yuanl_system_dict_data_type_{dictType} 接口.md b/.trae/documents/迁移并兼容 _yuanl_system_dict_data_type_{dictType} 接口.md new file mode 100644 index 0000000..5990228 --- /dev/null +++ b/.trae/documents/迁移并兼容 _yuanl_system_dict_data_type_{dictType} 接口.md @@ -0,0 +1,18 @@ +## 目标 +- 提供旧路径 `/yuanl/system/dict/data/type/{dictType}` 的字典查询接口,返回与现有系统一致的字典数据列表,减少前端改动。 + +## 现状 +- 已有接口:`GET /system/dict-data/type?type=...`(App端),使用 `DictDataService.getDictDataList(...)` 并返回 `AppDictDataRespVO`。 +- 未存在 `/yuanl/system/dict/data/type/{dictType}` 旧路径。 + +## 实施方案 +- 在 `urbanops-module-system` 新增桥接控制器 `DictDataBridgeController`: + - 类级路径:`@RequestMapping("/yuanl/system/dict/data")` + - 方法:`@GetMapping("/type/{dictType}")`,`@PermitAll` + - 入参:`@PathVariable("dictType") String dictType` + - 逻辑:调用 `DictDataService.getDictDataList(CommonStatusEnum.ENABLE.getStatus(), dictType)`,返回 `List`(含 `id/label/value/dictType`)。 +- 返回结构与 `AppDictDataController` 保持一致,便于前端复用。 +- 不改动现有控制器与服务,实现最小侵入的兼容。 + +## 验证 +- 编译 `urbanops-module-system` 并启动,使用示例:`GET /yuanl/system/dict/data/type/maintaint_type`;对比 `GET /system/dict-data/type?type=maintaint_type` 结果一致。 \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..d53ecaf --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,4 @@ +{ + "java.compile.nullAnalysis.mode": "automatic", + "java.configuration.updateBuildConfiguration": "automatic" +} \ No newline at end of file diff --git a/urbanops-module-garden/pom.xml b/urbanops-module-garden/pom.xml index 975424e..8ea1192 100644 --- a/urbanops-module-garden/pom.xml +++ b/urbanops-module-garden/pom.xml @@ -82,6 +82,13 @@ velocity-engine-core + + + com.squareup.okhttp3 + okhttp + 3.14.9 + + com.zteits.boot diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/base/BaseCommonController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/base/BaseCommonController.java new file mode 100644 index 0000000..11ae5c9 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/base/BaseCommonController.java @@ -0,0 +1,59 @@ +package com.zteits.urbanops.module.garden.controller.admin.base; + +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import com.zteits.urbanops.module.garden.controller.app.vo.DictTypeRespVO; +import com.zteits.urbanops.module.system.dal.dataobject.dict.DictDataDO; +import com.zteits.urbanops.module.system.service.dict.DictDataService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 基础字典") +@RestController +@RequestMapping("/base/common") +public class BaseCommonController { + + @Resource + private DictDataService dictDataService; + + @GetMapping("/maintaint_grade/list") + @Operation(summary = "养护等级列表") + public CommonResult> maintaintGradeList() { + return success(getDictList("maintaint_grade")); + } + + @GetMapping("/plant_type/list") + @Operation(summary = "植物类型列表") + public CommonResult> plantTypeList() { + return success(getDictList("plant_type")); + } + + @GetMapping("/maintaint_type/list") + @Operation(summary = "养护类型列表") + public CommonResult> maintaintTypeList() { + return success(getDictList("maintaint_type")); + } + + private List getDictList(String type) { + List respList = new ArrayList<>(); + List list = dictDataService.getDictDataListByDictType(type); + if (list == null || list.isEmpty()) { + return respList; + } + for (DictDataDO e : list) { + DictTypeRespVO resp = new DictTypeRespVO(); + resp.setValue(e.getValue()); + resp.setLabel(e.getLabel()); + respList.add(resp); + } + return respList; + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/costfee/WaterFeeBridgeController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/costfee/WaterFeeBridgeController.java new file mode 100644 index 0000000..d288eed --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/costfee/WaterFeeBridgeController.java @@ -0,0 +1,36 @@ +package com.zteits.urbanops.module.garden.controller.admin.costfee; + +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.module.garden.controller.admin.waterfee.vo.WaterFeePageReqVO; +import com.zteits.urbanops.module.garden.dal.dataobject.waterfee.WaterFeeDO; +import com.zteits.urbanops.module.garden.service.waterfee.WaterFeeService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 水费桥接") +@RestController +@RequestMapping("/costfee/waterfee") +public class WaterFeeBridgeController { + + @Resource + private WaterFeeService waterFeeService; + + @GetMapping("/list") + @Operation(summary = "水费录入-列表") + public CommonResult> list(WaterFeePageReqVO reqVO) { + if (reqVO.getPageSize() == null || reqVO.getPageSize() <= 0) { + reqVO.setPageSize(10); + } + if (reqVO.getPageNo() == null || reqVO.getPageNo() <= 0) { + reqVO.setPageNo(1); + } + return success(waterFeeService.getWaterFeePage(reqVO)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/departmentcost/DepartmentCostController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/departmentcost/DepartmentCostController.java index 0c5ee00..7c57c9c 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/departmentcost/DepartmentCostController.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/departmentcost/DepartmentCostController.java @@ -31,7 +31,7 @@ import com.zteits.urbanops.module.garden.service.departmentcost.DepartmentCostSe @Tag(name = "管理后台 - 部门费用录入") @RestController -@RequestMapping("/garden/department-cost") +@RequestMapping({"/garden/department-cost", "/costfee/departmentcost"}) @Validated public class DepartmentCostController { @@ -88,6 +88,14 @@ public class DepartmentCostController { return success(BeanUtils.toBean(pageResult, DepartmentCostRespVO.class)); } + @GetMapping("/list") + @Operation(summary = "部门费用录入-列表(兼容旧路径)") + @PreAuthorize("@ss.hasPermission('garden:department-cost:query')") + public CommonResult> list(@Valid DepartmentCostPageReqVO pageReqVO) { + PageResult pageResult = departmentCostService.getDepartmentCostPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, DepartmentCostRespVO.class)); + } + @GetMapping("/export-excel") @Operation(summary = "导出部门费用录入 Excel") @PreAuthorize("@ss.hasPermission('garden:department-cost:export')") diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/device/CameraRecorderController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/device/CameraRecorderController.java new file mode 100644 index 0000000..3f1a416 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/device/CameraRecorderController.java @@ -0,0 +1,41 @@ +package com.zteits.urbanops.module.garden.controller.admin.device; + +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.web.bind.annotation.*; + +import java.util.Collections; +import java.util.Map; + +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 执法记录仪") +@RestController +@RequestMapping("/camera/recorder") +public class CameraRecorderController { + + @GetMapping("/device/page") + @Operation(summary = "设备-分页查询") + public CommonResult> devicePage(@RequestParam(value = "device_name", required = false) String deviceName, + @RequestParam(value = "enter_id", required = false) Integer enterId, + @RequestParam(value = "group_id", required = false) Integer groupId, + @RequestParam("page") Integer page, + @RequestParam("pageSize") Integer pageSize) { + return success(Collections.emptyMap()); + } + + @PostMapping("/device/recordFileList") + @Operation(summary = "设备-设备执法记录信息") + public CommonResult> deviceRecordFileList(@RequestBody Map req) { + return success(Collections.emptyMap()); + } + + @GetMapping("/group/group_list") + @Operation(summary = "调度组-分页") + public CommonResult> groupList(@RequestParam(value = "group_name", required = false) String groupName, + @RequestParam("page") Integer page, + @RequestParam("pageSize") Integer pageSize) { + return success(Collections.emptyMap()); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/device/CameraRecorderOldController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/device/CameraRecorderOldController.java new file mode 100644 index 0000000..f3971cf --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/device/CameraRecorderOldController.java @@ -0,0 +1,49 @@ +package com.zteits.urbanops.module.garden.controller.admin.device; + +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils; +import com.zteits.urbanops.module.garden.service.device.CameraRecorderHelper; +import com.zteits.urbanops.module.garden.controller.admin.device.vo.RecordFileListReq; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import jakarta.validation.Valid; +import org.springframework.web.bind.annotation.*; + +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 执法记录仪") +@RestController +@RequestMapping("/camera/recorder") +public class CameraRecorderOldController { + + @Resource + private CameraRecorderHelper cameraRecorderHelper; + + @GetMapping("/device/page") + @Operation(summary = "设备-分页查询") + public CommonResult devicePage(@RequestParam(value = "device_name", required = false) String deviceName, + @RequestParam(value = "enter_id", required = false) Integer enterId, + @RequestParam(value = "group_id", required = false) Integer groupId, + @RequestParam("page") Integer page, + @RequestParam("pageSize") Integer pageSize) { + Long companyId = SecurityFrameworkUtils.getLoginUserDeptId(); + return cameraRecorderHelper.devicePage(deviceName, enterId, groupId, page, pageSize, companyId); + } + + @PostMapping("/device/recordFileList") + @Operation(summary = "设备-设备执法记录信息") + public CommonResult deviceRecordFileList(@Valid @RequestBody RecordFileListReq req) { + Long companyId = SecurityFrameworkUtils.getLoginUserDeptId(); + return cameraRecorderHelper.recordFileList(req, companyId); + } + + @GetMapping("/group/group_list") + @Operation(summary = "调度组-分页") + public CommonResult groupList(@RequestParam(value = "group_name", required = false) String groupName, + @RequestParam("page") Integer page, + @RequestParam("pageSize") Integer pageSize) { + Long companyId = SecurityFrameworkUtils.getLoginUserDeptId(); + return cameraRecorderHelper.groupList(groupName, page, pageSize, companyId); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/device/vo/RecordFileListReq.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/device/vo/RecordFileListReq.java new file mode 100644 index 0000000..d1dd290 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/device/vo/RecordFileListReq.java @@ -0,0 +1,17 @@ +package com.zteits.urbanops.module.garden.controller.admin.device.vo; + +import jakarta.validation.constraints.NotEmpty; +import lombok.Data; + +@Data +public class RecordFileListReq { + @NotEmpty + public String st; + @NotEmpty + public String et; + public String keywords; + public Integer page; + public Integer pageSize; + public Long groupId; + public String devId; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/gps/UserGpsController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/gps/UserGpsController.java new file mode 100644 index 0000000..0b24916 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/gps/UserGpsController.java @@ -0,0 +1,33 @@ +package com.zteits.urbanops.module.garden.controller.admin.gps; + +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import com.zteits.urbanops.module.garden.controller.admin.gps.vo.UserGpsReqVO; +import com.zteits.urbanops.module.garden.controller.app.vo.UserGpsRespVO; +import com.zteits.urbanops.module.garden.service.usergps.UserGpsService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import jakarta.validation.Valid; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 用户经纬度") +@RestController +@RequestMapping("/user/gps") +public class UserGpsController { + + @Resource + private UserGpsService userGpsService; + + @PostMapping("/list") + @Operation(summary = "用户经纬度-查询") + public CommonResult> list(@Valid @RequestBody UserGpsReqVO reqVO) { + return success(userGpsService.selectUserGpsList(reqVO.getUserId(), reqVO.getBeginTime(), reqVO.getEndTime())); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/gps/vo/UserGpsReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/gps/vo/UserGpsReqVO.java new file mode 100644 index 0000000..9500bdd --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/gps/vo/UserGpsReqVO.java @@ -0,0 +1,15 @@ +package com.zteits.urbanops.module.garden.controller.admin.gps.vo; + +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +@Data +public class UserGpsReqVO { + @NotNull + private Long userId; + @NotEmpty + private String beginTime; + @NotEmpty + private String endTime; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/homepage/MaintainSummaryController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/homepage/MaintainSummaryController.java new file mode 100644 index 0000000..67e4975 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/homepage/MaintainSummaryController.java @@ -0,0 +1,118 @@ +package com.zteits.urbanops.module.garden.controller.admin.homepage; + +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils; +import com.zteits.urbanops.module.garden.controller.admin.homepage.vo.CommitCountByCompanyReqVO; +import com.zteits.urbanops.module.garden.controller.admin.homepage.vo.HomePageSummaryReqVO; +import com.zteits.urbanops.module.garden.controller.admin.homepage.vo.MaintainProportionReqVO; +import com.zteits.urbanops.module.garden.service.homepage.MaintainSummaryService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import jakarta.validation.Valid; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; +import java.util.Map; + +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 首页汇总") +@RestController +@RequestMapping("/homePage/summary") +public class MaintainSummaryController { + + @Resource + private MaintainSummaryService maintainSummaryService; + + @PostMapping("/getSummary") + @Operation(summary = "首页汇总") + public CommonResult> getSummary(@Valid @RequestBody HomePageSummaryReqVO req) { + Long companyId = SecurityFrameworkUtils.getLoginUserDeptId(); + return success(maintainSummaryService.selectMaintainSummary(req, companyId)); + } + + @PostMapping("/getSummary/maintain_type") + @Operation(summary = "首页汇总-养护类型统计") + public CommonResult>>> getSummaryByMaintainType(@Valid @RequestBody HomePageSummaryReqVO req) { + Long companyId = SecurityFrameworkUtils.getLoginUserDeptId(); + return success(maintainSummaryService.getSummaryByMaintainType(req, companyId)); + } + + @PostMapping("/getSummary/maintain_type/proportion") + @Operation(summary = "首页汇总-养护类型占比") + public CommonResult>> getSummaryByMaintainProportion(@Valid @RequestBody HomePageSummaryReqVO req) { + Long companyId = SecurityFrameworkUtils.getLoginUserDeptId(); + return success(maintainSummaryService.getSummaryByMaintainProportion(req, companyId)); + } + + @PostMapping("/getSummary/plant_type/proportion") + @Operation(summary = "首页汇总-植物类型占比") + public CommonResult>> getSummaryByPlantProportion(@Valid @RequestBody HomePageSummaryReqVO req) { + Long companyId = SecurityFrameworkUtils.getLoginUserDeptId(); + return success(maintainSummaryService.getSummaryByPlantProportion(req, companyId)); + } + + @PostMapping("/getSummary/company") + @Operation(summary = "首页汇总-按公司统计") + public CommonResult> getSummaryByCompany(@Valid @RequestBody HomePageSummaryReqVO req) { + Long companyId = SecurityFrameworkUtils.getLoginUserDeptId(); + return success(maintainSummaryService.selectSummaryByCompany(req, companyId)); + } + + @PostMapping("/proportion/by/company") + @Operation(summary = "首页汇总-按公司统计提交量占比") + public CommonResult>> proportionByCompany(@Valid @RequestBody HomePageSummaryReqVO req) { + return success(maintainSummaryService.getProportionByCompany(req.beginTime, req.endTime)); + } + + @PostMapping("/commitCount/by/company") + @Operation(summary = "按公司统计-提交工单数量") + public CommonResult>> getCommitCountByCompany(@Valid @RequestBody CommitCountByCompanyReqVO req) { + return success(maintainSummaryService.getCommitCountByCompany(req)); + } + + @PostMapping("/pressing_type/by/company") + @Operation(summary = "按公司统计-紧急程度占比") + public CommonResult>> getPressingTypeByCompany(@Valid @RequestBody CommitCountByCompanyReqVO req) { + return success(maintainSummaryService.getPressingTypeByCompany(req)); + } + + @PostMapping("/process/order/xc") + @Operation(summary = "个人-巡查处理工单量排名") + public CommonResult>> getXcProcessOrder(@Valid @RequestBody CommitCountByCompanyReqVO req) { + Long companyId = SecurityFrameworkUtils.getLoginUserDeptId(); + return success(maintainSummaryService.getXcProcessOrder(companyId, req.beginTime, req.endTime)); + } + + @PostMapping("/process/order/yh") + @Operation(summary = "个人-养护处理工单量排名") + public CommonResult>> getProcessOrderReturn(@Valid @RequestBody CommitCountByCompanyReqVO req) { + Long companyId = SecurityFrameworkUtils.getLoginUserDeptId(); + return success(maintainSummaryService.getProcessOrderReturn(companyId, req.beginTime, req.endTime)); + } + + @PostMapping("/commitCount/group/commitDate") + @Operation(summary = "按时间统计-工单提交量") + public CommonResult>> getCommitCountByTime(@Valid @RequestBody CommitCountByCompanyReqVO req) { + Long companyId = SecurityFrameworkUtils.getLoginUserDeptId(); + return success(maintainSummaryService.getCommitCountByTime(companyId, req)); + } + + @PostMapping("/orderList/by/status") + @Operation(summary = "按单位-工单处理情况") + public CommonResult>> getOrderList(@Valid @RequestBody MaintainProportionReqVO req) { + Long companyId = SecurityFrameworkUtils.getLoginUserDeptId(); + return success(maintainSummaryService.getOrderList(companyId, req.getTaskStatus())); + } + + @PostMapping("/maintainTypeCount") + @Operation(summary = "首页汇总-养护类型统计") + public CommonResult> maintainTypeAndGrowthRate(@Valid @RequestBody HomePageSummaryReqVO req) { + Long companyId = SecurityFrameworkUtils.getLoginUserDeptId(); + return success(maintainSummaryService.getSummaryByMaintainTypeAndGrowthRate(req, companyId)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/homepage/vo/CommitCountByCompanyReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/homepage/vo/CommitCountByCompanyReqVO.java new file mode 100644 index 0000000..a198f02 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/homepage/vo/CommitCountByCompanyReqVO.java @@ -0,0 +1,12 @@ +package com.zteits.urbanops.module.garden.controller.admin.homepage.vo; + +import jakarta.validation.constraints.NotEmpty; +import lombok.Data; + +@Data +public class CommitCountByCompanyReqVO { + @NotEmpty + public String beginTime; + @NotEmpty + public String endTime; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/homepage/vo/HomePageSummaryReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/homepage/vo/HomePageSummaryReqVO.java new file mode 100644 index 0000000..ceac347 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/homepage/vo/HomePageSummaryReqVO.java @@ -0,0 +1,12 @@ +package com.zteits.urbanops.module.garden.controller.admin.homepage.vo; + +import jakarta.validation.constraints.NotEmpty; +import lombok.Data; + +@Data +public class HomePageSummaryReqVO { + @NotEmpty + public String beginTime; + @NotEmpty + public String endTime; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/homepage/vo/MaintainProportionReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/homepage/vo/MaintainProportionReqVO.java new file mode 100644 index 0000000..d97184b --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/homepage/vo/MaintainProportionReqVO.java @@ -0,0 +1,10 @@ +package com.zteits.urbanops.module.garden.controller.admin.homepage.vo; + +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +@Data +public class MaintainProportionReqVO { + @NotNull + private Integer taskStatus; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/hotline/HotlineCaseAdminController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/hotline/HotlineCaseAdminController.java new file mode 100644 index 0000000..5a55d89 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/hotline/HotlineCaseAdminController.java @@ -0,0 +1,86 @@ +package com.zteits.urbanops.module.garden.controller.admin.hotline; + +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import com.zteits.urbanops.framework.common.pojo.PageParam; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.excel.core.util.ExcelUtils; +import com.zteits.urbanops.module.garden.dal.dataobject.hotline.HotlineCaseDO; +import com.zteits.urbanops.module.garden.service.hotline.HotlineCaseService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletResponse; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.io.IOException; +import java.util.List; + +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; +import static com.zteits.urbanops.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import com.zteits.urbanops.framework.apilog.core.annotation.ApiAccessLog; + +@Tag(name = "管理后台 - 12345案件信息") +@RestController +@RequestMapping("/business/hotlinecase") +public class HotlineCaseAdminController { + + @Resource + private HotlineCaseService service; + + @GetMapping("/list") + @Operation(summary = "查询列表") + @PreAuthorize("@ss.hasPermission('business:hotlinecase:list')") + public CommonResult> list(HotlineCaseDO where, + @RequestParam(value = "pageNum", required = false) Integer pageNum, + @RequestParam(value = "pageSize", required = false) Integer pageSize) { + PageParam page = new PageParam(); + page.setPageNo(pageNum == null ? 1 : pageNum); + page.setPageSize(pageSize == null ? 10 : pageSize); + return success(service.selectPage(page, where)); + } + + @PostMapping("export") + @Operation(summary = "导出列表") + @PreAuthorize("@ss.hasPermission('business:hotlinecase:export')") + @ApiAccessLog(operateType = EXPORT) + public void export(HotlineCaseDO where, HttpServletResponse response) throws IOException { + List list = service.selectPage(new PageParam(), where).getList(); + ExcelUtils.write(response, "12345案件信息.xls", "数据", HotlineCaseDO.class, list); + } + + @GetMapping("/{id}") + @Operation(summary = "详情") + @PreAuthorize("@ss.hasPermission('business:hotlinecase:query')") + public CommonResult getInfo(@PathVariable("id") String id) { + return success(service.selectById(id)); + } + + @GetMapping("/getInfoMore/{id}") + @Operation(summary = "详情(含附件与照片)") + @PreAuthorize("@ss.hasPermission('business:hotlinecase:query')") + public CommonResult getInfoMore(@PathVariable("id") String id) { + return success(service.getDetail(id)); + } + + @PostMapping + @Operation(summary = "新增") + @PreAuthorize("@ss.hasPermission('business:hotlinecase:add')") + public CommonResult add(@RequestBody HotlineCaseDO entity) { + return success(service.insert(entity)); + } + + @PutMapping + @Operation(summary = "修改") + @PreAuthorize("@ss.hasPermission('business:hotlinecase:edit')") + public CommonResult edit(@RequestBody HotlineCaseDO entity) { + return success(service.update(entity)); + } + + @DeleteMapping("/{ids}") + @Operation(summary = "删除") + @PreAuthorize("@ss.hasPermission('business:hotlinecase:remove')") + public CommonResult remove(@PathVariable List ids) { + return success(service.deleteByIds(ids)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/hotline/HotlineCaseController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/hotline/HotlineCaseController.java new file mode 100644 index 0000000..3e4f025 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/hotline/HotlineCaseController.java @@ -0,0 +1,32 @@ +package com.zteits.urbanops.module.garden.controller.admin.hotline; + +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import com.zteits.urbanops.framework.common.pojo.PageParam; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Collections; +import java.util.List; +import java.util.Map; + +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 热线工单") +@RestController +@RequestMapping("/business/hotlinecase-compat") +public class HotlineCaseController { + + @GetMapping("/list") + @Operation(summary = "热线工单-列表") + public CommonResult>> list(@RequestParam(value = "page", required = false) Integer page, + @RequestParam(value = "pageSize", required = false) Integer pageSize) { + List> records = Collections.emptyList(); + long total = 0L; + return success(new PageResult<>(records, total)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/hotline/HotlineFileController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/hotline/HotlineFileController.java new file mode 100644 index 0000000..414a91b --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/hotline/HotlineFileController.java @@ -0,0 +1,69 @@ +package com.zteits.urbanops.module.garden.controller.admin.hotline; + +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import com.zteits.urbanops.framework.excel.core.util.ExcelUtils; +import com.zteits.urbanops.module.garden.dal.dataobject.hotline.HotlineFileDO; +import com.zteits.urbanops.module.garden.service.hotline.HotlineFileService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.io.IOException; +import java.util.Arrays; +import java.util.List; + +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 12345案件-文件") +@RestController +@RequestMapping("/business/file") +public class HotlineFileController { + + @Resource + private HotlineFileService hotlineFileService; + + @PostMapping("/parseFile") + @Operation(summary = "解析word文档") + public CommonResult parseFile(@RequestParam("file") MultipartFile file) throws Exception { + return success(hotlineFileService.parseFile(file)); + } + + @GetMapping("/list") + @Operation(summary = "文件-列表") + public CommonResult> list(HotlineFileDO where) { + return success(hotlineFileService.selectList(where)); + } + + @GetMapping("/export") + @Operation(summary = "文件-导出") + public void export(HotlineFileDO where, jakarta.servlet.http.HttpServletResponse response) throws IOException { + List list = hotlineFileService.selectList(where); + ExcelUtils.write(response, "file.xls", "数据", HotlineFileDO.class, list); + } + + @GetMapping("/{caseid}") + @Operation(summary = "文件-详情") + public CommonResult getInfo(@PathVariable("caseid") String caseid) { + return success(hotlineFileService.selectById(caseid)); + } + + @PostMapping + @Operation(summary = "文件-新增") + public CommonResult add(@RequestBody HotlineFileDO entity) { + return success(hotlineFileService.insert(entity)); + } + + @PutMapping + @Operation(summary = "文件-修改") + public CommonResult edit(@RequestBody HotlineFileDO entity) { + return success(hotlineFileService.update(entity)); + } + + @DeleteMapping("/{caseids}") + @Operation(summary = "文件-删除") + public CommonResult remove(@PathVariable String[] caseids) { + return success(hotlineFileService.deleteByIds(Arrays.asList(caseids))); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/hotline/vo/HotlineCaseDetailResp.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/hotline/vo/HotlineCaseDetailResp.java new file mode 100644 index 0000000..e52e6cc --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/hotline/vo/HotlineCaseDetailResp.java @@ -0,0 +1,15 @@ +package com.zteits.urbanops.module.garden.controller.admin.hotline.vo; + +import com.zteits.urbanops.module.garden.dal.dataobject.hotline.HotlineCaseDO; +import com.zteits.urbanops.module.garden.dal.dataobject.hotline.HotlineFileDO; +import com.zteits.urbanops.module.garden.dal.dataobject.photo.SysPhotoDO; +import lombok.Data; + +import java.util.List; + +@Data +public class HotlineCaseDetailResp { + private HotlineCaseDO caseInfo; + private List files; + private List photos; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainplan/MaintainPlanController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainplan/MaintainPlanController.java new file mode 100644 index 0000000..fbcdc96 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainplan/MaintainPlanController.java @@ -0,0 +1,74 @@ +package com.zteits.urbanops.module.garden.controller.admin.maintainplan; + +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils; +import com.zteits.urbanops.module.garden.controller.admin.maintainplan.vo.MaintainPlanAddReqVO; +import com.zteits.urbanops.module.garden.controller.admin.maintainplan.vo.MaintainPlanForPageReqVO; +import com.zteits.urbanops.module.garden.dal.dataobject.maintainplan.MaintainPlanDO; +import com.zteits.urbanops.module.garden.service.maintainplan.MaintainPlanService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import jakarta.validation.Valid; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 养护计划") +@RestController +@RequestMapping("/maintain/plan") +public class MaintainPlanController { + + @Resource + private MaintainPlanService maintainPlanService; + @Resource + private com.zteits.urbanops.module.garden.service.plancommit.MaintainPlanCommitDetailService maintainPlanCommitDetailService; + + @PostMapping("/listForPage") + @Operation(summary = "养护计划-分页查询") + @PreAuthorize("@ss.hasPermission('garden:maintain-plan:query')") + public CommonResult> listForPage(@Valid @RequestBody MaintainPlanForPageReqVO reqVO) { + return success(maintainPlanService.selectPage(reqVO)); + } + + @GetMapping("/detail") + @Operation(summary = "养护计划-对象明细") + @Parameter(name = "plan_no", description = "编码", required = true) + @PreAuthorize("@ss.hasPermission('garden:maintain-plan:query')") + public CommonResult detail(@RequestParam("plan_no") String planNo) { + return success(maintainPlanService.selectByPlanNo(planNo)); + } + + @PostMapping("/add") + @Operation(summary = "养护计划-添加") + @PreAuthorize("@ss.hasPermission('garden:maintain-plan:create')") + public CommonResult add(@Valid @RequestBody MaintainPlanAddReqVO reqVO) { + Long companyId = SecurityFrameworkUtils.getLoginUserDeptId(); + Long deptId = SecurityFrameworkUtils.getLoginUserDeptId(); + return success(maintainPlanService.insert(reqVO, companyId, deptId)); + } + + @GetMapping("/deleteById") + @Operation(summary = "养护计划-删除") + @PreAuthorize("@ss.hasPermission('garden:maintain-plan:delete')") + public CommonResult deleteById(@RequestParam("id") Long id) { + return success(maintainPlanService.deleteById(id)); + } + + @PostMapping("/yh/listForPage") + @Operation(summary = "PC养护计划提交记录-分页查询") + @PreAuthorize("@ss.hasPermission('garden:maintain-plan:query')") + public CommonResult> yhListForPage(@RequestBody com.zteits.urbanops.module.garden.controller.admin.maintainplan.vo.AdminPlanYhCommitDetailPageReqVO reqVO) { + com.zteits.urbanops.framework.common.pojo.PageParam page = new com.zteits.urbanops.framework.common.pojo.PageParam(); + page.setPageNo(reqVO.getPageNo()); + page.setPageSize(reqVO.getPageSize()); + com.zteits.urbanops.module.garden.controller.app.vo.PlanYhCommitDetailPageReqVO where = new com.zteits.urbanops.module.garden.controller.app.vo.PlanYhCommitDetailPageReqVO(); + where.setPageNo(reqVO.getPageNo()); + where.setPageSize(reqVO.getPageSize()); + where.setCompanyId(reqVO.getCompanyId()); + return success(maintainPlanCommitDetailService.pageListYH(page, where)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainplan/vo/AdminPlanYhCommitDetailPageReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainplan/vo/AdminPlanYhCommitDetailPageReqVO.java new file mode 100644 index 0000000..22f2dc8 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainplan/vo/AdminPlanYhCommitDetailPageReqVO.java @@ -0,0 +1,9 @@ +package com.zteits.urbanops.module.garden.controller.admin.maintainplan.vo; + +import com.zteits.urbanops.framework.common.pojo.PageParam; +import lombok.Data; + +@Data +public class AdminPlanYhCommitDetailPageReqVO extends PageParam { + private Long companyId; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainplan/vo/MaintainPlanAddReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainplan/vo/MaintainPlanAddReqVO.java new file mode 100644 index 0000000..7387a7b --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainplan/vo/MaintainPlanAddReqVO.java @@ -0,0 +1,15 @@ +package com.zteits.urbanops.module.garden.controller.admin.maintainplan.vo; + +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +@Data +public class MaintainPlanAddReqVO { + @NotEmpty + private String planNo; + @NotEmpty + private String planName; + @NotNull + private Integer type; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainplan/vo/MaintainPlanForPageReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainplan/vo/MaintainPlanForPageReqVO.java new file mode 100644 index 0000000..d32f67f --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainplan/vo/MaintainPlanForPageReqVO.java @@ -0,0 +1,10 @@ +package com.zteits.urbanops.module.garden.controller.admin.maintainplan.vo; + +import com.zteits.urbanops.framework.common.pojo.PageParam; +import lombok.Data; + +@Data +public class MaintainPlanForPageReqVO extends PageParam { + private Integer type; + private String planName; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainrate/MaintainRateController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainrate/MaintainRateController.java new file mode 100644 index 0000000..b1c5c0b --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainrate/MaintainRateController.java @@ -0,0 +1,97 @@ +package com.zteits.urbanops.module.garden.controller.admin.maintainrate; + +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.excel.core.util.ExcelUtils; +import com.zteits.urbanops.framework.common.util.object.BeanUtils; +import com.zteits.urbanops.module.garden.controller.admin.maintainrate.vo.MaintainRatePageReqVO; +import com.zteits.urbanops.module.garden.controller.admin.maintainrate.vo.MaintainRateReqVO; +import com.zteits.urbanops.module.garden.controller.admin.maintainrate.vo.MaintainRateRespVO; +import com.zteits.urbanops.module.garden.dal.dataobject.maintainrate.MaintainRateDO; +import com.zteits.urbanops.module.garden.service.maintainrate.MaintainRateService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.Valid; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.io.IOException; +import java.util.List; + +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; +import static com.zteits.urbanops.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import com.zteits.urbanops.framework.apilog.core.annotation.ApiAccessLog; + +@Tag(name = "管理后台 - 养护频次") +@RestController +@RequestMapping("/maintain/rate") +public class MaintainRateController { + + @Resource + private MaintainRateService maintainRateService; + + @PostMapping("/listForPage") + @Operation(summary = "养护频次-分页查询") + @PreAuthorize("@ss.hasPermission('garden:maintain-rate:query')") + public CommonResult> listForPage(@Valid @RequestBody MaintainRatePageReqVO reqVO) { + return success(maintainRateService.selectPage(reqVO)); + } + + @PostMapping("/getMaintainRateValue") + @Operation(summary = "养护频次-获取养护频次值") + @PreAuthorize("@ss.hasPermission('garden:maintain-rate:query')") + public CommonResult getMaintainRateValue(@Valid @RequestBody MaintainRateReqVO reqVO) { + return success(maintainRateService.getMaintainRateValue(reqVO)); + } + + @GetMapping("/selectMaintainRateByLevel") + @Operation(summary = "通过植物类型获取养护频次值") + @PreAuthorize("@ss.hasPermission('garden:maintain-rate:query')") + public CommonResult selectMaintainRateByLevel(@RequestParam("maintain_type_id") Integer maintainTypeId, + @RequestParam("level") Integer level) { + return success(maintainRateService.selectMaintainRateByLevel(maintainTypeId, level)); + } + + @GetMapping("/export") + @Operation(summary = "导出养护频次列表") + @PreAuthorize("@ss.hasPermission('garden:maintain-rate:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportExcel(@Valid MaintainRatePageReqVO reqVO, HttpServletResponse response) throws IOException { + List list = maintainRateService.selectPage(reqVO).getList(); + ExcelUtils.write(response, "养护频次.xls", "数据", MaintainRateDO.class, + BeanUtils.toBean(list, MaintainRateDO.class)); + } + + @GetMapping("/{id}") + @Operation(summary = "养护频次-详情") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('garden:maintain-rate:query')") + public CommonResult getInfo(@PathVariable("id") Long id) { + return success(maintainRateService.selectById(id)); + } + + @PostMapping("/add") + @Operation(summary = "养护频次-添加") + @PreAuthorize("@ss.hasPermission('garden:maintain-rate:create')") + public CommonResult add(@Valid @RequestBody MaintainRateDO entity) { + entity.setStatus("0"); + return success(maintainRateService.insert(entity)); + } + + @PostMapping("/edit") + @Operation(summary = "养护频次-修改") + @PreAuthorize("@ss.hasPermission('garden:maintain-rate:update')") + public CommonResult edit(@Valid @RequestBody MaintainRateDO entity) { + return success(maintainRateService.update(entity)); + } + + @GetMapping("/delete/byId") + @Operation(summary = "养护频次-删除") + @PreAuthorize("@ss.hasPermission('garden:maintain-rate:delete')") + public CommonResult deleteById(@RequestParam("id") Long id) { + return success(maintainRateService.deleteById(id)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainrate/vo/MaintainRatePageReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainrate/vo/MaintainRatePageReqVO.java new file mode 100644 index 0000000..d84cab3 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainrate/vo/MaintainRatePageReqVO.java @@ -0,0 +1,32 @@ +package com.zteits.urbanops.module.garden.controller.admin.maintainrate.vo; + +import com.zteits.urbanops.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class MaintainRatePageReqVO extends PageParam { + @Schema(description = "类型:1巡查;2养护") + private Integer type; + + @Schema(description = "科目ID") + private Integer maintainSubjectId; + + @Schema(description = "科目名称") + private String maintainSubjectName; + + @Schema(description = "养护类型ID") + private Integer maintainTypeId; + + @Schema(description = "养护类型名称") + private String maintainTypeName; + + @Schema(description = "周期ID") + private Integer cycleId; + + @Schema(description = "周期名称") + private String cycleName; + + @Schema(description = "状态") + private String status; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainrate/vo/MaintainRateReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainrate/vo/MaintainRateReqVO.java new file mode 100644 index 0000000..6e237e7 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainrate/vo/MaintainRateReqVO.java @@ -0,0 +1,16 @@ +package com.zteits.urbanops.module.garden.controller.admin.maintainrate.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +@Data +public class MaintainRateReqVO { + @NotNull + @Schema(description = "科目ID") + private Integer maintainSubjectId; + + @NotNull + @Schema(description = "养护类型ID") + private Integer maintainTypeId; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainrate/vo/MaintainRateRespVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainrate/vo/MaintainRateRespVO.java new file mode 100644 index 0000000..ccbb556 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/maintainrate/vo/MaintainRateRespVO.java @@ -0,0 +1,29 @@ +package com.zteits.urbanops.module.garden.controller.admin.maintainrate.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class MaintainRateRespVO { + @Schema(description = "养护类型ID") + private Integer maintainTypeId; + @Schema(description = "养护类型名称") + private String maintainTypeName; + + @Schema(description = "周期ID") + private Integer cycleId; + @Schema(description = "周期名称") + private String cycleName; + + @Schema(description = "特级频次") + private String levelTop; + @Schema(description = "一级频次") + private String levelOne; + @Schema(description = "二级频次") + private String levelTwo; + @Schema(description = "三级频次") + private String levelThree; + + @Schema(description = "根据等级选择的频次值") + private String value; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/MaterialInController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/MaterialInController.java new file mode 100644 index 0000000..30fa10c --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/MaterialInController.java @@ -0,0 +1,151 @@ +package com.zteits.urbanops.module.garden.controller.admin.material; + +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import com.zteits.urbanops.framework.common.pojo.PageParam; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.excel.core.util.ExcelUtils; +import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils; +import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialDO; +import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialInventoryDO; +import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialInventoryInDO; +import com.zteits.urbanops.module.garden.dal.mysql.material.MaterialInventoryInMapper; +import com.zteits.urbanops.module.garden.dal.mysql.material.MaterialInventoryMapper; +import com.zteits.urbanops.module.garden.service.material.MaterialService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletResponse; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; + +import java.io.IOException; +import java.util.List; + +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 物料入库") +@RestController +@RequestMapping("/material/in") +public class MaterialInController { + + @Resource + private MaterialInventoryInMapper inMapper; + @Resource + private MaterialInventoryMapper inventoryMapper; + @Resource + private MaterialService materialService; + + @PostMapping("/listForPage") + @Operation(summary = "物料入库-分页") + @PreAuthorize("@ss.hasPermission('material:material/in:list')") + public CommonResult> listForPage(@RequestBody MaterialInventoryInDO where, + @RequestParam(value = "pageNum", required = false) Integer pageNum, + @RequestParam(value = "pageSize", required = false) Integer pageSize) { + PageParam page = new PageParam(); + page.setPageNo(pageNum == null ? 1 : pageNum); + page.setPageSize(pageSize == null ? 10 : pageSize); + PageResult result = inMapper.selectPage(page, null, + new com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX() + .eqIfPresent(MaterialInventoryInDO::getMaterialId, where.getMaterialId()) + .likeIfPresent(MaterialInventoryInDO::getMaterialName, where.getMaterialName()) + .eqIfPresent(MaterialInventoryInDO::getBelongCompanyId, where.getBelongCompanyId()) + .orderByDesc(MaterialInventoryInDO::getCreateTime)); + return success(result); + } + + @GetMapping("/export") + @Operation(summary = "物料入库-导出") + @PreAuthorize("@ss.hasPermission('material:material/in:export')") + public void export(MaterialInventoryInDO where, HttpServletResponse response) throws IOException { + List list = inMapper.selectList(new com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX() + .eqIfPresent(MaterialInventoryInDO::getMaterialId, where.getMaterialId())); + ExcelUtils.write(response, "物料入库.xls", "数据", MaterialInventoryInDO.class, list); + } + + @GetMapping("/select/by/inventoryInNo") + @Operation(summary = "物料入库-详情") + @PreAuthorize("@ss.hasPermission('material:material/in:query')") + public CommonResult getInfo(@RequestParam("inventoryIn_no") String inventoryInNo) { + return success(inMapper.selectByNo(inventoryInNo)); + } + + @PostMapping("/add") + @Operation(summary = "物料入库-添加") + @PreAuthorize("@ss.hasPermission('material:material/in:add')") + @Transactional(rollbackFor = Throwable.class) + public CommonResult add(@RequestBody MaterialInventoryInDO req) { + Long userId = SecurityFrameworkUtils.getLoginUserId(); + MaterialDO material = materialService.selectById(req.getMaterialId()); + if (material == null) { + return com.zteits.urbanops.framework.common.pojo.CommonResult.error(400, "无效参数-materialId"); + } + req.setCreator(String.valueOf(userId)); + req.setUpdater(String.valueOf(userId)); + boolean inserted = inMapper.insert(req) > 0; + + MaterialInventoryDO inventory = new MaterialInventoryDO(); + inventory.setMaterialId(req.getMaterialId()); + inventory.setMaterialName(req.getMaterialName()); + inventory.setMaterialTypeId(req.getMaterialTypeId()); + inventory.setMaterialTypeName(req.getMaterialTypeName()); + inventory.setTypeId(material.getTypeId()); + inventory.setTypeName(material.getTypeName()); + inventory.setTypeDetailId(material.getTypeDetailId()); + inventory.setTypeDetailName(material.getTypeDetailName()); + inventory.setSpecifications(req.getSpecifications()); + inventory.setBelongCompanyId(req.getBelongCompanyId()); + inventory.setBelongCompanyName(req.getBelongCompanyName()); + inventory.setUnitId(req.getUnitId()); + inventory.setUnitName(req.getUnitName()); + inventory.setCurrentNum(req.getInInventoryNum()); + inventory.setOutTotalNum(0L); + inventory.setInventoryTotalNum(req.getInInventoryNum()); + inventory.setStatus("0"); + inventory.setDeptId(SecurityFrameworkUtils.getLoginUserDeptId()); + + MaterialInventoryDO existed = inventoryMapper.selectByTypeDetailId(inventory.getTypeDetailId(), inventory.getBelongCompanyId()); + if (existed != null) { + MaterialInventoryDO upd = new MaterialInventoryDO(); + upd.setInventoryId(existed.getInventoryId()); + upd.setInventoryTotalNum((existed.getInventoryTotalNum() == null ? 0 : existed.getInventoryTotalNum()) + inventory.getCurrentNum()); + upd.setCurrentNum((existed.getCurrentNum() == null ? 0 : existed.getCurrentNum()) + inventory.getCurrentNum()); + inventoryMapper.updateById(upd); + } else { + inventoryMapper.insert(inventory); + } + + return success(inserted); + } + + @PostMapping("/edit") + @Operation(summary = "物料入库-修改") + @PreAuthorize("@ss.hasPermission('material:material/in:edit')") + public CommonResult edit(@RequestBody MaterialInventoryInDO req) { + return success(inMapper.updateById(req) > 0); + } + + @GetMapping("/delete/by/id") + @Operation(summary = "物料入库-删除") + @PreAuthorize("@ss.hasPermission('material:material/in:remove')") + @Transactional(rollbackFor = Throwable.class) + public CommonResult remove(@RequestParam("id") Long id) { + MaterialInventoryInDO in = inMapper.selectById(id); + if (in == null) { + return com.zteits.urbanops.framework.common.pojo.CommonResult.error(400, "参数错误"); + } + MaterialInventoryDO inv = inventoryMapper.selectByMaterialId(in.getMaterialId()); + if (inv == null) { + return com.zteits.urbanops.framework.common.pojo.CommonResult.error(400, "参数错误"); + } + if (inv.getCurrentNum() < in.getInInventoryNum()) { + return com.zteits.urbanops.framework.common.pojo.CommonResult.error(409, "库存已使用"); + } + MaterialInventoryDO upd = new MaterialInventoryDO(); + upd.setInventoryId(inv.getInventoryId()); + upd.setCurrentNum(inv.getCurrentNum() - in.getInInventoryNum()); + upd.setInventoryTotalNum(inv.getInventoryTotalNum() - in.getInInventoryNum()); + inventoryMapper.updateById(upd); + return success(inMapper.deleteById(id) > 0); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/MaterialInventoryController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/MaterialInventoryController.java new file mode 100644 index 0000000..06518f8 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/MaterialInventoryController.java @@ -0,0 +1,56 @@ +package com.zteits.urbanops.module.garden.controller.admin.material; + +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import com.zteits.urbanops.framework.common.pojo.PageParam; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.excel.core.util.ExcelUtils; +import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialInventoryDO; +import com.zteits.urbanops.module.garden.service.material.MaterialInventoryService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletResponse; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.io.IOException; +import java.util.List; + +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 物料库存") +@RestController +@RequestMapping("/material/inventory") +public class MaterialInventoryController { + + @Resource + private MaterialInventoryService inventoryService; + + @PostMapping("/listForPage") + @Operation(summary = "物料库存-分页查询") + @PreAuthorize("@ss.hasPermission('material:inventory:list')") + public CommonResult> listForPage(@RequestBody MaterialInventoryDO where, + @RequestParam(value = "pageNum", required = false) Integer pageNum, + @RequestParam(value = "pageSize", required = false) Integer pageSize) { + PageParam page = new PageParam(); + page.setPageNo(pageNum == null ? 1 : pageNum); + page.setPageSize(pageSize == null ? 10 : pageSize); + return success(inventoryService.selectPage(page, where)); + } + + @GetMapping("/export") + @Operation(summary = "物料库存-导出") + @PreAuthorize("@ss.hasPermission('material:inventory:export')") + public void export(MaterialInventoryDO where, HttpServletResponse response) throws IOException { + List list = inventoryService.selectPage(new PageParam(), where).getList(); + ExcelUtils.write(response, "物料库存.xls", "数据", MaterialInventoryDO.class, list); + } + + @GetMapping("/updateByAlermNum") + @Operation(summary = "物料库存-阈值更新") + @PreAuthorize("@ss.hasPermission('material:inventory:export')") + public CommonResult updateInventoryAlermNum(@RequestParam("material_id") Long materialId, + @RequestParam("alerm_num") Long alermNum) { + return success(inventoryService.updateInventoryAlarmNum(materialId, alermNum)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/MaterialManagerController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/MaterialManagerController.java new file mode 100644 index 0000000..8a9d19a --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/MaterialManagerController.java @@ -0,0 +1,75 @@ +package com.zteits.urbanops.module.garden.controller.admin.material; + +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import com.zteits.urbanops.framework.common.pojo.PageParam; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils; +import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialManagerDO; +import com.zteits.urbanops.module.garden.dal.mysql.material.MaterialManagerMapper; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 物料管理") +@RestController +@RequestMapping("/material/manager") +public class MaterialManagerController { + + @Resource + private MaterialManagerMapper mapper; + + @PostMapping("/listForPage") + @Operation(summary = "物料管理-分页") + @PreAuthorize("@ss.hasPermission('material:manager:list')") + public CommonResult> listForPage(@RequestBody MaterialManagerDO where, + @RequestParam(value = "pageNum", required = false) Integer pageNum, + @RequestParam(value = "pageSize", required = false) Integer pageSize) { + PageParam page = new PageParam(); + page.setPageNo(pageNum == null ? 1 : pageNum); + page.setPageSize(pageSize == null ? 10 : pageSize); + where.setDeptId(SecurityFrameworkUtils.getLoginUserDeptId()); + return success(mapper.selectPage(page, where)); + } + + @GetMapping("/list") + @Operation(summary = "物料管理-列表") + @PreAuthorize("@ss.hasPermission('material:manager:list')") + public CommonResult> list() { + MaterialManagerDO where = new MaterialManagerDO(); + where.setDeptId(SecurityFrameworkUtils.getLoginUserDeptId()); + return success(mapper.selectList(where)); + } + + @PostMapping("/add") + @Operation(summary = "物料管理-添加") + @PreAuthorize("@ss.hasPermission('material:manager:add')") + public CommonResult add(@RequestBody MaterialManagerDO entity) { + entity.setDeptId(SecurityFrameworkUtils.getLoginUserDeptId()); + entity.setCreator(String.valueOf(SecurityFrameworkUtils.getLoginUserId())); + entity.setUpdater(entity.getCreator()); + entity.clean(); + return success(mapper.insert(entity) > 0); + } + + @PostMapping("/edit") + @Operation(summary = "物料管理-修改") + @PreAuthorize("@ss.hasPermission('material:manager:edit')") + public CommonResult edit(@RequestBody MaterialManagerDO entity) { + entity.setUpdater(String.valueOf(SecurityFrameworkUtils.getLoginUserId())); + entity.clean(); + return success(mapper.updateById(entity) > 0); + } + + @GetMapping("/deleteById") + @Operation(summary = "物料管理-删除") + @PreAuthorize("@ss.hasPermission('material:manager:delete')") + public CommonResult deleteById(@RequestParam("id") Long id) { + return success(mapper.deleteById(id) > 0); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/MaterialOutController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/MaterialOutController.java new file mode 100644 index 0000000..03dc896 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/material/MaterialOutController.java @@ -0,0 +1,126 @@ +package com.zteits.urbanops.module.garden.controller.admin.material; + +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import com.zteits.urbanops.framework.common.pojo.PageParam; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.excel.core.util.ExcelUtils; +import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils; +import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialDO; +import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialInventoryDO; +import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialInventoryOutDO; +import com.zteits.urbanops.module.garden.dal.mysql.material.MaterialInventoryMapper; +import com.zteits.urbanops.module.garden.dal.mysql.material.MaterialInventoryOutMapper; +import com.zteits.urbanops.module.garden.service.material.MaterialService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletResponse; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; + +import java.io.IOException; +import java.util.List; + +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 物料出库") +@RestController +@RequestMapping("/material/out") +public class MaterialOutController { + + @Resource + private MaterialInventoryOutMapper outMapper; + @Resource + private MaterialInventoryMapper inventoryMapper; + @Resource + private MaterialService materialService; + + @PostMapping("/listForPage") + @Operation(summary = "物料出库-分页") + @PreAuthorize("@ss.hasPermission('material:out:list')") + public CommonResult> listForPage(@RequestBody MaterialInventoryOutDO where, + @RequestParam(value = "pageNum", required = false) Integer pageNum, + @RequestParam(value = "pageSize", required = false) Integer pageSize) { + PageParam page = new PageParam(); + page.setPageNo(pageNum == null ? 1 : pageNum); + page.setPageSize(pageSize == null ? 10 : pageSize); + PageResult result = outMapper.selectPage(page, null, + new com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX() + .eqIfPresent(MaterialInventoryOutDO::getMaterialId, where.getMaterialId()) + .likeIfPresent(MaterialInventoryOutDO::getMaterialName, where.getMaterialName()) + .eqIfPresent(MaterialInventoryOutDO::getBelongCompanyId, where.getBelongCompanyId()) + .orderByDesc(MaterialInventoryOutDO::getCreateTime)); + return success(result); + } + + @GetMapping("/export") + @Operation(summary = "物料出库-导出") + @PreAuthorize("@ss.hasPermission('material:out:export')") + public void export(MaterialInventoryOutDO where, HttpServletResponse response) throws IOException { + List list = outMapper.selectList(new com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX() + .eqIfPresent(MaterialInventoryOutDO::getMaterialId, where.getMaterialId())); + ExcelUtils.write(response, "物料出库.xls", "数据", MaterialInventoryOutDO.class, list); + } + + @GetMapping("/{id}") + @Operation(summary = "物料出库-详情") + @PreAuthorize("@ss.hasPermission('material:out:query')") + public CommonResult getInfo(@RequestParam("id") Long id) { + return success(outMapper.selectById(id)); + } + + @PostMapping("/add") + @Operation(summary = "物料出库-添加") + @PreAuthorize("@ss.hasPermission('material:out:add')") + @Transactional(rollbackFor = Throwable.class) + public CommonResult add(@RequestBody MaterialInventoryOutDO req) { + Long userId = SecurityFrameworkUtils.getLoginUserId(); + MaterialDO material = materialService.selectById(req.getMaterialId()); + if (material == null) { + return com.zteits.urbanops.framework.common.pojo.CommonResult.error(400, "无效参数"); + } + MaterialInventoryDO inventory = inventoryMapper.selectByTypeDetailId(material.getTypeDetailId(), SecurityFrameworkUtils.getLoginUserDeptId()); + if (inventory == null) { + return com.zteits.urbanops.framework.common.pojo.CommonResult.error(400, req.getMaterialName() + "没有库存"); + } + if (inventory.getCurrentNum() < req.getOutInventoryNum()) { + return com.zteits.urbanops.framework.common.pojo.CommonResult.error(409, "当前库存不足,无法出库"); + } + req.setCreator(String.valueOf(userId)); + boolean inserted = outMapper.insert(req) > 0; + inventoryMapper.updateInventoryByMaterialId(inventory.getInventoryId(), req.getOutInventoryNum()); + return success(inserted); + } + + @PostMapping("/edit") + @Operation(summary = "物料出库-修改") + @PreAuthorize("@ss.hasPermission('material:out:edit')") + public CommonResult edit(@RequestBody MaterialInventoryOutDO req) { + return success(outMapper.updateById(req) > 0); + } + + @GetMapping("/delete/ById") + @Operation(summary = "物料出库-删除") + @PreAuthorize("@ss.hasPermission('material:out:remove')") + public CommonResult remove(@RequestParam("id") Long id) { + MaterialInventoryOutDO out = outMapper.selectById(id); + if (out == null) { + return com.zteits.urbanops.framework.common.pojo.CommonResult.error(400, "参数错误"); + } + MaterialInventoryDO inv = inventoryMapper.selectByMaterialId(out.getMaterialId()); + if (inv == null) { + return com.zteits.urbanops.framework.common.pojo.CommonResult.error(400, "参数错误"); + } + if (inv.getCurrentNum() < out.getOutInventoryNum()) { + return com.zteits.urbanops.framework.common.pojo.CommonResult.error(409, "库存已使用"); + } + MaterialInventoryDO upd = new MaterialInventoryDO(); + upd.setInventoryId(inv.getInventoryId()); + upd.setCurrentNum(inv.getCurrentNum() + out.getOutInventoryNum()); + upd.setInventoryTotalNum(inv.getInventoryTotalNum() + out.getOutInventoryNum()); + upd.setOutTotalNum(inv.getOutTotalNum() - out.getOutInventoryNum()); + inventoryMapper.updateById(upd); + return success(outMapper.deleteById(id) > 0); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialtype/MaterialTypeAdminController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialtype/MaterialTypeAdminController.java new file mode 100644 index 0000000..e5d1df0 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/materialtype/MaterialTypeAdminController.java @@ -0,0 +1,44 @@ +package com.zteits.urbanops.module.garden.controller.admin.materialtype; + +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import com.zteits.urbanops.framework.common.pojo.PageParam; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialTypeDO; +import com.zteits.urbanops.module.garden.dal.mysql.material.MaterialTypeMapper; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 物料类型") +@RestController +@RequestMapping("/materialType/type") +public class MaterialTypeAdminController { + + @Resource + private MaterialTypeMapper mapper; + + @GetMapping("/getMaterialBigTypeList") + @Operation(summary = "物料类型-大类列表") + @PreAuthorize("@ss.hasPermission('material:type:list')") + public CommonResult> getMaterialBigTypeList() { + return success(mapper.selectBigTypeList()); + } + + @PostMapping("/listForPage") + @Operation(summary = "物料类型-分页") + @PreAuthorize("@ss.hasPermission('material:type:list')") + public CommonResult> listForPage(@RequestBody MaterialTypeDO where, + @RequestParam(value = "pageNum", required = false) Integer pageNum, + @RequestParam(value = "pageSize", required = false) Integer pageSize) { + PageParam page = new PageParam(); + page.setPageNo(pageNum == null ? 1 : pageNum); + page.setPageSize(pageSize == null ? 10 : pageSize); + return success(mapper.selectPage(page, where)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/mechanicalcost/MechanicalCostController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/mechanicalcost/MechanicalCostController.java index 0972a21..325370c 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/mechanicalcost/MechanicalCostController.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/mechanicalcost/MechanicalCostController.java @@ -36,7 +36,7 @@ import com.zteits.urbanops.module.garden.service.mechanicalcost.MechanicalCostSe @Tag(name = "管理后台 - 自有机械费用录入") @RestController -@RequestMapping("/garden/mechanical-cost") +@RequestMapping({"/garden/mechanical-cost", "/costfee/mechanicalcost"}) @Validated public class MechanicalCostController { @@ -112,6 +112,14 @@ public class MechanicalCostController { return success(BeanUtils.toBean(pageResult, MechanicalCostRespVO.class)); } + @GetMapping("/list") + @Operation(summary = "自有机械费用录入-列表(兼容旧路径)") + @PreAuthorize("@ss.hasPermission('garden:mechanical-cost:query')") + public CommonResult> list(@Valid MechanicalCostPageReqVO pageReqVO) { + PageResult pageResult = mechanicalCostService.getMechanicalCostPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, MechanicalCostRespVO.class)); + } + @GetMapping("/export-excel") @Operation(summary = "导出自有机械费用录入 Excel") @PreAuthorize("@ss.hasPermission('garden:mechanical-cost:export')") diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/pc/PcProblemManagerController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/pc/PcProblemManagerController.java new file mode 100644 index 0000000..5dedf51 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/pc/PcProblemManagerController.java @@ -0,0 +1,41 @@ +package com.zteits.urbanops.module.garden.controller.admin.pc; + +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import com.zteits.urbanops.framework.common.pojo.PageParam; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils; +import com.zteits.urbanops.module.garden.dal.dataobject.problem.MaintainProblemManagerDO; +import com.zteits.urbanops.module.garden.service.problem.MaintainProblemManagerService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.*; + +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 问题管理") +@RestController +@RequestMapping("/pc/problem/manager") +public class PcProblemManagerController { + + @Resource + private MaintainProblemManagerService service; + + @PostMapping("/listForPage") + @Operation(summary = "问题管理-分页查询") + public CommonResult> listForPage(@RequestBody MaintainProblemManagerDO where, + @RequestParam(value = "pageNum", required = false) Integer pageNum, + @RequestParam(value = "pageSize", required = false) Integer pageSize) { + PageParam page = new PageParam(); + page.setPageNo(pageNum == null ? 1 : pageNum); + page.setPageSize(pageSize == null ? 10 : pageSize); + where.setDeptId(SecurityFrameworkUtils.getLoginUserDeptId()); + return success(service.selectPage(page, where)); + } + + @GetMapping("/queryById") + @Operation(summary = "问题管理-详情") + public CommonResult queryById(@RequestParam("id") Long id) { + return success(service.selectById(id)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/pc/PcProblemTaskController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/pc/PcProblemTaskController.java new file mode 100644 index 0000000..e1b7e1a --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/pc/PcProblemTaskController.java @@ -0,0 +1,44 @@ +package com.zteits.urbanops.module.garden.controller.admin.pc; + +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import com.zteits.urbanops.framework.common.pojo.PageParam; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils; +import com.zteits.urbanops.module.garden.dal.dataobject.problem.MaintainTaskManagerDO; +import com.zteits.urbanops.module.garden.dal.mysql.problem.MaintainTaskManagerMapper; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.*; + +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 问题任务") +@RestController +@RequestMapping("/pc/problem/task") +public class PcProblemTaskController { + + @Resource + private MaintainTaskManagerMapper mapper; + + @PostMapping("/listForPage") + @Operation(summary = "养护任务管理-分页") + public CommonResult> listForPage(@RequestBody MaintainTaskManagerDO where, + @RequestParam(value = "pageNum", required = false) Integer pageNum, + @RequestParam(value = "pageSize", required = false) Integer pageSize) { + PageParam page = new PageParam(); + page.setPageNo(pageNum == null ? 1 : pageNum); + page.setPageSize(pageSize == null ? 10 : pageSize); + where.setDeptId(SecurityFrameworkUtils.getLoginUserDeptId()); + return success(mapper.selectPage(page, where)); + } + + @GetMapping("/queryByProblemNo") + @Operation(summary = "养护任务处理-详情") + public CommonResult queryByProblemNo(@RequestParam("problem_no") String problemNo) { + MaintainTaskManagerDO where = new MaintainTaskManagerDO(); + where.setProblemNo(problemNo); + PageResult result = mapper.selectPage(new PageParam(), where); + return success(result.getList().isEmpty() ? null : result.getList().get(0)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/performance/PerformanceExpertsController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/performance/PerformanceExpertsController.java new file mode 100644 index 0000000..0b359e2 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/performance/PerformanceExpertsController.java @@ -0,0 +1,37 @@ +package com.zteits.urbanops.module.garden.controller.admin.performance; + +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import com.zteits.urbanops.framework.common.pojo.PageParam; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils; +import com.zteits.urbanops.module.garden.dal.dataobject.performance.PerformanceExpertsDO; +import com.zteits.urbanops.module.garden.dal.mysql.performance.PerformanceExpertsMapper; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 绩效专家") +@RestController +@RequestMapping("/performance/experts") +public class PerformanceExpertsController { + + @Resource + private PerformanceExpertsMapper mapper; + + @PostMapping("/listForPage") + @Operation(summary = "绩效专家-分页") + @PreAuthorize("@ss.hasPermission('performance:experts:list')") + public CommonResult> listForPage(@RequestBody PerformanceExpertsDO where, + @RequestParam(value = "pageNum", required = false) Integer pageNum, + @RequestParam(value = "pageSize", required = false) Integer pageSize) { + PageParam page = new PageParam(); + page.setPageNo(pageNum == null ? 1 : pageNum); + page.setPageSize(pageSize == null ? 10 : pageSize); + where.setDeptId(SecurityFrameworkUtils.getLoginUserDeptId()); + return success(mapper.selectPage(page, where)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/performance/PerformanceIndexController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/performance/PerformanceIndexController.java new file mode 100644 index 0000000..f32f5a1 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/performance/PerformanceIndexController.java @@ -0,0 +1,37 @@ +package com.zteits.urbanops.module.garden.controller.admin.performance; + +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import com.zteits.urbanops.framework.common.pojo.PageParam; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils; +import com.zteits.urbanops.module.garden.dal.dataobject.performance.PerformanceIndexDO; +import com.zteits.urbanops.module.garden.dal.mysql.performance.PerformanceIndexMapper; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 绩效指标") +@RestController +@RequestMapping("/performance/index") +public class PerformanceIndexController { + + @Resource + private PerformanceIndexMapper mapper; + + @PostMapping("/listForPage") + @Operation(summary = "绩效指标-分页") + @PreAuthorize("@ss.hasPermission('performance:index:list')") + public CommonResult> listForPage(@RequestBody PerformanceIndexDO where, + @RequestParam(value = "pageNum", required = false) Integer pageNum, + @RequestParam(value = "pageSize", required = false) Integer pageSize) { + PageParam page = new PageParam(); + page.setPageNo(pageNum == null ? 1 : pageNum); + page.setPageSize(pageSize == null ? 10 : pageSize); + where.setDeptId(SecurityFrameworkUtils.getLoginUserDeptId()); + return success(mapper.selectPage(page, where)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/performance/PerformanceWriteController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/performance/PerformanceWriteController.java new file mode 100644 index 0000000..e3e4f08 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/performance/PerformanceWriteController.java @@ -0,0 +1,37 @@ +package com.zteits.urbanops.module.garden.controller.admin.performance; + +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import com.zteits.urbanops.framework.common.pojo.PageParam; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils; +import com.zteits.urbanops.module.garden.dal.dataobject.performance.PerformanceWriteDO; +import com.zteits.urbanops.module.garden.dal.mysql.performance.PerformanceWriteMapper; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 绩效填报") +@RestController +@RequestMapping("/performance/write") +public class PerformanceWriteController { + + @Resource + private PerformanceWriteMapper mapper; + + @PostMapping("/listForPage") + @Operation(summary = "绩效填报-分页") + @PreAuthorize("@ss.hasPermission('performance:write:list')") + public CommonResult> listForPage(@RequestBody PerformanceWriteDO where, + @RequestParam(value = "pageNum", required = false) Integer pageNum, + @RequestParam(value = "pageSize", required = false) Integer pageSize) { + PageParam page = new PageParam(); + page.setPageNo(pageNum == null ? 1 : pageNum); + page.setPageSize(pageSize == null ? 10 : pageSize); + where.setDeptId(SecurityFrameworkUtils.getLoginUserDeptId()); + return success(mapper.selectPage(page, where)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/photo/SysPhotoController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/photo/SysPhotoController.java new file mode 100644 index 0000000..f57c81d --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/photo/SysPhotoController.java @@ -0,0 +1,62 @@ +package com.zteits.urbanops.module.garden.controller.admin.photo; + +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import com.zteits.urbanops.framework.excel.core.util.ExcelUtils; +import com.zteits.urbanops.module.garden.dal.dataobject.photo.SysPhotoDO; +import com.zteits.urbanops.module.garden.service.photo.SysPhotoService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.*; + +import java.io.IOException; +import java.util.Arrays; +import java.util.List; + +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 所有照片信息") +@RestController +@RequestMapping("/business/sysphoto") +public class SysPhotoController { + + @Resource + private SysPhotoService sysPhotoService; + + @GetMapping("/list") + @Operation(summary = "照片-列表") + public CommonResult> list(SysPhotoDO where) { + return success(sysPhotoService.selectList(where)); + } + + @GetMapping("/export") + @Operation(summary = "照片-导出") + public void export(SysPhotoDO where, jakarta.servlet.http.HttpServletResponse response) throws IOException { + List list = sysPhotoService.selectList(where); + ExcelUtils.write(response, "photo.xls", "数据", SysPhotoDO.class, list); + } + + @GetMapping("/{id}") + @Operation(summary = "照片-详情") + public CommonResult getInfo(@PathVariable("id") String id) { + return success(sysPhotoService.selectById(id)); + } + + @PostMapping + @Operation(summary = "照片-新增") + public CommonResult add(@RequestBody SysPhotoDO entity) { + return success(sysPhotoService.insert(entity)); + } + + @PutMapping + @Operation(summary = "照片-修改") + public CommonResult edit(@RequestBody SysPhotoDO entity) { + return success(sysPhotoService.update(entity)); + } + + @DeleteMapping("/{ids}") + @Operation(summary = "照片-删除") + public CommonResult remove(@PathVariable String[] ids) { + return success(sysPhotoService.deleteByIds(Arrays.asList(ids))); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/project/ProjectManagerController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/project/ProjectManagerController.java new file mode 100644 index 0000000..8d71933 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/project/ProjectManagerController.java @@ -0,0 +1,75 @@ +package com.zteits.urbanops.module.garden.controller.admin.project; + +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import com.zteits.urbanops.framework.common.pojo.PageParam; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils; +import com.zteits.urbanops.module.garden.dal.dataobject.project.ProjectManagerDO; +import com.zteits.urbanops.module.garden.dal.mysql.project.ProjectManagerMapper; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 项目管理") +@RestController +@RequestMapping("/project/manager") +public class ProjectManagerController { + + @Resource + private ProjectManagerMapper mapper; + + @PostMapping("/listForPage") + @Operation(summary = "项目管理-分页") + @PreAuthorize("@ss.hasPermission('project:manager:list')") + public CommonResult> listForPage(@RequestBody ProjectManagerDO where, + @RequestParam(value = "pageNum", required = false) Integer pageNum, + @RequestParam(value = "pageSize", required = false) Integer pageSize) { + PageParam page = new PageParam(); + page.setPageNo(pageNum == null ? 1 : pageNum); + page.setPageSize(pageSize == null ? 10 : pageSize); + where.setDeptId(SecurityFrameworkUtils.getLoginUserDeptId()); + return success(mapper.selectPage(page, where)); + } + + @GetMapping("/selectProjectManagerForList") + @Operation(summary = "项目管理-列表") + @PreAuthorize("@ss.hasPermission('project:manager:list')") + public CommonResult> selectProjectManagerForList() { + ProjectManagerDO where = new ProjectManagerDO(); + where.setDeptId(SecurityFrameworkUtils.getLoginUserDeptId()); + return success(mapper.selectList(where)); + } + + @PostMapping("/add") + @Operation(summary = "项目管理-添加") + @PreAuthorize("@ss.hasPermission('project:manager:add')") + public CommonResult add(@RequestBody ProjectManagerDO entity) { + entity.setDeptId(SecurityFrameworkUtils.getLoginUserDeptId()); + entity.setCreator(String.valueOf(SecurityFrameworkUtils.getLoginUserId())); + entity.setUpdater(entity.getCreator()); + entity.clean(); + return success(mapper.insert(entity) > 0); + } + + @PostMapping("/edit") + @Operation(summary = "项目管理-修改") + @PreAuthorize("@ss.hasPermission('project:manager:edit')") + public CommonResult edit(@RequestBody ProjectManagerDO entity) { + entity.setUpdater(String.valueOf(SecurityFrameworkUtils.getLoginUserId())); + entity.clean(); + return success(mapper.updateById(entity) > 0); + } + + @GetMapping("/deleteById") + @Operation(summary = "项目管理-删除") + @PreAuthorize("@ss.hasPermission('project:manager:delete')") + public CommonResult deleteById(@RequestParam("id") Long id) { + return success(mapper.deleteById(id) > 0); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/project/SubProjectManagerController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/project/SubProjectManagerController.java new file mode 100644 index 0000000..c33090a --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/project/SubProjectManagerController.java @@ -0,0 +1,64 @@ +package com.zteits.urbanops.module.garden.controller.admin.project; + +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import com.zteits.urbanops.framework.common.pojo.PageParam; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils; +import com.zteits.urbanops.module.garden.dal.dataobject.project.SubProjectManagerDO; +import com.zteits.urbanops.module.garden.dal.mysql.project.SubProjectManagerMapper; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 子项目管理") +@RestController +@RequestMapping("/subProject/manager") +public class SubProjectManagerController { + + @Resource + private SubProjectManagerMapper mapper; + + @PostMapping("/listForPage") + @Operation(summary = "子项目管理-分页") + @PreAuthorize("@ss.hasPermission('project:subproject:list')") + public CommonResult> listForPage(@RequestBody SubProjectManagerDO where, + @RequestParam(value = "pageNum", required = false) Integer pageNum, + @RequestParam(value = "pageSize", required = false) Integer pageSize) { + PageParam page = new PageParam(); + page.setPageNo(pageNum == null ? 1 : pageNum); + page.setPageSize(pageSize == null ? 10 : pageSize); + where.setDeptId(SecurityFrameworkUtils.getLoginUserDeptId()); + return success(mapper.selectPage(page, where)); + } + + @PostMapping("/add") + @Operation(summary = "子项目管理-添加") + @PreAuthorize("@ss.hasPermission('project:subproject:add')") + public CommonResult add(@RequestBody SubProjectManagerDO entity) { + entity.setDeptId(SecurityFrameworkUtils.getLoginUserDeptId()); + entity.setCreator(String.valueOf(SecurityFrameworkUtils.getLoginUserId())); + entity.setUpdater(entity.getCreator()); + entity.clean(); + return success(mapper.insert(entity) > 0); + } + + @PostMapping("/edit") + @Operation(summary = "子项目管理-修改") + @PreAuthorize("@ss.hasPermission('project:subproject:edit')") + public CommonResult edit(@RequestBody SubProjectManagerDO entity) { + entity.setUpdater(String.valueOf(SecurityFrameworkUtils.getLoginUserId())); + entity.clean(); + return success(mapper.updateById(entity) > 0); + } + + @GetMapping("/deleteById") + @Operation(summary = "子项目管理-删除") + @PreAuthorize("@ss.hasPermission('project:subproject:delete')") + public CommonResult deleteById(@RequestParam("id") Long id) { + return success(mapper.deleteById(id) > 0); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/rentalmechanicalcost/RentalMechanicalCostController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/rentalmechanicalcost/RentalMechanicalCostController.java index c4255e7..43c0479 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/rentalmechanicalcost/RentalMechanicalCostController.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/rentalmechanicalcost/RentalMechanicalCostController.java @@ -36,7 +36,7 @@ import com.zteits.urbanops.module.garden.service.rentalmechanicalcost.RentalMech @Tag(name = "管理后台 - 租赁机械费用录入") @RestController -@RequestMapping("/garden/rental-mechanical-cost") +@RequestMapping({"/garden/rental-mechanical-cost", "/costfee/rentalmechanicalcost"}) @Validated public class RentalMechanicalCostController { @@ -104,6 +104,14 @@ public class RentalMechanicalCostController { return success(BeanUtils.toBean(pageResult, RentalMechanicalCostRespVO.class)); } + @GetMapping("/list") + @Operation(summary = "租赁机械费用录入-列表(兼容旧路径)") + @PreAuthorize("@ss.hasPermission('garden:rental-mechanical-cost:query')") + public CommonResult> list(@Valid RentalMechanicalCostPageReqVO pageReqVO) { + PageResult pageResult = rentalMechanicalCostService.getRentalMechanicalCostPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, RentalMechanicalCostRespVO.class)); + } + @GetMapping("/export-excel") @Operation(summary = "导出租赁机械费用录入 Excel") @PreAuthorize("@ss.hasPermission('garden:rental-mechanical-cost:export')") diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/roadmanager/RoadManagerController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/roadmanager/RoadManagerController.java new file mode 100644 index 0000000..138eba9 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/roadmanager/RoadManagerController.java @@ -0,0 +1,103 @@ +package com.zteits.urbanops.module.garden.controller.admin.roadmanager; + +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.excel.core.util.ExcelUtils; +import com.zteits.urbanops.framework.common.util.object.BeanUtils; +import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils; +import com.zteits.urbanops.module.garden.controller.admin.roadmanager.vo.RoadManagerPageReqVO; +import com.zteits.urbanops.module.garden.controller.admin.roadmanager.vo.RoadManagerSaveReqVO; +import com.zteits.urbanops.module.garden.dal.dataobject.road.RoadManagerDO; +import com.zteits.urbanops.module.garden.service.road.RoadManagerService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.Valid; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.io.IOException; +import java.util.List; + +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; +import static com.zteits.urbanops.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import com.zteits.urbanops.framework.apilog.core.annotation.ApiAccessLog; + +@Tag(name = "管理后台 - 道路数据管理") +@RestController +@RequestMapping("/road/manager") +public class RoadManagerController { + + @Resource + private RoadManagerService roadManagerService; + + @PostMapping("/listForPage") + @Operation(summary = "道路数据管理-分页") + @PreAuthorize("@ss.hasPermission('garden:road-manager:query')") + public CommonResult> listForPage(@Valid @RequestBody RoadManagerPageReqVO reqVO) { + return success(roadManagerService.selectPage(reqVO)); + } + + @GetMapping("/export") + @Operation(summary = "道路数据管理-导出") + @PreAuthorize("@ss.hasPermission('garden:road-manager:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportExcel(RoadManagerPageReqVO reqVO, HttpServletResponse response) throws IOException { + List list = roadManagerService.selectPage(reqVO).getList(); + ExcelUtils.write(response, "道路数据.xls", "数据", RoadManagerDO.class, + BeanUtils.toBean(list, RoadManagerDO.class)); + } + + @GetMapping("/getById") + @Operation(summary = "道路数据管理-详情") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('garden:road-manager:query')") + public CommonResult getById(@RequestParam("id") Long id) { + return success(roadManagerService.selectById(id)); + } + + @PostMapping("/add") + @Operation(summary = "道路数据管理-添加") + @PreAuthorize("@ss.hasPermission('garden:road-manager:create')") + public CommonResult add(@Valid @RequestBody RoadManagerSaveReqVO reqVO) { + RoadManagerDO entity = BeanUtils.toBean(reqVO, RoadManagerDO.class); + entity.setStatus(0); + return success(roadManagerService.insert(entity)); + } + + @PostMapping("/edit") + @Operation(summary = "道路数据管理-修改") + @PreAuthorize("@ss.hasPermission('garden:road-manager:update')") + public CommonResult edit(@Valid @RequestBody RoadManagerSaveReqVO reqVO) { + RoadManagerDO entity = BeanUtils.toBean(reqVO, RoadManagerDO.class); + entity.setStatus(0); + return success(roadManagerService.update(entity)); + } + + @GetMapping("/deleteById") + @Operation(summary = "道路数据管理-删除") + @PreAuthorize("@ss.hasPermission('garden:road-manager:delete')") + public CommonResult deleteById(@RequestParam("id") Long id) { + return success(roadManagerService.deleteById(id)); + } + + @GetMapping("/list") + @Operation(summary = "道路数据管理-列表") + @PreAuthorize("@ss.hasPermission('garden:road-manager:query')") + public CommonResult> list(@RequestParam(value = "company_id", required = false) Long companyId) { + RoadManagerDO where = new RoadManagerDO(); + where.setCompanyId(companyId); + return success(roadManagerService.selectList(where)); + } + + @GetMapping("/tree") + @Operation(summary = "道路数据管理-树") + @PreAuthorize("@ss.hasPermission('garden:road-manager:query')") + public CommonResult> tree(@RequestParam(value = "company_id", required = false) Long companyId) { + RoadManagerDO where = new RoadManagerDO(); + where.setCompanyId(companyId); + return success(roadManagerService.selectList(where)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/roadmanager/vo/RoadManagerPageReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/roadmanager/vo/RoadManagerPageReqVO.java new file mode 100644 index 0000000..465dcd2 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/roadmanager/vo/RoadManagerPageReqVO.java @@ -0,0 +1,25 @@ +package com.zteits.urbanops.module.garden.controller.admin.roadmanager.vo; + +import com.zteits.urbanops.framework.common.pojo.PageParam; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class RoadManagerPageReqVO extends PageParam { + @Schema(description = "道路名称") + private String roadName; + @Schema(description = "街道ID") + private String streetId; + @Schema(description = "街道名称") + private String streetName; + @Schema(description = "养护级别ID") + private Integer curingLevelId; + @Schema(description = "养护级别") + private String curingLevelName; + @Schema(description = "公司ID") + private Long companyId; + @Schema(description = "部门ID") + private Long deptId; + @Schema(description = "状态") + private Integer status; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/roadmanager/vo/RoadManagerSaveReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/roadmanager/vo/RoadManagerSaveReqVO.java new file mode 100644 index 0000000..01faa64 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/roadmanager/vo/RoadManagerSaveReqVO.java @@ -0,0 +1,34 @@ +package com.zteits.urbanops.module.garden.controller.admin.roadmanager.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +@Data +public class RoadManagerSaveReqVO { + private Long id; + @NotEmpty + @Schema(description = "道路名称") + private String roadName; + private String streetId; + private String streetName; + private Integer curingLevelId; + private String curingLevelName; + private String greenBeltTreeArea; + private String greenBeltArea; + private String totalArea; + private String treeArea; + private String startingLatitude; + private String startingLongitude; + private String startingRemark; + private String endLatitude; + private String endLongitude; + private String endRemark; + private Integer status; + private Long companyId; + private String companyName; + private Long deptId; + private String roadAttr; + private String direction; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/standingbook/StandingBookController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/standingbook/StandingBookController.java new file mode 100644 index 0000000..5712b09 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/standingbook/StandingBookController.java @@ -0,0 +1,35 @@ +package com.zteits.urbanops.module.garden.controller.admin.standingbook; + +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import com.zteits.urbanops.framework.common.pojo.PageParam; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.module.garden.controller.admin.standingbook.vo.StandingBookPageReqVO; +import com.zteits.urbanops.module.garden.dal.dataobject.standingbook.StandingBookDO; +import com.zteits.urbanops.module.garden.service.standingbook.StandingBookService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 年度基础台账") +@RestController +@RequestMapping("/standing/book") +public class StandingBookController { + + @Resource + private StandingBookService standingBookService; + + @PostMapping("/listForPage") + @Operation(summary = "年度基础台账-分页") + public CommonResult> listForPage(@RequestBody StandingBookPageReqVO reqVO) { + PageParam page = new PageParam(); + page.setPageNo(reqVO.getPageNo()); + page.setPageSize(reqVO.getPageSize()); + return success(standingBookService.selectPage(page, reqVO)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/standingbook/vo/StandingBookPageReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/standingbook/vo/StandingBookPageReqVO.java new file mode 100644 index 0000000..774d8ea --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/standingbook/vo/StandingBookPageReqVO.java @@ -0,0 +1,9 @@ +package com.zteits.urbanops.module.garden.controller.admin.standingbook.vo; + +import com.zteits.urbanops.framework.common.pojo.PageParam; +import lombok.Data; + +@Data +public class StandingBookPageReqVO extends PageParam { + private String standingBookYear; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/system/SystemDeptBridgeController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/system/SystemDeptBridgeController.java new file mode 100644 index 0000000..3aba77a --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/system/SystemDeptBridgeController.java @@ -0,0 +1,57 @@ +package com.zteits.urbanops.module.garden.controller.admin.system; + +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import com.zteits.urbanops.framework.common.util.object.BeanUtils; +import com.zteits.urbanops.module.system.controller.admin.dept.vo.dept.DeptListReqVO; +import com.zteits.urbanops.module.system.controller.admin.dept.vo.dept.DeptRespVO; +import com.zteits.urbanops.module.system.controller.admin.dept.vo.dept.DeptSimpleRespVO; +import com.zteits.urbanops.module.system.dal.dataobject.dept.DeptDO; +import com.zteits.urbanops.module.system.service.dept.DeptService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 系统部门桥接") +@RestController +@RequestMapping("/bridge/system/dept") +public class SystemDeptBridgeController { + + @Resource + private DeptService deptService; + + @GetMapping("/list") + @Operation(summary = "获取部门列表") + public CommonResult> list() { + List list = deptService.getDeptList(new DeptListReqVO()); + return success(BeanUtils.toBean(list, DeptRespVO.class)); + } + + @GetMapping("/treeselect") + @Operation(summary = "部门树精简列表") + public CommonResult> treeSelect() { + List list = deptService.getDeptList(new DeptListReqVO()); + return success(BeanUtils.toBean(list, DeptSimpleRespVO.class)); + } + + @GetMapping("/treeselectBycompanyId") + @Operation(summary = "部门树精简列表(按公司)") + public CommonResult> treeSelectByCompany(@RequestParam("belong_company_id") Long companyId) { + List list = deptService.getDeptList(new DeptListReqVO()); + return success(BeanUtils.toBean(list, DeptSimpleRespVO.class)); + } + + @GetMapping("/selectPatrolUsersByDeptId") + @Operation(summary = "按部门选择巡查用户") + public CommonResult> selectPatrolUsersByDeptId(@RequestParam("dept_id") Long deptId) { + List list = deptService.getDeptList(new DeptListReqVO()); + return success(BeanUtils.toBean(list, DeptSimpleRespVO.class)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/system/SystemUserBridgeController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/system/SystemUserBridgeController.java new file mode 100644 index 0000000..c522d6e --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/system/SystemUserBridgeController.java @@ -0,0 +1,28 @@ +package com.zteits.urbanops.module.garden.controller.admin.system; + +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import com.zteits.urbanops.module.system.controller.admin.user.vo.profile.UserProfileRespVO; +import com.zteits.urbanops.module.system.controller.admin.user.UserProfileController; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 系统用户桥接") +@RestController +@RequestMapping("/bridge/system/user/profile") +public class SystemUserBridgeController { + + @Resource + private UserProfileController userProfileController; + + @GetMapping("/get") + @Operation(summary = "获得登录用户信息") + public CommonResult getUserProfile() { + return userProfileController.getUserProfile(); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/treerecord/GardenTreeController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/treerecord/GardenTreeController.java new file mode 100644 index 0000000..ac3839a --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/treerecord/GardenTreeController.java @@ -0,0 +1,96 @@ +package com.zteits.urbanops.module.garden.controller.admin.treerecord; + +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.excel.core.util.ExcelUtils; +import com.zteits.urbanops.module.garden.dal.dataobject.treerecord.GardenTreeDO; +import com.zteits.urbanops.module.garden.service.treerecord.GardenTreeService; +import com.zteits.urbanops.module.garden.controller.admin.treerecord.vo.CompanyDeptRoadVO; +import com.zteits.urbanops.module.garden.controller.admin.treerecord.vo.RoadTreeVO; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletResponse; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.io.IOException; +import java.util.List; + +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; +import static com.zteits.urbanops.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import com.zteits.urbanops.framework.apilog.core.annotation.ApiAccessLog; + +@Tag(name = "管理后台 - 一树一档案") +@RestController +@RequestMapping("/business/tree") +public class GardenTreeController { + + @Resource + private GardenTreeService gardenTreeService; + + @GetMapping("/list") + @Operation(summary = "一树一档案-列表") + @PreAuthorize("@ss.hasPermission('business:tree:list')") + public CommonResult> list(@RequestParam(required = false) Integer pageNum, + @RequestParam(required = false) Integer pageSize, + GardenTreeDO where) { + int pn = pageNum == null ? 1 : pageNum; + int ps = pageSize == null ? 10 : pageSize; + return success(gardenTreeService.selectPage(where, pn, ps)); + } + + @GetMapping("/export") + @Operation(summary = "一树一档案-导出") + @PreAuthorize("@ss.hasPermission('business:tree:export')") + @ApiAccessLog(operateType = EXPORT) + public void export(GardenTreeDO where, HttpServletResponse response) throws IOException { + List list = gardenTreeService.selectPage(where, 1, Integer.MAX_VALUE).getList(); + ExcelUtils.write(response, "树木信息.xls", "数据", GardenTreeDO.class, list); + } + + @GetMapping("/{id}") + @Operation(summary = "一树一档案-详情") + @PreAuthorize("@ss.hasPermission('business:tree:query')") + public CommonResult getInfo(@PathVariable("id") Long id) { + return success(gardenTreeService.selectById(id)); + } + + @PostMapping + @Operation(summary = "一树一档案-新增") + @PreAuthorize("@ss.hasPermission('business:tree:add')") + public CommonResult add(@RequestBody GardenTreeDO entity) { + entity.setDeleted(false); + return success(gardenTreeService.insert(entity)); + } + + @PutMapping + @Operation(summary = "一树一档案-修改") + @PreAuthorize("@ss.hasPermission('business:tree:edit')") + public CommonResult edit(@RequestBody GardenTreeDO entity) { + return success(gardenTreeService.update(entity)); + } + + @DeleteMapping("/{ids}") + @Operation(summary = "一树一档案-删除") + @PreAuthorize("@ss.hasPermission('business:tree:remove')") + public CommonResult remove(@PathVariable List ids) { + return success(gardenTreeService.deleteByIds(ids)); + } + + @GetMapping("/dept/list") + @Operation(summary = "一树一档案-公司部门道路树结构") + @PreAuthorize("@ss.hasPermission('business:tree:list')") + public CommonResult> deptList(@RequestParam Long companyId, + @RequestParam(required = false) String roadName, + @RequestParam(required = false) Long deptId) { + return success(gardenTreeService.getCompanyDeptRoadTreeData(companyId, roadName, deptId)); + } + + @GetMapping("/road/list") + @Operation(summary = "一树一档案-按道路查询树列表") + @PreAuthorize("@ss.hasPermission('business:tree:list')") + public CommonResult> listTreesByRoad(@RequestParam Long road) { + return success(gardenTreeService.getTreesByRoadId(road)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/treerecord/OldTreesController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/treerecord/OldTreesController.java new file mode 100644 index 0000000..7215964 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/treerecord/OldTreesController.java @@ -0,0 +1,83 @@ +package com.zteits.urbanops.module.garden.controller.admin.treerecord; + +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import com.zteits.urbanops.framework.common.pojo.PageParam; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.excel.core.util.ExcelUtils; +import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils; +import com.zteits.urbanops.module.garden.dal.dataobject.treerecord.GardenOldtreesDO; +import com.zteits.urbanops.module.garden.service.treerecord.GardenOldtreesService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletResponse; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.io.IOException; +import java.util.List; + +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 古树名木") +@RestController +@RequestMapping("/treerecord/oldtrees") +public class OldTreesController { + + @Resource + private GardenOldtreesService service; + + @GetMapping("/list") + @Operation(summary = "古树台账-列表") + @PreAuthorize("@ss.hasPermission('treerecord:oldtrees:list')") + public CommonResult> list(GardenOldtreesDO where, + @RequestParam(value = "pageNum", required = false) Integer pageNum, + @RequestParam(value = "pageSize", required = false) Integer pageSize) { + where.setDeptId(SecurityFrameworkUtils.getLoginUserDeptId()); + PageParam page = new PageParam(); + page.setPageNo(pageNum == null ? 1 : pageNum); + page.setPageSize(pageSize == null ? 10 : pageSize); + return success(service.selectPage(page, where)); + } + + @GetMapping("/export") + @Operation(summary = "古树台账-导出") + @PreAuthorize("@ss.hasPermission('treerecord:oldtrees:export')") + public void export(GardenOldtreesDO where, HttpServletResponse response) throws IOException { + where.setDeptId(SecurityFrameworkUtils.getLoginUserDeptId()); + List list = service.selectList(where); + ExcelUtils.write(response, "古树信息.xls", "数据", GardenOldtreesDO.class, list); + } + + @GetMapping("/{id}") + @Operation(summary = "古树台账-详情") + @PreAuthorize("@ss.hasPermission('treerecord:oldtrees:query')") + public CommonResult getInfo(@PathVariable("id") String id) { + return success(service.selectById(id)); + } + + @PostMapping + @Operation(summary = "古树台账-新增") + @PreAuthorize("@ss.hasPermission('treerecord:oldtrees:add')") + public CommonResult add(@RequestBody GardenOldtreesDO entity) { + entity.setCreator(String.valueOf(SecurityFrameworkUtils.getLoginUserId())); + entity.setUpdater(String.valueOf(SecurityFrameworkUtils.getLoginUserId())); + entity.setDeptId(SecurityFrameworkUtils.getLoginUserDeptId()); + return success(service.insert(entity)); + } + + @PutMapping + @Operation(summary = "古树台账-修改") + @PreAuthorize("@ss.hasPermission('treerecord:oldtrees:edit')") + public CommonResult edit(@RequestBody GardenOldtreesDO entity) { + entity.setUpdater(String.valueOf(SecurityFrameworkUtils.getLoginUserId())); + return success(service.update(entity)); + } + + @DeleteMapping("/{ids}") + @Operation(summary = "古树台账-删除") + @PreAuthorize("@ss.hasPermission('treerecord:oldtrees:remove')") + public CommonResult remove(@PathVariable List ids) { + return success(service.deleteByIds(ids)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/treerecord/vo/CompanyDeptRoadVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/treerecord/vo/CompanyDeptRoadVO.java new file mode 100644 index 0000000..913d51b --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/treerecord/vo/CompanyDeptRoadVO.java @@ -0,0 +1,29 @@ +package com.zteits.urbanops.module.garden.controller.admin.treerecord.vo; + +import lombok.Data; + +import java.util.List; + +@Data +public class CompanyDeptRoadVO { + private String companyId; + private String companyName; + private List depts; + + @Data + public static class DeptVO { + private Long deptId; + private String deptName; + private List roads; + } + + @Data + public static class RoadVO { + private Long roadId; + private String roadName; + private Long treeCount; + private Long recordedCount; + private String startRemark; + private String endRemark; + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/treerecord/vo/RoadTreeVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/treerecord/vo/RoadTreeVO.java new file mode 100644 index 0000000..dff50ce --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/treerecord/vo/RoadTreeVO.java @@ -0,0 +1,13 @@ +package com.zteits.urbanops.module.garden.controller.admin.treerecord.vo; + +import lombok.Data; + +@Data +public class RoadTreeVO { + private Long id; + private String treetype; + private String treeheight; + private String dbh; + private String treenumber; + private String treephoto; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/wasterecord/WasteRecordController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/wasterecord/WasteRecordController.java index c1d0b67..8b1cfe6 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/wasterecord/WasteRecordController.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/wasterecord/WasteRecordController.java @@ -31,7 +31,7 @@ import com.zteits.urbanops.module.garden.service.wasterecord.WasteRecordService; @Tag(name = "管理后台 - 园林废弃物录入") @RestController -@RequestMapping("/garden/waste-record") +@RequestMapping({"/garden/waste-record", "/costfee/gardenwasterecord"}) @Validated public class WasteRecordController { @@ -88,6 +88,14 @@ public class WasteRecordController { return success(BeanUtils.toBean(pageResult, WasteRecordRespVO.class)); } + @GetMapping("/list") + @Operation(summary = "园林废弃物录入-列表(兼容旧路径)") + @PreAuthorize("@ss.hasPermission('garden:waste-record:query')") + public CommonResult> list(@Valid WasteRecordPageReqVO pageReqVO) { + PageResult pageResult = wasteRecordService.getWasteRecordPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, WasteRecordRespVO.class)); + } + @GetMapping("/export-excel") @Operation(summary = "导出园林废弃物录入 Excel") @PreAuthorize("@ss.hasPermission('garden:waste-record:export')") diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/AppCommonController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/AppCommonController.java new file mode 100644 index 0000000..eb85eaf --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/AppCommonController.java @@ -0,0 +1,44 @@ +package com.zteits.urbanops.module.garden.controller.app; + +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import com.zteits.urbanops.module.garden.controller.app.vo.DictTypeRespVO; +import com.zteits.urbanops.module.system.dal.dataobject.dict.DictDataDO; +import com.zteits.urbanops.module.system.service.dict.DictDataService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; + +@Tag(name = "APP - 公共查询") +@RestController +@RequestMapping("/app/common") +public class AppCommonController { + + @Resource + private DictDataService dictDataService; + + @GetMapping("/type") + @Operation(summary = "根据字典类型查询字典数据信息") + public CommonResult> dictType(@RequestParam("dict_type") String dictType) { + List respList = new ArrayList<>(); + List list = dictDataService.getDictDataListByDictType(dictType); + if (list == null || list.isEmpty()) { + return success(respList); + } + for (DictDataDO e : list) { + DictTypeRespVO resp = new DictTypeRespVO(); + resp.setValue(e.getValue()); + resp.setLabel(e.getLabel()); + respList.add(resp); + } + return success(respList); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/AppMaterialTypeController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/AppMaterialTypeController.java new file mode 100644 index 0000000..649472f --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/AppMaterialTypeController.java @@ -0,0 +1,43 @@ +package com.zteits.urbanops.module.garden.controller.app; + +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import com.zteits.urbanops.module.garden.controller.business.vo.MaterialTypeManagerRespVO; +import com.zteits.urbanops.module.garden.service.material.MaterialTypeService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; + +@Tag(name = "APP - 物料类型") +@RestController +@RequestMapping("/app/materialType/type") +public class AppMaterialTypeController { + + @Resource + private MaterialTypeService materialTypeService; + + @GetMapping("/getMaterialBigTypeList") + @Operation(summary = "物料类型基础表-耗材类型List") + public CommonResult> getMaterialBigTypeList() { + return success(materialTypeService.queryMaterialBigType(30000L)); + } + + @GetMapping("/getMaterialMidTypeList") + @Operation(summary = "物料类型基础表-类别List") + public CommonResult> getMaterialMidTypeList(@RequestParam("material_type_id") Long materialTypeId) { + return success(materialTypeService.queryMaterialMidType(materialTypeId)); + } + + @GetMapping("/getMaterialDetailTypeList") + @Operation(summary = "物料类型基础表-类别明细List") + public CommonResult> getMaterialDetailTypeList(@RequestParam("parent_type_id") Long parentTypeId) { + return success(materialTypeService.queryMaterialDetailType(parentTypeId)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/AppUserGpsController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/AppUserGpsController.java new file mode 100644 index 0000000..3ca381f --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/AppUserGpsController.java @@ -0,0 +1,42 @@ +package com.zteits.urbanops.module.garden.controller.app; + +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import com.zteits.urbanops.module.garden.controller.app.vo.UserGpsAddReqVO; +import com.zteits.urbanops.module.garden.controller.app.vo.UserGpsRespVO; +import com.zteits.urbanops.module.garden.service.usergps.UserGpsService; +import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import jakarta.validation.Valid; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; + +@Tag(name = "APP - 用户经纬度") +@RestController +@RequestMapping("/app/user/gps") +public class AppUserGpsController { + + @Resource + private UserGpsService userGpsService; + + + + @GetMapping("/list") + @Operation(summary = "用户经纬度-查询列表") + public CommonResult> list(@RequestParam("user_id") Long userId, + @RequestParam("commit_time") String commitTime) { + return success(userGpsService.selectUserGpsList(userId, commitTime)); + } + + @PostMapping("/add") + @Operation(summary = "用户经纬度-添加") + public CommonResult add(@Valid @RequestBody UserGpsAddReqVO reqVO) { + Long userId = SecurityFrameworkUtils.getLoginUserId(); + String nickname = SecurityFrameworkUtils.getLoginUserNickname(); + return success(userGpsService.insertUserGps(userId, nickname, reqVO)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/plan/AppMaintainPlanCommitController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/plan/AppMaintainPlanCommitController.java new file mode 100644 index 0000000..49ba69f --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/plan/AppMaintainPlanCommitController.java @@ -0,0 +1,79 @@ +package com.zteits.urbanops.module.garden.controller.app.plan; + +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.common.pojo.PageParam; +import com.zteits.urbanops.module.garden.controller.app.vo.PlanCommitDetailPageReqVO; +import com.zteits.urbanops.module.garden.controller.app.vo.PlanTaskCommitDetailPageRespVO; +import com.zteits.urbanops.module.garden.service.plancommit.MaintainPlanCommitDetailService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; + +@Tag(name = "APP - 养护、巡检计划提交记录") +@RestController +@RequestMapping("/app/plan/commit") +public class AppMaintainPlanCommitController { + + @Resource + private MaintainPlanCommitDetailService service; + + @PostMapping("/xc/listForPage") + @Operation(summary = "巡检计划提交记录-分页查询") + public CommonResult> listForPage(@RequestBody PlanCommitDetailPageReqVO reqVO) { + PageParam page = new PageParam(); + page.setPageNo(reqVO.getPageNo()); + page.setPageSize(reqVO.getPageSize()); + return success(service.pageListXC(page, reqVO)); + } + + @PostMapping("/add") + @Operation(summary = "巡检计划-add") + public CommonResult add(@RequestBody com.zteits.urbanops.module.garden.controller.app.vo.PlanCommitDetailAddReqVO reqVO) { + Long userId = com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId(); + String nickname = com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils.getLoginUserNickname(); + java.time.LocalDate today = java.time.LocalDate.now(); + Integer count = service.selectByPlanNoAndCommitDate(reqVO.planNo, today); + if (count != null && count > 0) { + return com.zteits.urbanops.framework.common.pojo.CommonResult.error(409, "记录已存在,请勿重复提交"); + } + return success(service.insertXC(userId, nickname, reqVO)); + } + + @PostMapping("/yh/listForPage") + @Operation(summary = "养护计划提交记录-分页查询") + public CommonResult> yhListForPage(@RequestBody com.zteits.urbanops.module.garden.controller.app.vo.PlanYhCommitDetailPageReqVO reqVO) { + PageParam page = new PageParam(); + page.setPageNo(reqVO.getPageNo()); + page.setPageSize(reqVO.getPageSize()); + return success(service.pageListYH(page, reqVO)); + } + + @PostMapping("/yh/add") + @Operation(summary = "养护计划-add") + public CommonResult yhAdd(@RequestBody com.zteits.urbanops.module.garden.controller.app.vo.PlanCommitDetailYhAddReqVO reqVO) { + Long userId = com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId(); + String nickname = com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils.getLoginUserNickname(); + return success(service.insertYH(userId, nickname, reqVO)); + } + + @RequestMapping(value = "/yh/getById", method = org.springframework.web.bind.annotation.RequestMethod.GET) + @Operation(summary = "养护计划提交记录-提交明细") + public CommonResult yhGetById(@org.springframework.web.bind.annotation.RequestParam("id") Long id, + @org.springframework.web.bind.annotation.RequestParam(value = "is_add_url", required = false) Boolean isAddUrl) { + return success(service.getById(id)); + } + + @RequestMapping(value = "/yh/getMaintainNo", method = org.springframework.web.bind.annotation.RequestMethod.GET) + @Operation(summary = "养护任务提交记录-提交明细") + public CommonResult yhGetByProblemNo(@org.springframework.web.bind.annotation.RequestParam("problem_no") String problemNo, + @org.springframework.web.bind.annotation.RequestParam(value = "is_add_url", required = false) Boolean isAddUrl) { + return success(service.getByProblemNo(problemNo, isAddUrl)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/vo/DictTypeRespVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/vo/DictTypeRespVO.java new file mode 100644 index 0000000..930cd8b --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/vo/DictTypeRespVO.java @@ -0,0 +1,9 @@ +package com.zteits.urbanops.module.garden.controller.app.vo; + +import lombok.Data; + +@Data +public class DictTypeRespVO { + private String value; + private String label; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/vo/PlanCommitDetailAddReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/vo/PlanCommitDetailAddReqVO.java new file mode 100644 index 0000000..6c72977 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/vo/PlanCommitDetailAddReqVO.java @@ -0,0 +1,11 @@ +package com.zteits.urbanops.module.garden.controller.app.vo; + +import jakarta.validation.constraints.NotEmpty; +import lombok.Data; + +@Data +public class PlanCommitDetailAddReqVO { + @NotEmpty + public String planNo; + public String content; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/vo/PlanCommitDetailPageReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/vo/PlanCommitDetailPageReqVO.java new file mode 100644 index 0000000..817ebf1 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/vo/PlanCommitDetailPageReqVO.java @@ -0,0 +1,9 @@ +package com.zteits.urbanops.module.garden.controller.app.vo; + +import com.zteits.urbanops.framework.common.pojo.PageParam; +import lombok.Data; + +@Data +public class PlanCommitDetailPageReqVO extends PageParam { + private String planNo; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/vo/PlanCommitDetailYhAddReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/vo/PlanCommitDetailYhAddReqVO.java new file mode 100644 index 0000000..b842cda --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/vo/PlanCommitDetailYhAddReqVO.java @@ -0,0 +1,13 @@ +package com.zteits.urbanops.module.garden.controller.app.vo; + +import jakarta.validation.constraints.NotEmpty; +import lombok.Data; + +@Data +public class PlanCommitDetailYhAddReqVO { + @NotEmpty + private String planNo; + private String problemNo; + @NotEmpty + private String content; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/vo/PlanTaskCommitDetailPageRespVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/vo/PlanTaskCommitDetailPageRespVO.java new file mode 100644 index 0000000..039d2ea --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/vo/PlanTaskCommitDetailPageRespVO.java @@ -0,0 +1,11 @@ +package com.zteits.urbanops.module.garden.controller.app.vo; + +import lombok.Data; + +@Data +public class PlanTaskCommitDetailPageRespVO { + private Long id; + private String planNo; + private String commitDate; + private String content; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/vo/PlanYhCommitDetailPageReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/vo/PlanYhCommitDetailPageReqVO.java new file mode 100644 index 0000000..409e4b0 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/vo/PlanYhCommitDetailPageReqVO.java @@ -0,0 +1,9 @@ +package com.zteits.urbanops.module.garden.controller.app.vo; + +import com.zteits.urbanops.framework.common.pojo.PageParam; +import lombok.Data; + +@Data +public class PlanYhCommitDetailPageReqVO extends PageParam { + private Long companyId; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/vo/UserGpsAddReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/vo/UserGpsAddReqVO.java new file mode 100644 index 0000000..cc7ae7a --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/vo/UserGpsAddReqVO.java @@ -0,0 +1,15 @@ +package com.zteits.urbanops.module.garden.controller.app.vo; + +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +public class UserGpsAddReqVO { + private Integer type; + @NotNull + private BigDecimal lat; + @NotNull + private BigDecimal lon; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/vo/UserGpsAppReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/vo/UserGpsAppReqVO.java new file mode 100644 index 0000000..737d2c8 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/vo/UserGpsAppReqVO.java @@ -0,0 +1,10 @@ +package com.zteits.urbanops.module.garden.controller.app.vo; + +import jakarta.validation.constraints.NotEmpty; +import lombok.Data; + +@Data +public class UserGpsAppReqVO { + @NotEmpty + private String commitTime; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/vo/UserGpsRespVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/vo/UserGpsRespVO.java new file mode 100644 index 0000000..09eec6b --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/app/vo/UserGpsRespVO.java @@ -0,0 +1,17 @@ +package com.zteits.urbanops.module.garden.controller.app.vo; + +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Data +public class UserGpsRespVO { + private Long id; + private LocalDateTime commitDate; + private Integer type; + private Long userId; + private String userName; + private BigDecimal lat; + private BigDecimal lon; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/business/MaterialTypeController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/business/MaterialTypeController.java new file mode 100644 index 0000000..fc4624c --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/business/MaterialTypeController.java @@ -0,0 +1,91 @@ +package com.zteits.urbanops.module.garden.controller.business; + +import cn.hutool.core.bean.BeanUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.module.garden.controller.business.vo.MaterialTypeAddReqVO; +import com.zteits.urbanops.module.garden.controller.business.vo.MaterialTypeEditReqVO; +import com.zteits.urbanops.module.garden.controller.business.vo.MaterialTypeManagerRespVO; +import com.zteits.urbanops.module.garden.controller.business.vo.MaterialTypePageReqVO; +import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialTypeDO; +import com.zteits.urbanops.module.garden.service.material.MaterialTypeService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import jakarta.validation.Valid; +import org.springframework.web.bind.annotation.*; + +import java.time.LocalDateTime; +import java.util.List; + +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; + +@Tag(name = "园林养护 - 物料类型") +@RestController +@RequestMapping("/materialType/type") +public class MaterialTypeController { + + @Resource + private MaterialTypeService materialTypeService; + + @GetMapping("/getMaterialBigTypeList") + @Operation(summary = "物料类型基础表-耗材类型List") + public CommonResult> getMaterialBigTypeList() { + return success(materialTypeService.queryMaterialBigType(null)); + } + + @GetMapping("/getMaterialMidTypeList") + @Operation(summary = "物料类型基础表-类别List") + public CommonResult> getMaterialMidTypeList(@RequestParam("material_type_id") Long materialTypeId) { + return success(materialTypeService.queryMaterialMidType(materialTypeId)); + } + + @GetMapping("/getMaterialDetailTypeList") + @Operation(summary = "物料类型基础表-类别明细List") + public CommonResult> getMaterialDetailTypeList(@RequestParam("parent_type_id") Long parentTypeId) { + return success(materialTypeService.queryMaterialDetailType(parentTypeId)); + } + + @PostMapping("/listForPage") + @Operation(summary = "耗材基础-分页") + public CommonResult> listForPage(@Valid @RequestBody MaterialTypePageReqVO reqVO) { + MaterialTypeDO where = new MaterialTypeDO(); + String keyword = reqVO.getTypeName(); + if (keyword == null || keyword.isEmpty()) { + keyword = reqVO.getMaterialTypeName(); + } + if (keyword == null || keyword.isEmpty()) { + keyword = reqVO.getTypeDetailName(); + } + where.setTypeName(keyword); + Page page = materialTypeService.selectPage(new Page<>(reqVO.getPageNum(), reqVO.getPageSize()), where); + return success(new PageResult<>(page.getRecords(), page.getTotal())); + } + + @PostMapping("/add") + @Operation(summary = "耗材基础-添加") + public CommonResult add(@Valid @RequestBody MaterialTypeAddReqVO reqVO) { + MaterialTypeDO entity = new MaterialTypeDO(); + entity.setTypeName(reqVO.getTypeDetailName()); + entity.setParentId(reqVO.getTypeId()); + entity.setLevel(3); + entity.setCreator("system"); + entity.setUpdater("system"); + return success(materialTypeService.insert(entity)); + } + + @PostMapping("/edit") + @Operation(summary = "耗材基础-修改") + public CommonResult edit(@Valid @RequestBody MaterialTypeEditReqVO reqVO) { + MaterialTypeDO entity = new MaterialTypeDO(); + BeanUtil.copyProperties(reqVO, entity, true); + return success(materialTypeService.update(entity)); + } + + @GetMapping("/deleteById") + @Operation(summary = "耗材基础-删除") + public CommonResult deleteById(@RequestParam("id") Long id) { + return success(materialTypeService.deleteById(id)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/business/vo/MaterialTypeAddReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/business/vo/MaterialTypeAddReqVO.java new file mode 100644 index 0000000..81c3f38 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/business/vo/MaterialTypeAddReqVO.java @@ -0,0 +1,29 @@ +package com.zteits.urbanops.module.garden.controller.business.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +@Data +public class MaterialTypeAddReqVO { + @Schema(description = "物料类型ID") + @NotNull + private Long materialTypeId; + + @Schema(description = "耗材类型名称") + @NotEmpty + private String materialTypeName; + + @Schema(description = "类别ID") + @NotNull + private Long typeId; + + @Schema(description = "类别名称") + @NotEmpty + private String typeName; + + @Schema(description = "类别明细") + @NotEmpty + private String typeDetailName; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/business/vo/MaterialTypeEditReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/business/vo/MaterialTypeEditReqVO.java new file mode 100644 index 0000000..efc0e4e --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/business/vo/MaterialTypeEditReqVO.java @@ -0,0 +1,37 @@ +package com.zteits.urbanops.module.garden.controller.business.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import lombok.Data; + +@Data +public class MaterialTypeEditReqVO { + @NotNull + private Long id; + + @Schema(description = "物料类型ID") + private Long materialTypeId; + + @Schema(description = "耗材类型名称") + private String materialTypeName; + + @Schema(description = "类别ID") + private Long typeId; + + @Schema(description = "类别名称") + private String typeName; + + @Schema(description = "类别明细ID") + private Long typeDetailId; + + @Schema(description = "类别明细") + private String typeDetailName; + + private Long materialParentTypeId; + + private Long parentTypeId; + + private String status; + + private String remark; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/business/vo/MaterialTypeManagerRespVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/business/vo/MaterialTypeManagerRespVO.java new file mode 100644 index 0000000..0f46453 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/business/vo/MaterialTypeManagerRespVO.java @@ -0,0 +1,11 @@ +package com.zteits.urbanops.module.garden.controller.business.vo; + +import lombok.Data; + +@Data +public class MaterialTypeManagerRespVO { + private Long value; + private String label; + private Long materialParentTypeId; + private Long parentTypeId; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/business/vo/MaterialTypePageReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/business/vo/MaterialTypePageReqVO.java new file mode 100644 index 0000000..2e17e00 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/business/vo/MaterialTypePageReqVO.java @@ -0,0 +1,18 @@ +package com.zteits.urbanops.module.garden.controller.business.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +public class MaterialTypePageReqVO { + + @Schema(description = "页码") + private Integer pageNum = 1; + + @Schema(description = "每页数量") + private Integer pageSize = 10; + + private String materialTypeName; + private String typeName; + private String typeDetailName; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/device/DeviceCompanyDO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/device/DeviceCompanyDO.java new file mode 100644 index 0000000..ab0ec36 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/device/DeviceCompanyDO.java @@ -0,0 +1,20 @@ +package com.zteits.urbanops.module.garden.dal.dataobject.device; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO; +import lombok.Data; + +@TableName("garden_device_company") +@Data +public class DeviceCompanyDO extends BaseDO { + @TableId + private Long id; + private String name; + private Long parentId; + private Long belongCompanyId; + private String enterLoginName; + private String passWord; + private String status; + private String remark; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/hotline/HotlineCaseDO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/hotline/HotlineCaseDO.java new file mode 100644 index 0000000..bade320 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/hotline/HotlineCaseDO.java @@ -0,0 +1,25 @@ +package com.zteits.urbanops.module.garden.dal.dataobject.hotline; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO; +import lombok.Data; + +import java.util.Date; + +@TableName("garden_hotline_case") +@Data +public class HotlineCaseDO extends BaseDO { + @TableId + private String id; + private String hotlinenumber; + private String casefile; + private String title; + private String content; + private String department; + private String taskstate; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date replayTime; + private String street; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/hotline/HotlineFileDO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/hotline/HotlineFileDO.java new file mode 100644 index 0000000..946f0f6 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/hotline/HotlineFileDO.java @@ -0,0 +1,16 @@ +package com.zteits.urbanops.module.garden.dal.dataobject.hotline; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO; +import lombok.Data; + +@TableName("garden_hotline_file") +@Data +public class HotlineFileDO extends BaseDO { + @TableId + private String caseid; + private String casefile; + private String title; + private String content; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/maintainplan/MaintainPlanDO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/maintainplan/MaintainPlanDO.java new file mode 100644 index 0000000..f8fa45b --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/maintainplan/MaintainPlanDO.java @@ -0,0 +1,21 @@ +package com.zteits.urbanops.module.garden.dal.dataobject.maintainplan; + +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO; +import lombok.Data; + +@TableName("garden_maintain_plan") +@KeySequence("garden_maintain_plan_seq") +@Data +public class MaintainPlanDO extends BaseDO { + @TableId + private Long id; + private String planNo; + private String planName; + private Integer type; + private Long deptId; + private Long companyId; + private String status; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/maintainrate/MaintainRateDO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/maintainrate/MaintainRateDO.java new file mode 100644 index 0000000..5cbcffa --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/maintainrate/MaintainRateDO.java @@ -0,0 +1,42 @@ +package com.zteits.urbanops.module.garden.dal.dataobject.maintainrate; + +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO; +import lombok.*; + +/** + * 养护频次 DO + */ +@TableName("garden_maintain_rate") +@KeySequence("garden_maintain_rate_seq") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class MaintainRateDO extends BaseDO { + + @TableId + private Long id; + + private Integer type; + + private Integer maintainSubjectId; + private String maintainSubjectName; + + private Integer maintainTypeId; + private String maintainTypeName; + + private String levelTop; + private String levelOne; + private String levelTwo; + private String levelThree; + + private Integer cycleId; + private String cycleName; + + private String status; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/material/MaterialDO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/material/MaterialDO.java new file mode 100644 index 0000000..2ced8a7 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/material/MaterialDO.java @@ -0,0 +1,30 @@ +package com.zteits.urbanops.module.garden.dal.dataobject.material; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO; +import lombok.Data; + +@TableName("garden_material") +@Data +public class MaterialDO extends BaseDO { + @TableId + private Long materialId; + private String fullCode; + private String materialCode; + private String materialName; + private Long materialTypeId; + private String materialTypeName; + private Long typeId; + private String typeName; + private Long typeDetailId; + private String typeDetailName; + private String specCode; + private String specifications; + private Long unitId; + private String unitName; + private Long belongCompanyId; + private String belongCompanyName; + private String status; + private Integer isAssociatedOrder; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/material/MaterialInventoryDO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/material/MaterialInventoryDO.java new file mode 100644 index 0000000..1ca18c2 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/material/MaterialInventoryDO.java @@ -0,0 +1,32 @@ +package com.zteits.urbanops.module.garden.dal.dataobject.material; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO; +import lombok.Data; + +@TableName("garden_material_inventory") +@Data +public class MaterialInventoryDO extends BaseDO { + @TableId + private Long inventoryId; + private Long materialId; + private String materialName; + private Long materialTypeId; + private String materialTypeName; + private Long typeId; + private String typeName; + private Long typeDetailId; + private String typeDetailName; + private String specifications; + private Long belongCompanyId; + private String belongCompanyName; + private Long unitId; + private String unitName; + private Long currentNum; + private Long outTotalNum; + private Long inventoryTotalNum; + private String status; + private Long inventoryAlermNum; + private Long deptId; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/material/MaterialInventoryInDO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/material/MaterialInventoryInDO.java new file mode 100644 index 0000000..422c54c --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/material/MaterialInventoryInDO.java @@ -0,0 +1,38 @@ +package com.zteits.urbanops.module.garden.dal.dataobject.material; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +@TableName("garden_material_inventory_in") +@Data +public class MaterialInventoryInDO extends BaseDO { + @TableId + private Long id; + private String inventoryInNo; + private Long materialId; + private String materialName; + private Long materialTypeId; + private String materialTypeName; + private Long typeId; + private String typeName; + private Long typeDetailId; + private String typeDetailName; + private String specifications; + private Long belongCompanyId; + private String belongCompanyName; + private Long inInventoryNum; + private BigDecimal materialPrice; + private Long unitId; + private String unitName; + private Date buyDate; + private String supplierName; + private String contactsName; + private String contactsPhone; + private String status; + private Long deptId; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/material/MaterialInventoryOutDO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/material/MaterialInventoryOutDO.java new file mode 100644 index 0000000..345b7e0 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/material/MaterialInventoryOutDO.java @@ -0,0 +1,34 @@ +package com.zteits.urbanops.module.garden.dal.dataobject.material; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO; +import lombok.Data; + +import java.util.Date; + +@TableName("garden_material_inventory_out") +@Data +public class MaterialInventoryOutDO extends BaseDO { + @TableId + private Long id; + private String inventoryOutNo; + private Long materialId; + private String materialName; + private Long materialTypeId; + private String materialTypeName; + private Long typeId; + private String typeName; + private Long typeDetailId; + private String typeDetailName; + private String specifications; + private Long belongCompanyId; + private String belongCompanyName; + private Long outInventoryNum; + private Long unitId; + private String unitName; + private Date outDate; + private String status; + private Integer type; + private Long deptId; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/material/MaterialManagerDO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/material/MaterialManagerDO.java new file mode 100644 index 0000000..46d8fd2 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/material/MaterialManagerDO.java @@ -0,0 +1,15 @@ +package com.zteits.urbanops.module.garden.dal.dataobject.material; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO; +import lombok.Data; + +@TableName("garden_material_manager") +@Data +public class MaterialManagerDO extends BaseDO { + @TableId + private Long id; + private String name; + private Long deptId; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/material/MaterialTypeDO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/material/MaterialTypeDO.java new file mode 100644 index 0000000..db44d91 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/material/MaterialTypeDO.java @@ -0,0 +1,16 @@ +package com.zteits.urbanops.module.garden.dal.dataobject.material; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO; +import lombok.Data; + +@TableName("garden_material_type") +@Data +public class MaterialTypeDO extends BaseDO { + @TableId + private Long id; + private String typeName; + private Long parentId; + private Integer level; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/performance/PerformanceExpertsDO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/performance/PerformanceExpertsDO.java new file mode 100644 index 0000000..1c27b34 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/performance/PerformanceExpertsDO.java @@ -0,0 +1,15 @@ +package com.zteits.urbanops.module.garden.dal.dataobject.performance; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO; +import lombok.Data; + +@TableName("garden_performance_experts") +@Data +public class PerformanceExpertsDO extends BaseDO { + @TableId + private Long id; + private String name; + private Long deptId; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/performance/PerformanceIndexDO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/performance/PerformanceIndexDO.java new file mode 100644 index 0000000..2a03c00 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/performance/PerformanceIndexDO.java @@ -0,0 +1,17 @@ +package com.zteits.urbanops.module.garden.dal.dataobject.performance; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO; +import lombok.Data; + +@TableName("garden_performance_index") +@Data +public class PerformanceIndexDO extends BaseDO { + @TableId + private Long id; + private String title; + private String deptName; + private Long deptId; + private String status; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/performance/PerformanceWriteDO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/performance/PerformanceWriteDO.java new file mode 100644 index 0000000..6498cec --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/performance/PerformanceWriteDO.java @@ -0,0 +1,15 @@ +package com.zteits.urbanops.module.garden.dal.dataobject.performance; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO; +import lombok.Data; + +@TableName("garden_performance_write") +@Data +public class PerformanceWriteDO extends BaseDO { + @TableId + private Long id; + private String title; + private Long deptId; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/photo/SysPhotoDO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/photo/SysPhotoDO.java new file mode 100644 index 0000000..cd57c98 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/photo/SysPhotoDO.java @@ -0,0 +1,16 @@ +package com.zteits.urbanops.module.garden.dal.dataobject.photo; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO; +import lombok.Data; + +@TableName("garden_sys_photo") +@Data +public class SysPhotoDO extends BaseDO { + @TableId + private String id; + private String url; + private String title; + private String remark; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/plancommit/MaintainPlanCommitDetailDO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/plancommit/MaintainPlanCommitDetailDO.java new file mode 100644 index 0000000..975d486 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/plancommit/MaintainPlanCommitDetailDO.java @@ -0,0 +1,17 @@ +package com.zteits.urbanops.module.garden.dal.dataobject.plancommit; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO; +import lombok.Data; + +@TableName("garden_maintain_plan_commit_detail") +@Data +public class MaintainPlanCommitDetailDO extends BaseDO { + @TableId + private Long id; + private String planNo; + private String problemNo; + private String commitDate; + private String content; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/problem/MaintainProblemManagerDO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/problem/MaintainProblemManagerDO.java new file mode 100644 index 0000000..5f52f5f --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/problem/MaintainProblemManagerDO.java @@ -0,0 +1,20 @@ +package com.zteits.urbanops.module.garden.dal.dataobject.problem; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO; +import lombok.Data; + +@TableName("garden_problem_manager") +@Data +public class MaintainProblemManagerDO extends BaseDO { + @TableId + private Long id; + private Integer distributeStatus; + private Integer leaderConfrimStatus; + private Integer userConfrimStatus; + private String status; + private String title; + private String content; + private Long deptId; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/problem/MaintainTaskManagerDO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/problem/MaintainTaskManagerDO.java new file mode 100644 index 0000000..243fa7b --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/problem/MaintainTaskManagerDO.java @@ -0,0 +1,17 @@ +package com.zteits.urbanops.module.garden.dal.dataobject.problem; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO; +import lombok.Data; + +@TableName("garden_problem_task") +@Data +public class MaintainTaskManagerDO extends BaseDO { + @TableId + private Long id; + private String problemNo; + private Long deptId; + private String title; + private String content; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/project/ProjectManagerDO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/project/ProjectManagerDO.java new file mode 100644 index 0000000..c5ef775 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/project/ProjectManagerDO.java @@ -0,0 +1,16 @@ +package com.zteits.urbanops.module.garden.dal.dataobject.project; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO; +import lombok.Data; + +@TableName("garden_project_manager") +@Data +public class ProjectManagerDO extends BaseDO { + @TableId + private Long id; + private String projectName; + private Long deptId; + private String status; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/project/SubProjectManagerDO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/project/SubProjectManagerDO.java new file mode 100644 index 0000000..78a811e --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/project/SubProjectManagerDO.java @@ -0,0 +1,15 @@ +package com.zteits.urbanops.module.garden.dal.dataobject.project; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO; +import lombok.Data; + +@TableName("garden_sub_project_manager") +@Data +public class SubProjectManagerDO extends BaseDO { + @TableId + private Long id; + private String name; + private Long deptId; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/road/RoadManagerDO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/road/RoadManagerDO.java new file mode 100644 index 0000000..b415cb0 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/road/RoadManagerDO.java @@ -0,0 +1,36 @@ +package com.zteits.urbanops.module.garden.dal.dataobject.road; + +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO; +import lombok.Data; + +@TableName("garden_road_manager") +@KeySequence("garden_road_manager_seq") +@Data +public class RoadManagerDO extends BaseDO { + @TableId + private Long id; + private String roadName; + private String streetId; + private String streetName; + private Integer curingLevelId; + private String curingLevelName; + private String greenBeltTreeArea; + private String greenBeltArea; + private String totalArea; + private String treeArea; + private String startingLatitude; + private String startingLongitude; + private String startingRemark; + private String endLatitude; + private String endLongitude; + private String endRemark; + private Integer status; + private Long companyId; + private String companyName; + private Long deptId; + private String roadAttr; + private String direction; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/standingbook/StandingBookDO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/standingbook/StandingBookDO.java new file mode 100644 index 0000000..6cb56bc --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/standingbook/StandingBookDO.java @@ -0,0 +1,16 @@ +package com.zteits.urbanops.module.garden.dal.dataobject.standingbook; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO; +import lombok.Data; + +@TableName("garden_standing_book") +@Data +public class StandingBookDO extends BaseDO { + @TableId + private Long id; + private String standingBookNo; + private String standingBookYear; + private Long belongCompanyId; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/treerecord/GardenOldtreesDO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/treerecord/GardenOldtreesDO.java new file mode 100644 index 0000000..a7eb290 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/treerecord/GardenOldtreesDO.java @@ -0,0 +1,42 @@ +package com.zteits.urbanops.module.garden.dal.dataobject.treerecord; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO; +import lombok.Data; + +@TableName("garden_oldtrees") +@Data +public class GardenOldtreesDO extends BaseDO { + @TableId + private String id; + private String treenumber; + private String latinname; + private String treetype; + private String treeheight; + private String canopy; + private String dbh; + private String growthvigor; + private String treelevel; + private String longitude; + private String latitude; + private String location; + private String maintainunit; + private String managedutyunit; + private Long road; + private String street; + private String oldtreeownership; + private String datastate; + private String estimationtreeage; + private String canopyeastwest; + private String canopysouthnorth; + private String weekday; + private String growlocation; + private String growthenvironment; + private String treephotoone; + private String treephototwo; + private String treephotothree; + private String treephotofour; + private String treephotofive; + private Long deptId; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/treerecord/GardenTreeDO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/treerecord/GardenTreeDO.java new file mode 100644 index 0000000..96ead8a --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/treerecord/GardenTreeDO.java @@ -0,0 +1,49 @@ +package com.zteits.urbanops.module.garden.dal.dataobject.treerecord; + +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.zteits.urbanops.framework.mybatis.core.dataobject.BaseDO; +import lombok.Data; +import lombok.experimental.Accessors; + +@TableName("garden_tree") +@KeySequence("garden_tree_seq") +@Data +@Accessors(chain = false) +public class GardenTreeDO extends BaseDO { + @TableId + private Long id; + private String treenumber; + private String latinname; + private String treetype; + private String treeheight; + private String canopy; + private String dbh; + private String growthvigor; + private String treelevel; + private String longitude; + private String latitude; + private String location; + private String maintainunit; + private String managedutyunit; + private Long road; + private String street; + private String oldtreeownership; + private String datastate; + private String estimationtreeage; + private String canopyeastwest; + private String canopysouthnorth; + private String weekday; + private String growlocation; + private String growthenvironment; + private String treephotoone; + private String treephototwo; + private String treephotothree; + private String treephotofour; + private String treephotofive; + private String createby; + private String updateby; + private Long deptId; + private String remark; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/usergps/UserGpsDO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/usergps/UserGpsDO.java new file mode 100644 index 0000000..6d594d1 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/usergps/UserGpsDO.java @@ -0,0 +1,18 @@ +package com.zteits.urbanops.module.garden.dal.dataobject.usergps; + +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDateTime; + +@Data +public class UserGpsDO { + private Long id; + private LocalDateTime commitDate; + private Long userId; + private String userName; + private Integer type; + private BigDecimal lat; + private BigDecimal lon; + private String status; +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/device/DeviceCompanyMapper.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/device/DeviceCompanyMapper.java new file mode 100644 index 0000000..723cb0a --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/device/DeviceCompanyMapper.java @@ -0,0 +1,14 @@ +package com.zteits.urbanops.module.garden.dal.mysql.device; + +import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; +import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zteits.urbanops.module.garden.dal.dataobject.device.DeviceCompanyDO; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface DeviceCompanyMapper extends BaseMapperX { + + default DeviceCompanyDO selectDeviceByCompanyId(Long belongCompanyId) { + return selectOne(new LambdaQueryWrapperX().eq(DeviceCompanyDO::getBelongCompanyId, belongCompanyId)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/hotline/HotlineCaseMapper.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/hotline/HotlineCaseMapper.java new file mode 100644 index 0000000..e8fade7 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/hotline/HotlineCaseMapper.java @@ -0,0 +1,19 @@ +package com.zteits.urbanops.module.garden.dal.mysql.hotline; + +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; +import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zteits.urbanops.module.garden.dal.dataobject.hotline.HotlineCaseDO; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface HotlineCaseMapper extends BaseMapperX { + default PageResult selectPage(com.zteits.urbanops.framework.common.pojo.PageParam pageParam, HotlineCaseDO where) { + return selectPage(pageParam, null, new LambdaQueryWrapperX() + .likeIfPresent(HotlineCaseDO::getTitle, where.getTitle()) + .likeIfPresent(HotlineCaseDO::getContent, where.getContent()) + .eqIfPresent(HotlineCaseDO::getDepartment, where.getDepartment()) + .eqIfPresent(HotlineCaseDO::getTaskstate, where.getTaskstate()) + .orderByDesc(HotlineCaseDO::getUpdateTime)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/hotline/HotlineFileMapper.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/hotline/HotlineFileMapper.java new file mode 100644 index 0000000..d6baa55 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/hotline/HotlineFileMapper.java @@ -0,0 +1,17 @@ +package com.zteits.urbanops.module.garden.dal.mysql.hotline; + +import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; +import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zteits.urbanops.module.garden.dal.dataobject.hotline.HotlineFileDO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface HotlineFileMapper extends BaseMapperX { + default List selectList(HotlineFileDO where) { + return selectList(new LambdaQueryWrapperX() + .likeIfPresent(HotlineFileDO::getTitle, where.getTitle()) + .likeIfPresent(HotlineFileDO::getContent, where.getContent())); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/maintainplan/MaintainPlanMapper.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/maintainplan/MaintainPlanMapper.java new file mode 100644 index 0000000..1ed25c2 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/maintainplan/MaintainPlanMapper.java @@ -0,0 +1,19 @@ +package com.zteits.urbanops.module.garden.dal.mysql.maintainplan; + +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; +import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zteits.urbanops.module.garden.dal.dataobject.maintainplan.MaintainPlanDO; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface MaintainPlanMapper extends BaseMapperX { + default PageResult selectPage(com.zteits.urbanops.framework.common.pojo.PageParam pageParam, MaintainPlanDO where) { + return selectPage(pageParam, null, new LambdaQueryWrapperX() + .eqIfPresent(MaintainPlanDO::getType, where.getType()) + .likeIfPresent(MaintainPlanDO::getPlanName, where.getPlanName()) + .eqIfPresent(MaintainPlanDO::getCompanyId, where.getCompanyId()) + .eqIfPresent(MaintainPlanDO::getDeptId, where.getDeptId()) + .orderByDesc(MaintainPlanDO::getId)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/maintainrate/MaintainRateMapper.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/maintainrate/MaintainRateMapper.java new file mode 100644 index 0000000..22a22f4 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/maintainrate/MaintainRateMapper.java @@ -0,0 +1,25 @@ +package com.zteits.urbanops.module.garden.dal.mysql.maintainrate; + +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; +import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zteits.urbanops.module.garden.dal.dataobject.maintainrate.MaintainRateDO; +import com.zteits.urbanops.module.garden.controller.admin.maintainrate.vo.MaintainRatePageReqVO; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface MaintainRateMapper extends BaseMapperX { + + default PageResult selectPage(MaintainRatePageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(MaintainRateDO::getType, reqVO.getType()) + .eqIfPresent(MaintainRateDO::getMaintainSubjectId, reqVO.getMaintainSubjectId()) + .likeIfPresent(MaintainRateDO::getMaintainSubjectName, reqVO.getMaintainSubjectName()) + .eqIfPresent(MaintainRateDO::getMaintainTypeId, reqVO.getMaintainTypeId()) + .likeIfPresent(MaintainRateDO::getMaintainTypeName, reqVO.getMaintainTypeName()) + .eqIfPresent(MaintainRateDO::getCycleId, reqVO.getCycleId()) + .likeIfPresent(MaintainRateDO::getCycleName, reqVO.getCycleName()) + .eqIfPresent(MaintainRateDO::getStatus, reqVO.getStatus()) + .orderByDesc(MaintainRateDO::getId)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/material/MaterialInventoryInMapper.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/material/MaterialInventoryInMapper.java new file mode 100644 index 0000000..f570329 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/material/MaterialInventoryInMapper.java @@ -0,0 +1,13 @@ +package com.zteits.urbanops.module.garden.dal.mysql.material; + +import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; +import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialInventoryInDO; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface MaterialInventoryInMapper extends BaseMapperX { + default MaterialInventoryInDO selectByNo(String inventoryInNo) { + return selectOne(new com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX() + .eq(MaterialInventoryInDO::getInventoryInNo, inventoryInNo)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/material/MaterialInventoryMapper.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/material/MaterialInventoryMapper.java new file mode 100644 index 0000000..253e8c8 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/material/MaterialInventoryMapper.java @@ -0,0 +1,40 @@ +package com.zteits.urbanops.module.garden.dal.mysql.material; + +import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; +import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialInventoryDO; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +@Mapper +public interface MaterialInventoryMapper extends BaseMapperX { + + default MaterialInventoryDO selectByMaterialId(Long materialId) { + return selectOne(new LambdaQueryWrapperX().eq(MaterialInventoryDO::getMaterialId, materialId)); + } + + default MaterialInventoryDO selectByTypeDetailId(Long typeDetailId, Long companyId) { + return selectOne(new LambdaQueryWrapperX() + .eq(MaterialInventoryDO::getTypeDetailId, typeDetailId) + .eq(MaterialInventoryDO::getBelongCompanyId, companyId)); + } + + default int updateInventoryByMaterialId(Long inventoryId, Long outNum) { + MaterialInventoryDO inv = selectById(inventoryId); + if (inv == null) return 0; + MaterialInventoryDO upd = new MaterialInventoryDO(); + upd.setInventoryId(inventoryId); + upd.setCurrentNum(inv.getCurrentNum() - outNum); + upd.setOutTotalNum(inv.getOutTotalNum() == null ? outNum : inv.getOutTotalNum() + outNum); + return updateById(upd); + } + + default int updateInventoryAlarmNum(Long materialId, Long inventoryAlermNum) { + MaterialInventoryDO inv = selectByMaterialId(materialId); + if (inv == null) return 0; + MaterialInventoryDO upd = new MaterialInventoryDO(); + upd.setInventoryId(inv.getInventoryId()); + upd.setInventoryAlermNum(inventoryAlermNum); + return updateById(upd); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/material/MaterialInventoryOutMapper.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/material/MaterialInventoryOutMapper.java new file mode 100644 index 0000000..496da02 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/material/MaterialInventoryOutMapper.java @@ -0,0 +1,9 @@ +package com.zteits.urbanops.module.garden.dal.mysql.material; + +import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; +import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialInventoryOutDO; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface MaterialInventoryOutMapper extends BaseMapperX { +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/material/MaterialManagerMapper.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/material/MaterialManagerMapper.java new file mode 100644 index 0000000..5392365 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/material/MaterialManagerMapper.java @@ -0,0 +1,26 @@ +package com.zteits.urbanops.module.garden.dal.mysql.material; + +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; +import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialManagerDO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface MaterialManagerMapper extends BaseMapperX { + default PageResult selectPage(com.zteits.urbanops.framework.common.pojo.PageParam pageParam, MaterialManagerDO where) { + return selectPage(pageParam, null, new LambdaQueryWrapperX() + .likeIfPresent(MaterialManagerDO::getName, where.getName()) + .eqIfPresent(MaterialManagerDO::getDeptId, where.getDeptId()) + .orderByDesc(MaterialManagerDO::getUpdateTime)); + } + + default List selectList(MaterialManagerDO where) { + return selectList(new LambdaQueryWrapperX() + .likeIfPresent(MaterialManagerDO::getName, where.getName()) + .eqIfPresent(MaterialManagerDO::getDeptId, where.getDeptId()) + .orderByAsc(MaterialManagerDO::getName)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/material/MaterialMapper.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/material/MaterialMapper.java new file mode 100644 index 0000000..9e9456b --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/material/MaterialMapper.java @@ -0,0 +1,9 @@ +package com.zteits.urbanops.module.garden.dal.mysql.material; + +import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; +import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialDO; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface MaterialMapper extends BaseMapperX { +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/material/MaterialTypeMapper.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/material/MaterialTypeMapper.java new file mode 100644 index 0000000..fb0ebd7 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/material/MaterialTypeMapper.java @@ -0,0 +1,22 @@ +package com.zteits.urbanops.module.garden.dal.mysql.material; + +import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; +import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialTypeDO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface MaterialTypeMapper extends BaseMapperX { + default List selectBigTypeList() { + return selectList(new LambdaQueryWrapperX().eq(MaterialTypeDO::getLevel, 1).orderByAsc(MaterialTypeDO::getTypeName)); + } + + default com.zteits.urbanops.framework.common.pojo.PageResult selectPage(com.zteits.urbanops.framework.common.pojo.PageParam pageParam, MaterialTypeDO where) { + return selectPage(pageParam, null, new LambdaQueryWrapperX() + .likeIfPresent(MaterialTypeDO::getTypeName, where.getTypeName()) + .eqIfPresent(MaterialTypeDO::getParentId, where.getParentId()) + .orderByAsc(MaterialTypeDO::getTypeName)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/performance/PerformanceExpertsMapper.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/performance/PerformanceExpertsMapper.java new file mode 100644 index 0000000..3a7e373 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/performance/PerformanceExpertsMapper.java @@ -0,0 +1,17 @@ +package com.zteits.urbanops.module.garden.dal.mysql.performance; + +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; +import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zteits.urbanops.module.garden.dal.dataobject.performance.PerformanceExpertsDO; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface PerformanceExpertsMapper extends BaseMapperX { + default PageResult selectPage(com.zteits.urbanops.framework.common.pojo.PageParam pageParam, PerformanceExpertsDO where) { + return selectPage(pageParam, null, new LambdaQueryWrapperX() + .likeIfPresent(PerformanceExpertsDO::getName, where.getName()) + .eqIfPresent(PerformanceExpertsDO::getDeptId, where.getDeptId()) + .orderByDesc(PerformanceExpertsDO::getUpdateTime)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/performance/PerformanceIndexMapper.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/performance/PerformanceIndexMapper.java new file mode 100644 index 0000000..f6a9493 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/performance/PerformanceIndexMapper.java @@ -0,0 +1,17 @@ +package com.zteits.urbanops.module.garden.dal.mysql.performance; + +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; +import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zteits.urbanops.module.garden.dal.dataobject.performance.PerformanceIndexDO; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface PerformanceIndexMapper extends BaseMapperX { + default PageResult selectPage(com.zteits.urbanops.framework.common.pojo.PageParam pageParam, PerformanceIndexDO where) { + return selectPage(pageParam, null, new LambdaQueryWrapperX() + .likeIfPresent(PerformanceIndexDO::getTitle, where.getTitle()) + .eqIfPresent(PerformanceIndexDO::getDeptId, where.getDeptId()) + .orderByDesc(PerformanceIndexDO::getUpdateTime)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/performance/PerformanceWriteMapper.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/performance/PerformanceWriteMapper.java new file mode 100644 index 0000000..03d2a22 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/performance/PerformanceWriteMapper.java @@ -0,0 +1,17 @@ +package com.zteits.urbanops.module.garden.dal.mysql.performance; + +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; +import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zteits.urbanops.module.garden.dal.dataobject.performance.PerformanceWriteDO; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface PerformanceWriteMapper extends BaseMapperX { + default PageResult selectPage(com.zteits.urbanops.framework.common.pojo.PageParam pageParam, PerformanceWriteDO where) { + return selectPage(pageParam, null, new LambdaQueryWrapperX() + .likeIfPresent(PerformanceWriteDO::getTitle, where.getTitle()) + .eqIfPresent(PerformanceWriteDO::getDeptId, where.getDeptId()) + .orderByDesc(PerformanceWriteDO::getUpdateTime)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/photo/SysPhotoMapper.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/photo/SysPhotoMapper.java new file mode 100644 index 0000000..527e43c --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/photo/SysPhotoMapper.java @@ -0,0 +1,16 @@ +package com.zteits.urbanops.module.garden.dal.mysql.photo; + +import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; +import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zteits.urbanops.module.garden.dal.dataobject.photo.SysPhotoDO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface SysPhotoMapper extends BaseMapperX { + default List selectList(SysPhotoDO where) { + return selectList(new LambdaQueryWrapperX() + .likeIfPresent(SysPhotoDO::getTitle, where.getTitle())); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/plancommit/MaintainPlanCommitDetailMapper.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/plancommit/MaintainPlanCommitDetailMapper.java new file mode 100644 index 0000000..af2f749 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/plancommit/MaintainPlanCommitDetailMapper.java @@ -0,0 +1,20 @@ +package com.zteits.urbanops.module.garden.dal.mysql.plancommit; + +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; +import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zteits.urbanops.module.garden.dal.dataobject.plancommit.MaintainPlanCommitDetailDO; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface MaintainPlanCommitDetailMapper extends BaseMapperX { + default PageResult selectPage(com.zteits.urbanops.framework.common.pojo.PageParam pageParam, MaintainPlanCommitDetailDO where) { + return selectPage(pageParam, null, new LambdaQueryWrapperX() + .eqIfPresent(MaintainPlanCommitDetailDO::getPlanNo, where.getPlanNo()) + .eqIfPresent(MaintainPlanCommitDetailDO::getProblemNo, where.getProblemNo()) + .orderByDesc(MaintainPlanCommitDetailDO::getId)); + } + default MaintainPlanCommitDetailDO selectByProblemNo(String problemNo) { + return selectOne(new LambdaQueryWrapperX().eq(MaintainPlanCommitDetailDO::getProblemNo, problemNo).orderByDesc(MaintainPlanCommitDetailDO::getId)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/problem/MaintainProblemManagerMapper.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/problem/MaintainProblemManagerMapper.java new file mode 100644 index 0000000..b5722fe --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/problem/MaintainProblemManagerMapper.java @@ -0,0 +1,18 @@ +package com.zteits.urbanops.module.garden.dal.mysql.problem; + +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; +import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zteits.urbanops.module.garden.dal.dataobject.problem.MaintainProblemManagerDO; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface MaintainProblemManagerMapper extends BaseMapperX { + default PageResult selectPage(com.zteits.urbanops.framework.common.pojo.PageParam pageParam, MaintainProblemManagerDO where) { + return selectPage(pageParam, null, new LambdaQueryWrapperX() + .likeIfPresent(MaintainProblemManagerDO::getTitle, where.getTitle()) + .likeIfPresent(MaintainProblemManagerDO::getContent, where.getContent()) + .eqIfPresent(MaintainProblemManagerDO::getDeptId, where.getDeptId()) + .orderByDesc(MaintainProblemManagerDO::getUpdateTime)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/problem/MaintainTaskManagerMapper.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/problem/MaintainTaskManagerMapper.java new file mode 100644 index 0000000..8f6f86b --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/problem/MaintainTaskManagerMapper.java @@ -0,0 +1,18 @@ +package com.zteits.urbanops.module.garden.dal.mysql.problem; + +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; +import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zteits.urbanops.module.garden.dal.dataobject.problem.MaintainTaskManagerDO; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface MaintainTaskManagerMapper extends BaseMapperX { + default PageResult selectPage(com.zteits.urbanops.framework.common.pojo.PageParam pageParam, MaintainTaskManagerDO where) { + return selectPage(pageParam, null, new LambdaQueryWrapperX() + .likeIfPresent(MaintainTaskManagerDO::getTitle, where.getTitle()) + .likeIfPresent(MaintainTaskManagerDO::getContent, where.getContent()) + .eqIfPresent(MaintainTaskManagerDO::getDeptId, where.getDeptId()) + .orderByDesc(MaintainTaskManagerDO::getUpdateTime)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/project/ProjectManagerMapper.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/project/ProjectManagerMapper.java new file mode 100644 index 0000000..2b16a75 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/project/ProjectManagerMapper.java @@ -0,0 +1,26 @@ +package com.zteits.urbanops.module.garden.dal.mysql.project; + +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; +import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zteits.urbanops.module.garden.dal.dataobject.project.ProjectManagerDO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface ProjectManagerMapper extends BaseMapperX { + default PageResult selectPage(com.zteits.urbanops.framework.common.pojo.PageParam pageParam, ProjectManagerDO where) { + return selectPage(pageParam, null, new LambdaQueryWrapperX() + .likeIfPresent(ProjectManagerDO::getProjectName, where.getProjectName()) + .eqIfPresent(ProjectManagerDO::getDeptId, where.getDeptId()) + .orderByDesc(ProjectManagerDO::getUpdateTime)); + } + + default List selectList(ProjectManagerDO where) { + return selectList(new LambdaQueryWrapperX() + .likeIfPresent(ProjectManagerDO::getProjectName, where.getProjectName()) + .eqIfPresent(ProjectManagerDO::getDeptId, where.getDeptId()) + .orderByAsc(ProjectManagerDO::getProjectName)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/project/SubProjectManagerMapper.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/project/SubProjectManagerMapper.java new file mode 100644 index 0000000..ef549da --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/project/SubProjectManagerMapper.java @@ -0,0 +1,17 @@ +package com.zteits.urbanops.module.garden.dal.mysql.project; + +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; +import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zteits.urbanops.module.garden.dal.dataobject.project.SubProjectManagerDO; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface SubProjectManagerMapper extends BaseMapperX { + default PageResult selectPage(com.zteits.urbanops.framework.common.pojo.PageParam pageParam, SubProjectManagerDO where) { + return selectPage(pageParam, null, new LambdaQueryWrapperX() + .likeIfPresent(SubProjectManagerDO::getName, where.getName()) + .eqIfPresent(SubProjectManagerDO::getDeptId, where.getDeptId()) + .orderByDesc(SubProjectManagerDO::getUpdateTime)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/road/RoadManagerMapper.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/road/RoadManagerMapper.java new file mode 100644 index 0000000..a571fd3 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/road/RoadManagerMapper.java @@ -0,0 +1,25 @@ +package com.zteits.urbanops.module.garden.dal.mysql.road; + +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; +import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zteits.urbanops.module.garden.controller.admin.roadmanager.vo.RoadManagerPageReqVO; +import com.zteits.urbanops.module.garden.dal.dataobject.road.RoadManagerDO; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface RoadManagerMapper extends BaseMapperX { + + default PageResult selectPage(RoadManagerPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .likeIfPresent(RoadManagerDO::getRoadName, reqVO.getRoadName()) + .eqIfPresent(RoadManagerDO::getStreetId, reqVO.getStreetId()) + .likeIfPresent(RoadManagerDO::getStreetName, reqVO.getStreetName()) + .eqIfPresent(RoadManagerDO::getCuringLevelId, reqVO.getCuringLevelId()) + .likeIfPresent(RoadManagerDO::getCuringLevelName, reqVO.getCuringLevelName()) + .eqIfPresent(RoadManagerDO::getCompanyId, reqVO.getCompanyId()) + .eqIfPresent(RoadManagerDO::getDeptId, reqVO.getDeptId()) + .eqIfPresent(RoadManagerDO::getStatus, reqVO.getStatus()) + .orderByDesc(RoadManagerDO::getId)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/standingbook/StandingBookMapper.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/standingbook/StandingBookMapper.java new file mode 100644 index 0000000..9c7f6c5 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/standingbook/StandingBookMapper.java @@ -0,0 +1,16 @@ +package com.zteits.urbanops.module.garden.dal.mysql.standingbook; + +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; +import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zteits.urbanops.module.garden.dal.dataobject.standingbook.StandingBookDO; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface StandingBookMapper extends BaseMapperX { + default PageResult selectPage(com.zteits.urbanops.framework.common.pojo.PageParam pageParam, StandingBookDO where) { + return selectPage(pageParam, null, new LambdaQueryWrapperX() + .eqIfPresent(StandingBookDO::getStandingBookYear, where.getStandingBookYear()) + .orderByDesc(StandingBookDO::getId)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/treerecord/GardenOldtreesMapper.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/treerecord/GardenOldtreesMapper.java new file mode 100644 index 0000000..6119ae8 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/treerecord/GardenOldtreesMapper.java @@ -0,0 +1,20 @@ +package com.zteits.urbanops.module.garden.dal.mysql.treerecord; + +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; +import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zteits.urbanops.module.garden.dal.dataobject.treerecord.GardenOldtreesDO; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface GardenOldtreesMapper extends BaseMapperX { + default PageResult selectPage(com.zteits.urbanops.framework.common.pojo.PageParam pageParam, GardenOldtreesDO where) { + return selectPage(pageParam, null, new LambdaQueryWrapperX() + .likeIfPresent(GardenOldtreesDO::getTreenumber, where.getTreenumber()) + .likeIfPresent(GardenOldtreesDO::getLatinname, where.getLatinname()) + .eqIfPresent(GardenOldtreesDO::getStreet, where.getStreet()) + .eqIfPresent(GardenOldtreesDO::getMaintainunit, where.getMaintainunit()) + .eqIfPresent(GardenOldtreesDO::getDeptId, where.getDeptId()) + .orderByDesc(GardenOldtreesDO::getUpdateTime)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/treerecord/GardenTreeMapper.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/treerecord/GardenTreeMapper.java new file mode 100644 index 0000000..c73122a --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/treerecord/GardenTreeMapper.java @@ -0,0 +1,57 @@ +package com.zteits.urbanops.module.garden.dal.mysql.treerecord; + +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; +import com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX; +import com.zteits.urbanops.module.garden.dal.dataobject.treerecord.GardenTreeDO; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface GardenTreeMapper extends BaseMapperX { + default PageResult selectPage(com.zteits.urbanops.framework.common.pojo.PageParam pageParam, GardenTreeDO where) { + return selectPage(pageParam, null, new LambdaQueryWrapperX() + .likeIfPresent(GardenTreeDO::getTreenumber, where.getTreenumber()) + .likeIfPresent(GardenTreeDO::getLatinname, where.getLatinname()) + .likeIfPresent(GardenTreeDO::getTreetype, where.getTreetype()) + .eqIfPresent(GardenTreeDO::getTreeheight, where.getTreeheight()) + .eqIfPresent(GardenTreeDO::getCanopy, where.getCanopy()) + .eqIfPresent(GardenTreeDO::getDbh, where.getDbh()) + .eqIfPresent(GardenTreeDO::getGrowthvigor, where.getGrowthvigor()) + .eqIfPresent(GardenTreeDO::getTreelevel, where.getTreelevel()) + .eqIfPresent(GardenTreeDO::getLongitude, where.getLongitude()) + .eqIfPresent(GardenTreeDO::getLatitude, where.getLatitude()) + .eqIfPresent(GardenTreeDO::getLocation, where.getLocation()) + .eqIfPresent(GardenTreeDO::getMaintainunit, where.getMaintainunit()) + .eqIfPresent(GardenTreeDO::getManagedutyunit, where.getManagedutyunit()) + .eqIfPresent(GardenTreeDO::getStreet, where.getStreet()) + .eqIfPresent(GardenTreeDO::getOldtreeownership, where.getOldtreeownership()) + .eqIfPresent(GardenTreeDO::getDatastate, where.getDatastate()) + .eqIfPresent(GardenTreeDO::getEstimationtreeage, where.getEstimationtreeage()) + .eqIfPresent(GardenTreeDO::getCanopyeastwest, where.getCanopyeastwest()) + .eqIfPresent(GardenTreeDO::getCanopysouthnorth, where.getCanopysouthnorth()) + .eqIfPresent(GardenTreeDO::getWeekday, where.getWeekday()) + .eqIfPresent(GardenTreeDO::getGrowlocation, where.getGrowlocation()) + .eqIfPresent(GardenTreeDO::getGrowthenvironment, where.getGrowthenvironment()) + .eqIfPresent(GardenTreeDO::getDeleted, where.getDeleted()) + .orderByDesc(GardenTreeDO::getUpdateTime)); + } + + class CompanyDeptRoadRow { + public String companyId; + public String companyName; + public Long deptId; + public String deptName; + public Long roadId; + public String roadName; + public String startRemark; + public String endRemark; + public Long treeCount; + public Long recordedCount; + } + + @org.apache.ibatis.annotations.Select("SELECT c.dict_value AS companyId, c.dict_label AS companyName, d.dept_id AS deptId, d.dept_name AS deptName, r.id AS roadId, r.road_name AS roadName, r.starting_remark AS startRemark, r.end_remark AS endRemark, COALESCE(r.tree_area, 0) AS treeCount, COUNT(t.id) AS recordedCount FROM sys_dict_data c JOIN sys_dept d ON d.belong_company_id = c.dict_value AND d.del_flag = '0' LEFT JOIN td_road_manager r ON d.dept_id = r.dept_id LEFT JOIN garden_tree t ON r.id = t.road AND t.deleted = 0 WHERE c.dict_type = 'belongCompanyId' AND d.dept_id NOT IN (SELECT DISTINCT parent_id FROM sys_dept WHERE parent_id IS NOT NULL) GROUP BY c.dict_value, c.dict_label, d.dept_id, d.dept_name, r.id, r.road_name, r.starting_remark, r.end_remark, r.tree_area ORDER BY treeCount DESC, recordedCount DESC") + java.util.List selectCompanyDeptRoadRows(); + + @org.apache.ibatis.annotations.Select("SELECT t.id, t.treetype, t.treeheight, t.dbh, t.treenumber, t.treephotoone AS treephoto FROM garden_tree t WHERE t.deleted = 0 AND t.road = #{road} ORDER BY t.update_time DESC") + java.util.List selectTreesByRoadId(@org.apache.ibatis.annotations.Param("road") Long road); +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/usergps/UserGpsMapper.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/usergps/UserGpsMapper.java new file mode 100644 index 0000000..649b8d6 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/usergps/UserGpsMapper.java @@ -0,0 +1,18 @@ +package com.zteits.urbanops.module.garden.dal.mysql.usergps; + +import com.zteits.urbanops.module.garden.dal.dataobject.usergps.UserGpsDO; +import org.apache.ibatis.annotations.Insert; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +@Mapper +public interface UserGpsMapper { + @Select("SELECT id, commit_date as commitDate, user_id as userId, user_name as userName, type, lat, lon FROM ${tableName} WHERE user_id = #{userId} AND commit_date BETWEEN #{beginTime} AND #{endTime} AND status = '0' ORDER BY id DESC") + List selectUserGpsList(@Param("tableName") String tableName, @Param("userId") Long userId, @Param("beginTime") String beginTime, @Param("endTime") String endTime); + + @Insert("INSERT INTO ${tableName} (commit_date, user_id, user_name, type, lat, lon, status) VALUES (#{item.commitDate}, #{item.userId}, #{item.userName}, #{item.type}, #{item.lat}, #{item.lon}, #{item.status})") + int insertUserGps(@Param("tableName") String tableName, @Param("item") UserGpsDO item); +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/device/CameraRecorderHelper.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/device/CameraRecorderHelper.java new file mode 100644 index 0000000..61e8cbe --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/device/CameraRecorderHelper.java @@ -0,0 +1,93 @@ +package com.zteits.urbanops.module.garden.service.device; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import com.zteits.urbanops.framework.common.util.object.BeanUtils; +import com.zteits.urbanops.module.garden.controller.admin.device.vo.RecordFileListReq; +import com.zteits.urbanops.module.garden.dal.dataobject.device.DeviceCompanyDO; +import com.zteits.urbanops.module.garden.dal.mysql.device.DeviceCompanyMapper; +import com.zteits.urbanops.module.garden.util.http.OkHttpClientUtil; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Component; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Component +public class CameraRecorderHelper { + + private static final String GET_TOKEN_URL = "https://api.dxdd01.com/mining/login"; + private static final String DEVICE_PAGE = "https://api.dxdd01.com/mining/device/page"; + private static final String DEVICE_RECORD_FILE_LIST = "https://api.dxdd01.com/mining/device/recordFileList"; + private static final String GROUP_LIST = "https://api.dxdd01.com/mining/group/group_list"; + + @Resource + private DeviceCompanyMapper deviceCompanyMapper; + + public CommonResult devicePage(String deviceName, Integer enterId, Integer groupId, Integer page, Integer pageSize, Long companyId) { + Map params = new HashMap<>(); + if (deviceName != null) params.put("device_name", deviceName); + if (enterId != null) params.put("enter_id", String.valueOf(enterId)); + if (groupId != null) params.put("group_id", String.valueOf(groupId)); + params.put("page", String.valueOf(page)); + params.put("pageSize", String.valueOf(pageSize)); + String response = OkHttpClientUtil.doGet(DEVICE_PAGE, params, getHeaderMap(companyId)); + if (response == null) return CommonResult.error(500, "设备分页查询失败"); + JSONObject json = JSONObject.parseObject(response); + Object data = json.get("data"); + return CommonResult.success(data); + } + + public CommonResult recordFileList(RecordFileListReq req, Long companyId) { + Map params = new HashMap<>(); + params.put("st", req.st); + params.put("et", req.et); + if (req.keywords != null) params.put("keywords", req.keywords); + if (req.page != null) params.put("page", String.valueOf(req.page)); + if (req.pageSize != null) params.put("pageSize", String.valueOf(req.pageSize)); + if (req.groupId != null) params.put("groupId", String.valueOf(req.groupId)); + if (req.devId != null) params.put("devId", req.devId); + String response = OkHttpClientUtil.doGet(DEVICE_RECORD_FILE_LIST, params, getHeaderMap(companyId)); + if (response == null) return CommonResult.error(500, "设备执法记录信息查询失败"); + JSONObject json = JSONObject.parseObject(response); + Object data = json.get("data"); + return CommonResult.success(data); + } + + public CommonResult groupList(String groupName, Integer page, Integer pageSize, Long companyId) { + Map params = new HashMap<>(); + if (groupName != null) params.put("group_name", groupName); + params.put("page", String.valueOf(page)); + params.put("pageSize", String.valueOf(pageSize)); + String response = OkHttpClientUtil.doGet(GROUP_LIST, params, getHeaderMap(companyId)); + if (response == null) return CommonResult.error(500, "获取组列表失败"); + JSONObject json = JSONObject.parseObject(response); + Object data = json.get("data"); + return CommonResult.success(data); + } + + private Map getHeaderMap(Long companyId) { + if (companyId == null || companyId == 9999L) companyId = 0L; + DeviceCompanyDO company = deviceCompanyMapper.selectDeviceByCompanyId(companyId); + Map headers = new HashMap<>(); + headers.put("token", getToken(company.getEnterLoginName(), company.getPassWord())); + return headers; + } + + public String getToken(String enterLoginName, String password) { + Map params = new HashMap<>(); + params.put("username", enterLoginName); + params.put("password", password); + params.put("udef_t", System.currentTimeMillis()); + params.put("udef_ver", "v1"); + String s = OkHttpClientUtil.doPostJson(GET_TOKEN_URL, params); + if (s == null) return null; + JSONObject json = JSONObject.parseObject(s); + Object content = json.get("content"); + if (content == null) return null; + JSONObject c = JSONObject.parseObject(String.valueOf(content)); + return c.getString("access_token"); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/homepage/MaintainSummaryService.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/homepage/MaintainSummaryService.java new file mode 100644 index 0000000..95c8748 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/homepage/MaintainSummaryService.java @@ -0,0 +1,24 @@ +package com.zteits.urbanops.module.garden.service.homepage; + +import com.zteits.urbanops.module.garden.controller.admin.homepage.vo.CommitCountByCompanyReqVO; +import com.zteits.urbanops.module.garden.controller.admin.homepage.vo.HomePageSummaryReqVO; +import com.zteits.urbanops.module.garden.controller.admin.homepage.vo.MaintainProportionReqVO; + +import java.util.List; +import java.util.Map; + +public interface MaintainSummaryService { + Map selectMaintainSummary(HomePageSummaryReqVO req, Long companyId); + Map>> getSummaryByMaintainType(HomePageSummaryReqVO req, Long companyId); + List> getSummaryByMaintainProportion(HomePageSummaryReqVO req, Long companyId); + List> getSummaryByPlantProportion(HomePageSummaryReqVO req, Long companyId); + Map selectSummaryByCompany(HomePageSummaryReqVO req, Long companyId); + List> getCommitCountByCompany(CommitCountByCompanyReqVO req); + List> getPressingTypeByCompany(CommitCountByCompanyReqVO req); + List> getProcessOrderReturn(Long companyId, String beginTime, String endTime); + List> getProportionByCompany(String beginTime, String endTime); + List> getXcProcessOrder(Long companyId, String beginTime, String endTime); + Map> getCommitCountByTime(Long companyId, CommitCountByCompanyReqVO req); + List> getOrderList(Long companyId, Integer taskStatus); + Map getSummaryByMaintainTypeAndGrowthRate(HomePageSummaryReqVO req, Long companyId); +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/homepage/MaintainSummaryServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/homepage/MaintainSummaryServiceImpl.java new file mode 100644 index 0000000..89edc70 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/homepage/MaintainSummaryServiceImpl.java @@ -0,0 +1,76 @@ +package com.zteits.urbanops.module.garden.service.homepage; + +import com.zteits.urbanops.module.garden.controller.admin.homepage.vo.CommitCountByCompanyReqVO; +import com.zteits.urbanops.module.garden.controller.admin.homepage.vo.HomePageSummaryReqVO; +import com.zteits.urbanops.module.garden.controller.admin.homepage.vo.MaintainProportionReqVO; +import org.springframework.stereotype.Service; + +import java.util.*; + +@Service +public class MaintainSummaryServiceImpl implements MaintainSummaryService { + @Override + public Map selectMaintainSummary(HomePageSummaryReqVO req, Long companyId) { + return Collections.emptyMap(); + } + + @Override + public Map>> getSummaryByMaintainType(HomePageSummaryReqVO req, Long companyId) { + return Collections.emptyMap(); + } + + @Override + public List> getSummaryByMaintainProportion(HomePageSummaryReqVO req, Long companyId) { + return Collections.emptyList(); + } + + @Override + public List> getSummaryByPlantProportion(HomePageSummaryReqVO req, Long companyId) { + return Collections.emptyList(); + } + + @Override + public Map selectSummaryByCompany(HomePageSummaryReqVO req, Long companyId) { + return Collections.emptyMap(); + } + + @Override + public List> getCommitCountByCompany(CommitCountByCompanyReqVO req) { + return Collections.emptyList(); + } + + @Override + public List> getPressingTypeByCompany(CommitCountByCompanyReqVO req) { + return Collections.emptyList(); + } + + @Override + public List> getProcessOrderReturn(Long companyId, String beginTime, String endTime) { + return Collections.emptyList(); + } + + @Override + public List> getProportionByCompany(String beginTime, String endTime) { + return Collections.emptyList(); + } + + @Override + public List> getXcProcessOrder(Long companyId, String beginTime, String endTime) { + return Collections.emptyList(); + } + + @Override + public Map> getCommitCountByTime(Long companyId, CommitCountByCompanyReqVO req) { + return Collections.emptyMap(); + } + + @Override + public List> getOrderList(Long companyId, Integer taskStatus) { + return Collections.emptyList(); + } + + @Override + public Map getSummaryByMaintainTypeAndGrowthRate(HomePageSummaryReqVO req, Long companyId) { + return Collections.emptyMap(); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/hotline/HotlineCaseService.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/hotline/HotlineCaseService.java new file mode 100644 index 0000000..7928efa --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/hotline/HotlineCaseService.java @@ -0,0 +1,14 @@ +package com.zteits.urbanops.module.garden.service.hotline; + +import com.zteits.urbanops.framework.common.pojo.PageParam; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.module.garden.dal.dataobject.hotline.HotlineCaseDO; + +public interface HotlineCaseService { + PageResult selectPage(PageParam pageParam, HotlineCaseDO where); + HotlineCaseDO selectById(String id); + Boolean insert(HotlineCaseDO entity); + Boolean update(HotlineCaseDO entity); + Boolean deleteByIds(java.util.List ids); + com.zteits.urbanops.module.garden.controller.admin.hotline.vo.HotlineCaseDetailResp getDetail(String id); +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/hotline/HotlineCaseServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/hotline/HotlineCaseServiceImpl.java new file mode 100644 index 0000000..3302b0e --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/hotline/HotlineCaseServiceImpl.java @@ -0,0 +1,64 @@ +package com.zteits.urbanops.module.garden.service.hotline; + +import com.zteits.urbanops.framework.common.pojo.PageParam; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.module.garden.dal.dataobject.hotline.HotlineCaseDO; +import com.zteits.urbanops.module.garden.dal.dataobject.hotline.HotlineFileDO; +import com.zteits.urbanops.module.garden.dal.dataobject.photo.SysPhotoDO; +import com.zteits.urbanops.module.garden.dal.mysql.hotline.HotlineCaseMapper; +import com.zteits.urbanops.module.garden.dal.mysql.hotline.HotlineFileMapper; +import com.zteits.urbanops.module.garden.dal.mysql.photo.SysPhotoMapper; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class HotlineCaseServiceImpl implements HotlineCaseService { + + @Resource + private HotlineCaseMapper mapper; + @Resource(name = "hotlineFileMapper") + private HotlineFileMapper fileMapper; + @Resource + private SysPhotoMapper photoMapper; + + @Override + public PageResult selectPage(PageParam pageParam, HotlineCaseDO where) { + return mapper.selectPage(pageParam, where); + } + + @Override + public HotlineCaseDO selectById(String id) { + return mapper.selectById(id); + } + + @Override + public Boolean insert(HotlineCaseDO entity) { + return mapper.insert(entity) > 0; + } + + @Override + public Boolean update(HotlineCaseDO entity) { + return mapper.updateById(entity) > 0; + } + + @Override + public Boolean deleteByIds(List ids) { + return mapper.deleteBatchIds(ids) > 0; + } + + @Override + public com.zteits.urbanops.module.garden.controller.admin.hotline.vo.HotlineCaseDetailResp getDetail(String id) { + com.zteits.urbanops.module.garden.controller.admin.hotline.vo.HotlineCaseDetailResp resp = new com.zteits.urbanops.module.garden.controller.admin.hotline.vo.HotlineCaseDetailResp(); + resp.setCaseInfo(mapper.selectById(id)); + HotlineFileDO whereFile = new HotlineFileDO(); + whereFile.setCaseid(id); + java.util.List files = fileMapper.selectList(whereFile); + resp.setFiles(files); + SysPhotoDO wherePhoto = new SysPhotoDO(); + java.util.List photos = photoMapper.selectList(wherePhoto); + resp.setPhotos(photos); + return resp; + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/hotline/HotlineFileService.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/hotline/HotlineFileService.java new file mode 100644 index 0000000..70c880d --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/hotline/HotlineFileService.java @@ -0,0 +1,15 @@ +package com.zteits.urbanops.module.garden.service.hotline; + +import com.zteits.urbanops.module.garden.dal.dataobject.hotline.HotlineFileDO; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; + +public interface HotlineFileService { + Object parseFile(MultipartFile file) throws Exception; + List selectList(HotlineFileDO where); + HotlineFileDO selectById(String caseid); + Boolean insert(HotlineFileDO entity); + Boolean update(HotlineFileDO entity); + Boolean deleteByIds(List ids); +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/hotline/HotlineFileServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/hotline/HotlineFileServiceImpl.java new file mode 100644 index 0000000..fbe9b30 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/hotline/HotlineFileServiceImpl.java @@ -0,0 +1,46 @@ +package com.zteits.urbanops.module.garden.service.hotline; + +import com.zteits.urbanops.module.garden.dal.dataobject.hotline.HotlineFileDO; +import com.zteits.urbanops.module.garden.dal.mysql.hotline.HotlineFileMapper; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; + +@Service +public class HotlineFileServiceImpl implements HotlineFileService { + + @Resource + private HotlineFileMapper mapper; + + @Override + public Object parseFile(MultipartFile file) throws Exception { + return java.util.Collections.emptyMap(); + } + + @Override + public List selectList(HotlineFileDO where) { + return mapper.selectList(where); + } + + @Override + public HotlineFileDO selectById(String caseid) { + return mapper.selectById(caseid); + } + + @Override + public Boolean insert(HotlineFileDO entity) { + return mapper.insert(entity) > 0; + } + + @Override + public Boolean update(HotlineFileDO entity) { + return mapper.updateById(entity) > 0; + } + + @Override + public Boolean deleteByIds(List ids) { + return mapper.deleteBatchIds(ids) > 0; + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/maintainplan/MaintainPlanService.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/maintainplan/MaintainPlanService.java new file mode 100644 index 0000000..f219c7c --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/maintainplan/MaintainPlanService.java @@ -0,0 +1,13 @@ +package com.zteits.urbanops.module.garden.service.maintainplan; + +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.module.garden.controller.admin.maintainplan.vo.MaintainPlanAddReqVO; +import com.zteits.urbanops.module.garden.controller.admin.maintainplan.vo.MaintainPlanForPageReqVO; +import com.zteits.urbanops.module.garden.dal.dataobject.maintainplan.MaintainPlanDO; + +public interface MaintainPlanService { + PageResult selectPage(MaintainPlanForPageReqVO reqVO); + MaintainPlanDO selectByPlanNo(String planNo); + Boolean insert(MaintainPlanAddReqVO reqVO, Long companyId, Long deptId); + Boolean deleteById(Long id); +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/maintainplan/MaintainPlanServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/maintainplan/MaintainPlanServiceImpl.java new file mode 100644 index 0000000..b0d831e --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/maintainplan/MaintainPlanServiceImpl.java @@ -0,0 +1,51 @@ +package com.zteits.urbanops.module.garden.service.maintainplan; + +import com.zteits.urbanops.framework.common.pojo.PageParam; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.module.garden.controller.admin.maintainplan.vo.MaintainPlanAddReqVO; +import com.zteits.urbanops.module.garden.controller.admin.maintainplan.vo.MaintainPlanForPageReqVO; +import com.zteits.urbanops.module.garden.dal.dataobject.maintainplan.MaintainPlanDO; +import com.zteits.urbanops.module.garden.dal.mysql.maintainplan.MaintainPlanMapper; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; + +@Service +public class MaintainPlanServiceImpl implements MaintainPlanService { + + @Resource + private MaintainPlanMapper maintainPlanMapper; + + @Override + public PageResult selectPage(MaintainPlanForPageReqVO reqVO) { + MaintainPlanDO where = new MaintainPlanDO(); + where.setType(reqVO.getType()); + where.setPlanName(reqVO.getPlanName()); + PageParam page = new PageParam(); + page.setPageNo(reqVO.getPageNo()); + page.setPageSize(reqVO.getPageSize()); + return maintainPlanMapper.selectPage(page, where); + } + + @Override + public MaintainPlanDO selectByPlanNo(String planNo) { + return maintainPlanMapper.selectOne(new com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX() + .eq(MaintainPlanDO::getPlanNo, planNo)); + } + + @Override + public Boolean insert(MaintainPlanAddReqVO reqVO, Long companyId, Long deptId) { + MaintainPlanDO entity = new MaintainPlanDO(); + entity.setPlanNo(reqVO.getPlanNo()); + entity.setPlanName(reqVO.getPlanName()); + entity.setType(reqVO.getType()); + entity.setCompanyId(companyId); + entity.setDeptId(deptId); + entity.setStatus("0"); + return maintainPlanMapper.insert(entity) > 0; + } + + @Override + public Boolean deleteById(Long id) { + return maintainPlanMapper.deleteById(id) > 0; + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/maintainrate/MaintainRateService.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/maintainrate/MaintainRateService.java new file mode 100644 index 0000000..648872c --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/maintainrate/MaintainRateService.java @@ -0,0 +1,24 @@ +package com.zteits.urbanops.module.garden.service.maintainrate; + +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.module.garden.controller.admin.maintainrate.vo.MaintainRatePageReqVO; +import com.zteits.urbanops.module.garden.controller.admin.maintainrate.vo.MaintainRateReqVO; +import com.zteits.urbanops.module.garden.controller.admin.maintainrate.vo.MaintainRateRespVO; +import com.zteits.urbanops.module.garden.dal.dataobject.maintainrate.MaintainRateDO; + +public interface MaintainRateService { + + PageResult selectPage(MaintainRatePageReqVO reqVO); + + MaintainRateDO selectById(Long id); + + Boolean insert(MaintainRateDO entity); + + Boolean update(MaintainRateDO entity); + + Boolean deleteById(Long id); + + MaintainRateRespVO getMaintainRateValue(MaintainRateReqVO reqVO); + + MaintainRateRespVO selectMaintainRateByLevel(Integer maintainTypeId, Integer level); +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/maintainrate/MaintainRateServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/maintainrate/MaintainRateServiceImpl.java new file mode 100644 index 0000000..157ec69 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/maintainrate/MaintainRateServiceImpl.java @@ -0,0 +1,96 @@ +package com.zteits.urbanops.module.garden.service.maintainrate; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.module.garden.controller.admin.maintainrate.vo.MaintainRatePageReqVO; +import com.zteits.urbanops.module.garden.controller.admin.maintainrate.vo.MaintainRateReqVO; +import com.zteits.urbanops.module.garden.controller.admin.maintainrate.vo.MaintainRateRespVO; +import com.zteits.urbanops.module.garden.dal.dataobject.maintainrate.MaintainRateDO; +import com.zteits.urbanops.module.garden.dal.mysql.maintainrate.MaintainRateMapper; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +@Service +@Validated +public class MaintainRateServiceImpl implements MaintainRateService { + + @Resource + private MaintainRateMapper maintainRateMapper; + + @Override + public PageResult selectPage(MaintainRatePageReqVO reqVO) { + return maintainRateMapper.selectPage(reqVO); + } + + @Override + public MaintainRateDO selectById(Long id) { + return maintainRateMapper.selectById(id); + } + + @Override + public Boolean insert(MaintainRateDO entity) { + return maintainRateMapper.insert(entity) > 0; + } + + @Override + public Boolean update(MaintainRateDO entity) { + return maintainRateMapper.updateById(entity) > 0; + } + + @Override + public Boolean deleteById(Long id) { + return maintainRateMapper.deleteById(id) > 0; + } + + @Override + public MaintainRateRespVO getMaintainRateValue(MaintainRateReqVO reqVO) { + LambdaQueryWrapper qw = Wrappers.lambdaQuery(); + qw.eq(MaintainRateDO::getMaintainSubjectId, reqVO.getMaintainSubjectId()); + qw.eq(MaintainRateDO::getMaintainTypeId, reqVO.getMaintainTypeId()); + qw.orderByDesc(MaintainRateDO::getId); + MaintainRateDO rate = maintainRateMapper.selectOne(qw); + if (rate == null) { + return null; + } + MaintainRateRespVO resp = new MaintainRateRespVO(); + resp.setMaintainTypeId(rate.getMaintainTypeId()); + resp.setMaintainTypeName(rate.getMaintainTypeName()); + resp.setCycleId(rate.getCycleId()); + resp.setCycleName(rate.getCycleName()); + resp.setLevelTop(rate.getLevelTop()); + resp.setLevelOne(rate.getLevelOne()); + resp.setLevelTwo(rate.getLevelTwo()); + resp.setLevelThree(rate.getLevelThree()); + return resp; + } + + @Override + public MaintainRateRespVO selectMaintainRateByLevel(Integer maintainTypeId, Integer level) { + LambdaQueryWrapper qw = Wrappers.lambdaQuery(); + qw.eq(MaintainRateDO::getMaintainTypeId, maintainTypeId); + qw.orderByDesc(MaintainRateDO::getId); + MaintainRateDO rate = maintainRateMapper.selectOne(qw); + if (rate == null) { + return null; + } + MaintainRateRespVO resp = new MaintainRateRespVO(); + resp.setMaintainTypeId(rate.getMaintainTypeId()); + resp.setMaintainTypeName(rate.getMaintainTypeName()); + resp.setCycleId(rate.getCycleId()); + resp.setCycleName(rate.getCycleName()); + String value; + if (level != null && level == 10) { + value = rate.getLevelTop(); + } else if (level != null && level == 11) { + value = rate.getLevelOne(); + } else if (level != null && level == 12) { + value = rate.getLevelTwo(); + } else { + value = rate.getLevelThree(); + } + resp.setValue(value); + return resp; + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/material/MaterialInventoryService.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/material/MaterialInventoryService.java new file mode 100644 index 0000000..d2615e1 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/material/MaterialInventoryService.java @@ -0,0 +1,10 @@ +package com.zteits.urbanops.module.garden.service.material; + +import com.zteits.urbanops.framework.common.pojo.PageParam; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialInventoryDO; + +public interface MaterialInventoryService { + PageResult selectPage(PageParam pageParam, MaterialInventoryDO where); + Boolean updateInventoryAlarmNum(Long materialId, Long alermNum); +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/material/MaterialInventoryServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/material/MaterialInventoryServiceImpl.java new file mode 100644 index 0000000..9327c7c --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/material/MaterialInventoryServiceImpl.java @@ -0,0 +1,30 @@ +package com.zteits.urbanops.module.garden.service.material; + +import com.zteits.urbanops.framework.common.pojo.PageParam; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialInventoryDO; +import com.zteits.urbanops.module.garden.dal.mysql.material.MaterialInventoryMapper; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; + +@Service +public class MaterialInventoryServiceImpl implements MaterialInventoryService { + + @Resource + private MaterialInventoryMapper mapper; + + @Override + public PageResult selectPage(PageParam pageParam, MaterialInventoryDO where) { + return mapper.selectPage(pageParam, null, new com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX() + .eqIfPresent(MaterialInventoryDO::getMaterialId, where.getMaterialId()) + .likeIfPresent(MaterialInventoryDO::getMaterialName, where.getMaterialName()) + .eqIfPresent(MaterialInventoryDO::getTypeDetailId, where.getTypeDetailId()) + .eqIfPresent(MaterialInventoryDO::getBelongCompanyId, where.getBelongCompanyId()) + .orderByDesc(MaterialInventoryDO::getUpdateTime)); + } + + @Override + public Boolean updateInventoryAlarmNum(Long materialId, Long alermNum) { + return mapper.updateInventoryAlarmNum(materialId, alermNum) > 0; + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/material/MaterialService.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/material/MaterialService.java new file mode 100644 index 0000000..ae2a243 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/material/MaterialService.java @@ -0,0 +1,7 @@ +package com.zteits.urbanops.module.garden.service.material; + +import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialDO; + +public interface MaterialService { + MaterialDO selectById(Long id); +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/material/MaterialServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/material/MaterialServiceImpl.java new file mode 100644 index 0000000..88a0ff9 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/material/MaterialServiceImpl.java @@ -0,0 +1,17 @@ +package com.zteits.urbanops.module.garden.service.material; + +import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialDO; +import com.zteits.urbanops.module.garden.dal.mysql.material.MaterialMapper; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; + +@Service +public class MaterialServiceImpl implements MaterialService { + @Resource + private MaterialMapper materialMapper; + + @Override + public MaterialDO selectById(Long id) { + return materialMapper.selectById(id); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/material/MaterialTypeService.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/material/MaterialTypeService.java new file mode 100644 index 0000000..807718a --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/material/MaterialTypeService.java @@ -0,0 +1,30 @@ +package com.zteits.urbanops.module.garden.service.material; + +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.zteits.urbanops.module.garden.controller.business.vo.MaterialTypeManagerRespVO; +import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialTypeDO; + +import java.util.List; + +public interface MaterialTypeService { + + MaterialTypeDO get(Long id); + + List selectList(MaterialTypeDO req); + + Page selectPage(Page page, MaterialTypeDO req); + + boolean insert(MaterialTypeDO entity); + + boolean update(MaterialTypeDO entity); + + boolean deleteById(Long id); + + List queryMaterialBigType(Long materialTypeId); + + List queryMaterialMidType(Long materialTypeId); + + List queryMaterialDetailType(Long parentTypeId); + + Long selectMaxTypeDetailId(Long materialTypeId, Long typeId); +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/material/MaterialTypeServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/material/MaterialTypeServiceImpl.java new file mode 100644 index 0000000..31235d9 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/material/MaterialTypeServiceImpl.java @@ -0,0 +1,125 @@ +package com.zteits.urbanops.module.garden.service.material; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.zteits.urbanops.module.garden.controller.business.vo.MaterialTypeManagerRespVO; +import com.zteits.urbanops.module.garden.dal.dataobject.material.MaterialTypeDO; +import com.zteits.urbanops.module.garden.dal.mysql.material.MaterialTypeMapper; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class MaterialTypeServiceImpl implements MaterialTypeService { + + @Resource + private MaterialTypeMapper mapper; + + @Override + public MaterialTypeDO get(Long id) { + return mapper.selectById(id); + } + + @Override + public List selectList(MaterialTypeDO req) { + com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX wrapper = + new com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX() + .likeIfPresent(MaterialTypeDO::getTypeName, req.getTypeName()) + .eqIfPresent(MaterialTypeDO::getParentId, req.getParentId()) + .eqIfPresent(MaterialTypeDO::getLevel, req.getLevel()) + .orderByDesc(MaterialTypeDO::getId); + return mapper.selectList(wrapper); + } + + @Override + public Page selectPage(Page page, MaterialTypeDO req) { + com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX wrapper = + new com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX() + .likeIfPresent(MaterialTypeDO::getTypeName, req.getTypeName()) + .eqIfPresent(MaterialTypeDO::getParentId, req.getParentId()) + .eqIfPresent(MaterialTypeDO::getLevel, req.getLevel()) + .orderByDesc(MaterialTypeDO::getId); + return mapper.selectPage(page, wrapper); + } + + @Override + public boolean insert(MaterialTypeDO entity) { + entity.clean(); + return mapper.insert(entity) > 0; + } + + @Override + public boolean update(MaterialTypeDO entity) { + entity.clean(); + return mapper.updateById(entity) > 0; + } + + @Override + public boolean deleteById(Long id) { + return mapper.deleteById(id) > 0; + } + + @Override + public List queryMaterialBigType(Long materialTypeId) { + com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX wrapper = + new com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX() + .eqIfPresent(MaterialTypeDO::getLevel, 1) + .orderByDesc(MaterialTypeDO::getId); + List list = mapper.selectList(wrapper); + return list.stream().filter(it -> materialTypeId == null || !it.getId().equals(materialTypeId)) + .map(it -> { + MaterialTypeManagerRespVO vo = new MaterialTypeManagerRespVO(); + vo.setValue(it.getId()); + vo.setLabel(it.getTypeName()); + return vo; + }).toList(); + } + + @Override + public List queryMaterialMidType(Long materialTypeId) { + com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX wrapper = + new com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX() + .eqIfPresent(MaterialTypeDO::getLevel, 2) + .eqIfPresent(MaterialTypeDO::getParentId, materialTypeId) + .orderByDesc(MaterialTypeDO::getId); + List list = mapper.selectList(wrapper); + return list.stream().map(it -> { + MaterialTypeManagerRespVO vo = new MaterialTypeManagerRespVO(); + vo.setValue(it.getId()); + vo.setLabel(it.getTypeName()); + vo.setMaterialParentTypeId(it.getParentId()); + return vo; + }).toList(); + } + + @Override + public List queryMaterialDetailType(Long parentTypeId) { + com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX wrapper = + new com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX() + .eqIfPresent(MaterialTypeDO::getLevel, 3) + .eqIfPresent(MaterialTypeDO::getParentId, parentTypeId) + .orderByDesc(MaterialTypeDO::getId); + List list = mapper.selectList(wrapper); + return list.stream().map(it -> { + MaterialTypeManagerRespVO vo = new MaterialTypeManagerRespVO(); + vo.setValue(it.getId()); + vo.setLabel(it.getTypeName()); + vo.setParentTypeId(it.getParentId()); + return vo; + }).toList(); + } + + @Override + public Long selectMaxTypeDetailId(Long materialTypeId, Long typeId) { + QueryWrapper qw = new QueryWrapper<>(); + qw.select("max(id) AS maxId") + .eq("level", 3) + .eq("parent_id", typeId); + List> maps = mapper.selectMaps(qw); + if (maps.isEmpty() || maps.get(0).get("maxId") == null) { + return 0L; + } + return ((Number) maps.get(0).get("maxId")).longValue(); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/photo/SysPhotoService.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/photo/SysPhotoService.java new file mode 100644 index 0000000..843b5c7 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/photo/SysPhotoService.java @@ -0,0 +1,13 @@ +package com.zteits.urbanops.module.garden.service.photo; + +import com.zteits.urbanops.module.garden.dal.dataobject.photo.SysPhotoDO; + +import java.util.List; + +public interface SysPhotoService { + List selectList(SysPhotoDO where); + SysPhotoDO selectById(String id); + Boolean insert(SysPhotoDO entity); + Boolean update(SysPhotoDO entity); + Boolean deleteByIds(List ids); +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/photo/SysPhotoServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/photo/SysPhotoServiceImpl.java new file mode 100644 index 0000000..af4c80e --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/photo/SysPhotoServiceImpl.java @@ -0,0 +1,40 @@ +package com.zteits.urbanops.module.garden.service.photo; + +import com.zteits.urbanops.module.garden.dal.dataobject.photo.SysPhotoDO; +import com.zteits.urbanops.module.garden.dal.mysql.photo.SysPhotoMapper; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class SysPhotoServiceImpl implements SysPhotoService { + + @Resource + private SysPhotoMapper mapper; + + @Override + public List selectList(SysPhotoDO where) { + return mapper.selectList(where); + } + + @Override + public SysPhotoDO selectById(String id) { + return mapper.selectById(id); + } + + @Override + public Boolean insert(SysPhotoDO entity) { + return mapper.insert(entity) > 0; + } + + @Override + public Boolean update(SysPhotoDO entity) { + return mapper.updateById(entity) > 0; + } + + @Override + public Boolean deleteByIds(List ids) { + return mapper.deleteBatchIds(ids) > 0; + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/plancommit/MaintainPlanCommitDetailService.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/plancommit/MaintainPlanCommitDetailService.java new file mode 100644 index 0000000..a5b07ac --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/plancommit/MaintainPlanCommitDetailService.java @@ -0,0 +1,16 @@ +package com.zteits.urbanops.module.garden.service.plancommit; + +import com.zteits.urbanops.framework.common.pojo.PageParam; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.module.garden.controller.app.vo.PlanCommitDetailPageReqVO; +import com.zteits.urbanops.module.garden.controller.app.vo.PlanTaskCommitDetailPageRespVO; + +public interface MaintainPlanCommitDetailService { + PageResult pageListXC(PageParam page, PlanCommitDetailPageReqVO reqVO); + PageResult pageListYH(PageParam page, com.zteits.urbanops.module.garden.controller.app.vo.PlanYhCommitDetailPageReqVO reqVO); + PlanTaskCommitDetailPageRespVO getById(Long id); + PlanTaskCommitDetailPageRespVO getByProblemNo(String problemNo, Boolean isAddUrl); + Boolean insertYH(Long userId, String userName, com.zteits.urbanops.module.garden.controller.app.vo.PlanCommitDetailYhAddReqVO reqVO); + Integer selectByPlanNoAndCommitDate(String planNo, java.time.LocalDate commitDate); + Boolean insertXC(Long userId, String userName, com.zteits.urbanops.module.garden.controller.app.vo.PlanCommitDetailAddReqVO reqVO); +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/plancommit/MaintainPlanCommitDetailServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/plancommit/MaintainPlanCommitDetailServiceImpl.java new file mode 100644 index 0000000..b899cf9 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/plancommit/MaintainPlanCommitDetailServiceImpl.java @@ -0,0 +1,74 @@ +package com.zteits.urbanops.module.garden.service.plancommit; + +import com.zteits.urbanops.framework.common.pojo.PageParam; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.framework.common.util.object.BeanUtils; +import com.zteits.urbanops.module.garden.controller.app.vo.PlanCommitDetailPageReqVO; +import com.zteits.urbanops.module.garden.controller.app.vo.PlanTaskCommitDetailPageRespVO; +import com.zteits.urbanops.module.garden.dal.dataobject.plancommit.MaintainPlanCommitDetailDO; +import com.zteits.urbanops.module.garden.dal.mysql.plancommit.MaintainPlanCommitDetailMapper; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; + +@Service +public class MaintainPlanCommitDetailServiceImpl implements MaintainPlanCommitDetailService { + + @Resource + private MaintainPlanCommitDetailMapper mapper; + + @Override + public PageResult pageListXC(PageParam page, PlanCommitDetailPageReqVO reqVO) { + MaintainPlanCommitDetailDO where = new MaintainPlanCommitDetailDO(); + where.setPlanNo(reqVO.getPlanNo()); + PageResult result = mapper.selectPage(page, where); + return BeanUtils.toBean(result, PlanTaskCommitDetailPageRespVO.class); + } + + @Override + public PageResult pageListYH(PageParam page, com.zteits.urbanops.module.garden.controller.app.vo.PlanYhCommitDetailPageReqVO reqVO) { + MaintainPlanCommitDetailDO where = new MaintainPlanCommitDetailDO(); + PageResult result = mapper.selectPage(page, where); + return BeanUtils.toBean(result, PlanTaskCommitDetailPageRespVO.class); + } + + @Override + public PlanTaskCommitDetailPageRespVO getById(Long id) { + MaintainPlanCommitDetailDO e = mapper.selectById(id); + return BeanUtils.toBean(e, PlanTaskCommitDetailPageRespVO.class); + } + + @Override + public PlanTaskCommitDetailPageRespVO getByProblemNo(String problemNo, Boolean isAddUrl) { + MaintainPlanCommitDetailDO e = mapper.selectByProblemNo(problemNo); + return BeanUtils.toBean(e, PlanTaskCommitDetailPageRespVO.class); + } + + @Override + public Boolean insertYH(Long userId, String userName, com.zteits.urbanops.module.garden.controller.app.vo.PlanCommitDetailYhAddReqVO reqVO) { + MaintainPlanCommitDetailDO item = new MaintainPlanCommitDetailDO(); + item.setPlanNo(reqVO.getPlanNo()); + item.setProblemNo(reqVO.getProblemNo()); + item.setContent(reqVO.getContent()); + item.setCreator(String.valueOf(userId)); + item.setUpdater(String.valueOf(userId)); + return mapper.insert(item) > 0; + } + + @Override + public Integer selectByPlanNoAndCommitDate(String planNo, java.time.LocalDate commitDate) { + MaintainPlanCommitDetailDO where = new MaintainPlanCommitDetailDO(); + where.setPlanNo(planNo); + PageResult result = mapper.selectPage(new PageParam(), where); + return result.getTotal() == null ? 0 : result.getTotal().intValue(); + } + + @Override + public Boolean insertXC(Long userId, String userName, com.zteits.urbanops.module.garden.controller.app.vo.PlanCommitDetailAddReqVO reqVO) { + MaintainPlanCommitDetailDO item = new MaintainPlanCommitDetailDO(); + item.setPlanNo(reqVO.getPlanNo()); + item.setContent(reqVO.getContent()); + item.setCreator(String.valueOf(userId)); + item.setUpdater(String.valueOf(userId)); + return mapper.insert(item) > 0; + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/problem/MaintainProblemManagerService.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/problem/MaintainProblemManagerService.java new file mode 100644 index 0000000..5470e99 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/problem/MaintainProblemManagerService.java @@ -0,0 +1,10 @@ +package com.zteits.urbanops.module.garden.service.problem; + +import com.zteits.urbanops.framework.common.pojo.PageParam; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.module.garden.dal.dataobject.problem.MaintainProblemManagerDO; + +public interface MaintainProblemManagerService { + PageResult selectPage(PageParam pageParam, MaintainProblemManagerDO where); + MaintainProblemManagerDO selectById(Long id); +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/problem/MaintainProblemManagerServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/problem/MaintainProblemManagerServiceImpl.java new file mode 100644 index 0000000..8e76d44 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/problem/MaintainProblemManagerServiceImpl.java @@ -0,0 +1,36 @@ +package com.zteits.urbanops.module.garden.service.problem; + +import com.zteits.urbanops.framework.common.pojo.PageParam; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.module.garden.dal.dataobject.problem.MaintainProblemManagerDO; +import com.zteits.urbanops.module.garden.dal.mysql.problem.MaintainProblemManagerMapper; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; + +@Service +public class MaintainProblemManagerServiceImpl implements MaintainProblemManagerService { + + @Resource + private MaintainProblemManagerMapper mapper; + + @Override + public PageResult selectPage(PageParam pageParam, MaintainProblemManagerDO where) { + PageResult result = mapper.selectPage(pageParam, where); + for (MaintainProblemManagerDO tl : result.getList()) { + if (tl.getDistributeStatus() != null) { + if (tl.getDistributeStatus() == 1) tl.setStatus("待处理"); + else if (tl.getDistributeStatus() == 2) tl.setStatus("处理中"); + else if (tl.getDistributeStatus() == 3) tl.setStatus("指派驳回"); + else tl.setStatus("未知状态"); + } + if (tl.getLeaderConfrimStatus() != null && tl.getLeaderConfrimStatus() == 2) tl.setStatus("已完成确认"); + if (tl.getUserConfrimStatus() != null && tl.getUserConfrimStatus() == 2) tl.setStatus("处理完成"); + } + return result; + } + + @Override + public MaintainProblemManagerDO selectById(Long id) { + return mapper.selectById(id); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/road/RoadManagerService.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/road/RoadManagerService.java new file mode 100644 index 0000000..804fa77 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/road/RoadManagerService.java @@ -0,0 +1,16 @@ +package com.zteits.urbanops.module.garden.service.road; + +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.module.garden.controller.admin.roadmanager.vo.RoadManagerPageReqVO; +import com.zteits.urbanops.module.garden.dal.dataobject.road.RoadManagerDO; + +import java.util.List; + +public interface RoadManagerService { + PageResult selectPage(RoadManagerPageReqVO reqVO); + RoadManagerDO selectById(Long id); + Boolean insert(RoadManagerDO entity); + Boolean update(RoadManagerDO entity); + Boolean deleteById(Long id); + List selectList(RoadManagerDO where); +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/road/RoadManagerServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/road/RoadManagerServiceImpl.java new file mode 100644 index 0000000..220f71f --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/road/RoadManagerServiceImpl.java @@ -0,0 +1,51 @@ +package com.zteits.urbanops.module.garden.service.road; + +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.module.garden.controller.admin.roadmanager.vo.RoadManagerPageReqVO; +import com.zteits.urbanops.module.garden.dal.dataobject.road.RoadManagerDO; +import com.zteits.urbanops.module.garden.dal.mysql.road.RoadManagerMapper; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class RoadManagerServiceImpl implements RoadManagerService { + + @Resource + private RoadManagerMapper roadManagerMapper; + + @Override + public PageResult selectPage(RoadManagerPageReqVO reqVO) { + return roadManagerMapper.selectPage(reqVO); + } + + @Override + public RoadManagerDO selectById(Long id) { + return roadManagerMapper.selectById(id); + } + + @Override + public Boolean insert(RoadManagerDO entity) { + return roadManagerMapper.insert(entity) > 0; + } + + @Override + public Boolean update(RoadManagerDO entity) { + return roadManagerMapper.updateById(entity) > 0; + } + + @Override + public Boolean deleteById(Long id) { + return roadManagerMapper.deleteById(id) > 0; + } + + @Override + public List selectList(RoadManagerDO where) { + return roadManagerMapper.selectList(new com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX() + .eqIfPresent(RoadManagerDO::getCompanyId, where.getCompanyId()) + .eqIfPresent(RoadManagerDO::getDeptId, where.getDeptId()) + .likeIfPresent(RoadManagerDO::getRoadName, where.getRoadName()) + .orderByAsc(RoadManagerDO::getRoadName)); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/standingbook/StandingBookService.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/standingbook/StandingBookService.java new file mode 100644 index 0000000..e14d824 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/standingbook/StandingBookService.java @@ -0,0 +1,10 @@ +package com.zteits.urbanops.module.garden.service.standingbook; + +import com.zteits.urbanops.framework.common.pojo.PageParam; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.module.garden.controller.admin.standingbook.vo.StandingBookPageReqVO; +import com.zteits.urbanops.module.garden.dal.dataobject.standingbook.StandingBookDO; + +public interface StandingBookService { + PageResult selectPage(PageParam pageParam, StandingBookPageReqVO reqVO); +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/standingbook/StandingBookServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/standingbook/StandingBookServiceImpl.java new file mode 100644 index 0000000..442543e --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/standingbook/StandingBookServiceImpl.java @@ -0,0 +1,23 @@ +package com.zteits.urbanops.module.garden.service.standingbook; + +import com.zteits.urbanops.framework.common.pojo.PageParam; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.module.garden.controller.admin.standingbook.vo.StandingBookPageReqVO; +import com.zteits.urbanops.module.garden.dal.dataobject.standingbook.StandingBookDO; +import com.zteits.urbanops.module.garden.dal.mysql.standingbook.StandingBookMapper; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; + +@Service +public class StandingBookServiceImpl implements StandingBookService { + + @Resource + private StandingBookMapper mapper; + + @Override + public PageResult selectPage(PageParam pageParam, StandingBookPageReqVO reqVO) { + StandingBookDO where = new StandingBookDO(); + where.setStandingBookYear(reqVO.getStandingBookYear()); + return mapper.selectPage(pageParam, where); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/treerecord/GardenOldtreesService.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/treerecord/GardenOldtreesService.java new file mode 100644 index 0000000..2d299d6 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/treerecord/GardenOldtreesService.java @@ -0,0 +1,16 @@ +package com.zteits.urbanops.module.garden.service.treerecord; + +import com.zteits.urbanops.framework.common.pojo.PageParam; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.module.garden.dal.dataobject.treerecord.GardenOldtreesDO; + +import java.util.List; + +public interface GardenOldtreesService { + PageResult selectPage(PageParam pageParam, GardenOldtreesDO where); + List selectList(GardenOldtreesDO where); + GardenOldtreesDO selectById(String id); + Boolean insert(GardenOldtreesDO entity); + Boolean update(GardenOldtreesDO entity); + Boolean deleteByIds(List ids); +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/treerecord/GardenOldtreesServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/treerecord/GardenOldtreesServiceImpl.java new file mode 100644 index 0000000..dcf3f8c --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/treerecord/GardenOldtreesServiceImpl.java @@ -0,0 +1,53 @@ +package com.zteits.urbanops.module.garden.service.treerecord; + +import com.zteits.urbanops.framework.common.pojo.PageParam; +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.module.garden.dal.dataobject.treerecord.GardenOldtreesDO; +import com.zteits.urbanops.module.garden.dal.mysql.treerecord.GardenOldtreesMapper; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class GardenOldtreesServiceImpl implements GardenOldtreesService { + + @Resource + private GardenOldtreesMapper mapper; + + @Override + public PageResult selectPage(PageParam pageParam, GardenOldtreesDO where) { + return mapper.selectPage(pageParam, where); + } + + @Override + public List selectList(GardenOldtreesDO where) { + return mapper.selectList(new com.zteits.urbanops.framework.mybatis.core.query.LambdaQueryWrapperX() + .likeIfPresent(GardenOldtreesDO::getTreenumber, where.getTreenumber()) + .likeIfPresent(GardenOldtreesDO::getLatinname, where.getLatinname()) + .eqIfPresent(GardenOldtreesDO::getStreet, where.getStreet()) + .eqIfPresent(GardenOldtreesDO::getMaintainunit, where.getMaintainunit()) + .eqIfPresent(GardenOldtreesDO::getDeptId, where.getDeptId()) + .orderByDesc(GardenOldtreesDO::getUpdateTime)); + } + + @Override + public GardenOldtreesDO selectById(String id) { + return mapper.selectById(id); + } + + @Override + public Boolean insert(GardenOldtreesDO entity) { + return mapper.insert(entity) > 0; + } + + @Override + public Boolean update(GardenOldtreesDO entity) { + return mapper.updateById(entity) > 0; + } + + @Override + public Boolean deleteByIds(List ids) { + return mapper.deleteBatchIds(ids) > 0; + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/treerecord/GardenTreeService.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/treerecord/GardenTreeService.java new file mode 100644 index 0000000..2ecae2b --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/treerecord/GardenTreeService.java @@ -0,0 +1,19 @@ +package com.zteits.urbanops.module.garden.service.treerecord; + +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.module.garden.dal.dataobject.treerecord.GardenTreeDO; + +import java.util.List; + +public interface GardenTreeService { + PageResult selectPage(GardenTreeDO where, Integer pageNo, Integer pageSize); + GardenTreeDO selectById(Long id); + Boolean insert(GardenTreeDO entity); + Boolean update(GardenTreeDO entity); + Boolean deleteById(Long id); + Boolean deleteByIds(List ids); + + java.util.List getCompanyDeptRoadTreeData(Long belongCompanyId, String roadName, Long deptId); + + java.util.List getTreesByRoadId(Long road); +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/treerecord/GardenTreeServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/treerecord/GardenTreeServiceImpl.java new file mode 100644 index 0000000..3385145 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/treerecord/GardenTreeServiceImpl.java @@ -0,0 +1,94 @@ +package com.zteits.urbanops.module.garden.service.treerecord; + +import com.zteits.urbanops.framework.common.pojo.PageResult; +import com.zteits.urbanops.module.garden.dal.dataobject.treerecord.GardenTreeDO; +import com.zteits.urbanops.module.garden.dal.mysql.treerecord.GardenTreeMapper; +import com.zteits.urbanops.module.garden.controller.admin.treerecord.vo.CompanyDeptRoadVO; +import com.zteits.urbanops.module.garden.controller.admin.treerecord.vo.RoadTreeVO; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; + +import java.util.List; +import java.util.ArrayList; +import java.util.Map; +import java.util.stream.Collectors; + +@Service +public class GardenTreeServiceImpl implements GardenTreeService { + + @Resource + private GardenTreeMapper gardenTreeMapper; + + @Override + public PageResult selectPage(GardenTreeDO where, Integer pageNo, Integer pageSize) { + com.zteits.urbanops.framework.common.pojo.PageParam pageParam = new com.zteits.urbanops.framework.common.pojo.PageParam(); + pageParam.setPageNo(pageNo); + pageParam.setPageSize(pageSize); + return gardenTreeMapper.selectPage(pageParam, where); + } + + @Override + public GardenTreeDO selectById(Long id) { + return gardenTreeMapper.selectById(id); + } + + @Override + public Boolean insert(GardenTreeDO entity) { + return gardenTreeMapper.insert(entity) > 0; + } + + @Override + public Boolean update(GardenTreeDO entity) { + return gardenTreeMapper.updateById(entity) > 0; + } + + @Override + public Boolean deleteById(Long id) { + return gardenTreeMapper.deleteById(id) > 0; + } + + @Override + public Boolean deleteByIds(List ids) { + return gardenTreeMapper.deleteBatchIds(ids) > 0; + } + + @Override + public List getCompanyDeptRoadTreeData(Long belongCompanyId, String roadName, Long deptId) { + List rows = gardenTreeMapper.selectCompanyDeptRoadRows(); + Map> byCompany = rows.stream().collect(Collectors.groupingBy(r -> r.companyId)); + List result = new ArrayList<>(); + for (Map.Entry> entry : byCompany.entrySet()) { + CompanyDeptRoadVO company = new CompanyDeptRoadVO(); + company.setCompanyId(entry.getKey()); + company.setCompanyName(entry.getValue().get(0).companyName); + Map> byDept = entry.getValue().stream().collect(Collectors.groupingBy(r -> r.deptId)); + List deptList = new ArrayList<>(); + for (Map.Entry> d : byDept.entrySet()) { + CompanyDeptRoadVO.DeptVO dept = new CompanyDeptRoadVO.DeptVO(); + dept.setDeptId(d.getKey()); + dept.setDeptName(d.getValue().get(0).deptName); + List roads = new ArrayList<>(); + for (GardenTreeMapper.CompanyDeptRoadRow r : d.getValue()) { + CompanyDeptRoadVO.RoadVO roadVO = new CompanyDeptRoadVO.RoadVO(); + roadVO.setRoadId(r.roadId); + roadVO.setRoadName(r.roadName); + roadVO.setTreeCount(r.treeCount); + roadVO.setRecordedCount(r.recordedCount); + roadVO.setStartRemark(r.startRemark); + roadVO.setEndRemark(r.endRemark); + roads.add(roadVO); + } + dept.setRoads(roads); + deptList.add(dept); + } + company.setDepts(deptList); + result.add(company); + } + return result; + } + + @Override + public List getTreesByRoadId(Long road) { + return gardenTreeMapper.selectTreesByRoadId(road); + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/usergps/UserGpsService.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/usergps/UserGpsService.java new file mode 100644 index 0000000..defa07f --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/usergps/UserGpsService.java @@ -0,0 +1,12 @@ +package com.zteits.urbanops.module.garden.service.usergps; + +import com.zteits.urbanops.module.garden.controller.app.vo.UserGpsAddReqVO; +import com.zteits.urbanops.module.garden.controller.app.vo.UserGpsRespVO; + +import java.util.List; + +public interface UserGpsService { + List selectUserGpsList(Long userId, String commitTime); + Boolean insertUserGps(Long userId, String userName, UserGpsAddReqVO reqVO); + List selectUserGpsList(Long userId, String beginTime, String endTime); +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/usergps/UserGpsServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/usergps/UserGpsServiceImpl.java new file mode 100644 index 0000000..aa0e4e3 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/usergps/UserGpsServiceImpl.java @@ -0,0 +1,82 @@ +package com.zteits.urbanops.module.garden.service.usergps; + +import com.zteits.urbanops.module.garden.controller.app.vo.UserGpsAddReqVO; +import com.zteits.urbanops.module.garden.controller.app.vo.UserGpsRespVO; +import com.zteits.urbanops.module.garden.dal.dataobject.usergps.UserGpsDO; +import com.zteits.urbanops.module.garden.dal.mysql.usergps.UserGpsMapper; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; + +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.List; + +@Service +public class UserGpsServiceImpl implements UserGpsService { + + @Resource + private UserGpsMapper userGpsMapper; + + private static final String TABLE_PREFIX = "garden_user_gps_"; + private static final int TABLE_COUNT = 32; + + @Override + public List selectUserGpsList(Long userId, String commitTime) { + String beginTime = commitTime + " 00:00:00"; + String endTime = commitTime + " 23:59:59"; + String tableName = getTableName(userId); + List list = userGpsMapper.selectUserGpsList(tableName, userId, beginTime, endTime); + List resp = new ArrayList<>(); + for (UserGpsDO e : list) { + UserGpsRespVO r = new UserGpsRespVO(); + r.setId(e.getId()); + r.setCommitDate(e.getCommitDate()); + r.setType(e.getType()); + r.setUserId(e.getUserId()); + r.setUserName(e.getUserName()); + r.setLat(e.getLat()); + r.setLon(e.getLon()); + resp.add(r); + } + return resp; + } + + @Override + public Boolean insertUserGps(Long userId, String userName, UserGpsAddReqVO reqVO) { + String tableName = getTableName(userId); + UserGpsDO item = new UserGpsDO(); + item.setCommitDate(LocalDateTime.now()); + item.setUserId(userId); + item.setUserName(userName); + item.setLat(reqVO.getLat()); + item.setLon(reqVO.getLon()); + item.setType(reqVO.getType() == null ? 1 : reqVO.getType()); + item.setStatus("0"); + return userGpsMapper.insertUserGps(tableName, item) > 0; + } + + @Override + public List selectUserGpsList(Long userId, String beginTime, String endTime) { + String tableName = getTableName(userId); + List list = userGpsMapper.selectUserGpsList(tableName, userId, beginTime, endTime); + List resp = new ArrayList<>(); + for (UserGpsDO e : list) { + UserGpsRespVO r = new UserGpsRespVO(); + r.setId(e.getId()); + r.setCommitDate(e.getCommitDate()); + r.setType(e.getType()); + r.setUserId(e.getUserId()); + r.setUserName(e.getUserName()); + r.setLat(e.getLat()); + r.setLon(e.getLon()); + resp.add(r); + } + return resp; + } + + private String getTableName(Long userId) { + long suffix = userId % TABLE_COUNT; + return TABLE_PREFIX + suffix; + } +} \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/util/http/OkHttpClientUtil.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/util/http/OkHttpClientUtil.java new file mode 100644 index 0000000..1dbce57 --- /dev/null +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/util/http/OkHttpClientUtil.java @@ -0,0 +1,55 @@ +package com.zteits.urbanops.module.garden.util.http; + +import okhttp3.*; +import java.util.Map; + +public class OkHttpClientUtil { + private static final OkHttpClient client = new OkHttpClient.Builder().build(); + + public static String doGet(String url, Map params) { + return doGet(url, params, null); + } + + public static String doGet(String url, Map params, Map headers) { + HttpUrl.Builder httpBuilder = HttpUrl.parse(url).newBuilder(); + if (params != null) { + for (Map.Entry e : params.entrySet()) { + httpBuilder.addQueryParameter(e.getKey(), e.getValue()); + } + } + Request.Builder reqBuilder = new Request.Builder().url(httpBuilder.build()); + if (headers != null) { + for (Map.Entry e : headers.entrySet()) { + reqBuilder.addHeader(e.getKey(), e.getValue()); + } + } + try (Response response = client.newCall(reqBuilder.get().build()).execute()) { + if (response.body() == null) return null; + return response.body().string(); + } catch (Exception e) { + return null; + } + } + + public static String doPostJson(String url, Map body) { + return doPostJson(url, body, null); + } + + public static String doPostJson(String url, Map body, Map headers) { + MediaType jsonType = MediaType.parse("application/json; charset=utf-8"); + String json = com.alibaba.fastjson.JSONObject.toJSONString(body); + RequestBody requestBody = RequestBody.create(jsonType, json); + Request.Builder reqBuilder = new Request.Builder().url(url).post(requestBody); + if (headers != null) { + for (Map.Entry e : headers.entrySet()) { + reqBuilder.addHeader(e.getKey(), e.getValue()); + } + } + try (Response response = client.newCall(reqBuilder.build()).execute()) { + if (response.body() == null) return null; + return response.body().string(); + } catch (Exception e) { + return null; + } + } +} \ No newline at end of file diff --git a/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/controller/admin/user/UserController.java b/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/controller/admin/user/UserController.java index 9e9954c..4f6f3b9 100644 --- a/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/controller/admin/user/UserController.java +++ b/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/controller/admin/user/UserController.java @@ -112,6 +112,20 @@ public class UserController { pageResult.getTotal())); } + @PostMapping("/listForPage") + @Operation(summary = "获得用户分页列表(兼容旧路径)") + @PreAuthorize("@ss.hasPermission('system:user:query')") + public CommonResult> listForPage(@Valid @RequestBody UserPageReqVO pageReqVO) { + PageResult pageResult = userService.getUserPage(pageReqVO); + if (CollUtil.isEmpty(pageResult.getList())) { + return success(new PageResult<>(pageResult.getTotal())); + } + Map deptMap = deptService.getDeptMap( + convertList(pageResult.getList(), AdminUserDO::getDeptId)); + return success(new PageResult<>(UserConvert.INSTANCE.convertList(pageResult.getList(), deptMap), + pageResult.getTotal())); + } + @GetMapping({"/list-all-simple", "/simple-list"}) @Operation(summary = "获取用户精简信息列表", description = "只包含被开启的用户,主要用于前端的下拉选项") public CommonResult> getSimpleUserList() { diff --git a/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/controller/bridge/dict/DictDataBridgeController.java b/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/controller/bridge/dict/DictDataBridgeController.java new file mode 100644 index 0000000..559ae4d --- /dev/null +++ b/urbanops-module-system/src/main/java/com/zteits/urbanops/module/system/controller/bridge/dict/DictDataBridgeController.java @@ -0,0 +1,41 @@ +package com.zteits.urbanops.module.system.controller.bridge.dict; + +import com.zteits.urbanops.framework.common.enums.CommonStatusEnum; +import com.zteits.urbanops.framework.common.pojo.CommonResult; +import com.zteits.urbanops.framework.common.util.object.BeanUtils; +import com.zteits.urbanops.module.system.controller.app.dict.vo.AppDictDataRespVO; +import com.zteits.urbanops.module.system.dal.dataobject.dict.DictDataDO; +import com.zteits.urbanops.module.system.service.dict.DictDataService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import jakarta.annotation.security.PermitAll; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +import static com.zteits.urbanops.framework.common.pojo.CommonResult.success; + +@Tag(name = "桥接 - 旧路径字典数据查询") +@RestController +@RequestMapping("/system/dict/data") +@Validated +public class DictDataBridgeController { + + @Resource + private DictDataService dictDataService; + + @GetMapping("/type/{dictType}") + @Operation(summary = "根据字典类型查询字典数据信息(兼容旧路径)") + @Parameter(name = "dictType", description = "字典类型", required = true) + @PermitAll + public CommonResult> getDictDataListByType(@PathVariable("dictType") String dictType) { + List list = dictDataService.getDictDataList(CommonStatusEnum.ENABLE.getStatus(), dictType); + return success(BeanUtils.toBean(list, AppDictDataRespVO.class)); + } +} \ No newline at end of file