diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/controller/BusMachineryController.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/controller/BusMachineryController.java new file mode 100644 index 00000000..7211fc96 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/controller/BusMachineryController.java @@ -0,0 +1,107 @@ +package org.dromara.machinery.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import lombok.RequiredArgsConstructor; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.web.core.BaseController; +import org.dromara.machinery.domain.req.machinery.MachineryCreateReq; +import org.dromara.machinery.domain.req.machinery.MachineryQueryReq; +import org.dromara.machinery.domain.req.machinery.MachineryUpdateReq; +import org.dromara.machinery.domain.vo.BusMachineryVo; +import org.dromara.machinery.service.IBusMachineryService; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 机械 + * + * @author lcj + * @date 2025-03-07 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/machinery/machinery") +public class BusMachineryController extends BaseController { + + private final IBusMachineryService busMachineryService; + + /** + * 查询机械列表 + */ + @SaCheckPermission("machinery:machinery:list") + @GetMapping("/list") + public Page list(MachineryQueryReq req) { + return busMachineryService.queryPageList(req); + } + + /** + * 导出机械列表 + */ + @SaCheckPermission("machinery:machinery:export") + @Log(title = "机械", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(MachineryQueryReq req, HttpServletResponse response) { + List list = busMachineryService.queryList(req); + ExcelUtil.exportExcel(list, "机械", BusMachineryVo.class, response); + } + + /** + * 获取机械详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("machinery:machinery:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(busMachineryService.queryById(id)); + } + + /** + * 新增机械 + */ + @SaCheckPermission("machinery:machinery:add") + @Log(title = "机械", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody MachineryCreateReq req) { + return R.ok(busMachineryService.insertByBo(req)); + } + + /** + * 修改机械 + */ + @SaCheckPermission("machinery:machinery:edit") + @Log(title = "机械", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody MachineryUpdateReq req) { + return toAjax(busMachineryService.updateByBo(req)); + } + + /** + * 删除机械 + * + * @param ids 主键串 + */ + @SaCheckPermission("machinery:machinery:remove") + @Log(title = "机械", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(busMachineryService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/controller/BusMachineryDetailController.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/controller/BusMachineryDetailController.java new file mode 100644 index 00000000..f04bc1b3 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/controller/BusMachineryDetailController.java @@ -0,0 +1,107 @@ +package org.dromara.machinery.controller; + +import cn.dev33.satoken.annotation.SaCheckPermission; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import lombok.RequiredArgsConstructor; +import org.dromara.common.core.domain.R; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.web.core.BaseController; +import org.dromara.machinery.domain.req.machinerydetail.MachineryDetailCreateReq; +import org.dromara.machinery.domain.req.machinerydetail.MachineryDetailQueryReq; +import org.dromara.machinery.domain.req.machinerydetail.MachineryDetailUpdateReq; +import org.dromara.machinery.domain.vo.BusMachineryDetailVo; +import org.dromara.machinery.service.IBusMachineryDetailService; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 机械详情 + * + * @author lcj + * @date 2025-03-07 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/machinery/machineryDetail") +public class BusMachineryDetailController extends BaseController { + + private final IBusMachineryDetailService busMachineryDetailService; + + /** + * 查询机械详情列表 + */ + @SaCheckPermission("machinery:machineryDetail:list") + @GetMapping("/list") + public Page list(MachineryDetailQueryReq req) { + return busMachineryDetailService.queryPageList(req); + } + + /** + * 导出机械详情列表 + */ + @SaCheckPermission("machinery:machineryDetail:export") + @Log(title = "机械详情", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(MachineryDetailQueryReq req, HttpServletResponse response) { + List list = busMachineryDetailService.queryList(req); + ExcelUtil.exportExcel(list, "机械详情", BusMachineryDetailVo.class, response); + } + + /** + * 获取机械详情详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("machinery:machineryDetail:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long id) { + return R.ok(busMachineryDetailService.queryById(id)); + } + + /** + * 新增机械详情 + */ + @SaCheckPermission("machinery:machineryDetail:add") + @Log(title = "机械详情", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody MachineryDetailCreateReq req) { + return R.ok(busMachineryDetailService.insertByBo(req)); + } + + /** + * 修改机械详情 + */ + @SaCheckPermission("machinery:machineryDetail:edit") + @Log(title = "机械详情", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody MachineryDetailUpdateReq req) { + return toAjax(busMachineryDetailService.updateByBo(req)); + } + + /** + * 删除机械详情 + * + * @param ids 主键串 + */ + @SaCheckPermission("machinery:machineryDetail:remove") + @Log(title = "机械详情", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] ids) { + return toAjax(busMachineryDetailService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/BusMachinery.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/BusMachinery.java new file mode 100644 index 00000000..e4a009d1 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/BusMachinery.java @@ -0,0 +1,75 @@ +package org.dromara.machinery.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.mybatis.core.domain.BaseEntity; + +import java.io.Serial; +import java.util.Date; + +/** + * 机械对象 bus_machinery + * + * @author lcj + * @date 2025-03-07 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("bus_machinery") +public class BusMachinery extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + @TableId(value = "id") + private Long id; + + /** + * 机械名称 + */ + private String machineryName; + + /** + * 机械型号 + */ + private String machineryNumber; + + /** + * 项目id + */ + private Long projectId; + + /** + * 数量 + */ + private Long number; + + /** + * 负责人 + */ + private String principal; + + /** + * 备注 + */ + private String remark; + + /** + * 删除时间 + */ + private Date deletedAt; + + /** + * 是否删除(0正常 1删除) + */ + @TableLogic + private Long isDelete; + + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/BusMachineryDetail.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/BusMachineryDetail.java new file mode 100644 index 00000000..37a99336 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/BusMachineryDetail.java @@ -0,0 +1,89 @@ +package org.dromara.machinery.domain; + +import org.dromara.common.mybatis.core.domain.BaseEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; + +import java.io.Serial; + +/** + * 机械详情对象 bus_machinery_detail + * + * @author lcj + * @date 2025-03-07 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("bus_machinery_detail") +public class BusMachineryDetail extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + @TableId(value = "id") + private Long id; + + /** + * 检验证编号 + */ + private String checkoutNumber; + + /** + * 检验单位 + */ + private String checkoutUnit; + + /** + * 检定日期/有效期 + */ + private String checkoutDate; + + /** + * 施工类型状态(0正常 1停用) + */ + private Long status; + + /** + * 0入场 1出场 + */ + private Long type; + + /** + * 入场时间 + */ + private Date entryTime; + + /** + * 备注 + */ + private String remark; + + /** + * 图片(英文逗号分隔) + */ + private String picture; + + /** + * 机械主键id + */ + private Long machineryId; + + /** + * 删除时间 + */ + private Date deletedAt; + + /** + * 是否删除(0正常 1删除) + */ + @TableLogic + private Long isDelete; + + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/bo/BusContractorBo.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/bo/BusMachineryBo.java similarity index 62% rename from RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/bo/BusContractorBo.java rename to RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/bo/BusMachineryBo.java index 73140c28..b004a0ab 100644 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/bo/BusContractorBo.java +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/bo/BusMachineryBo.java @@ -1,6 +1,6 @@ -package org.dromara.project.domain.bo; +package org.dromara.machinery.domain.bo; -import org.dromara.project.domain.BusContractor; +import org.dromara.machinery.domain.BusMachinery; import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.common.core.validate.AddGroup; import org.dromara.common.core.validate.EditGroup; @@ -12,15 +12,15 @@ import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; /** - * 分包单位业务对象 bus_contractor + * 机械业务对象 bus_machinery * * @author lcj * @date 2025-03-07 */ @Data @EqualsAndHashCode(callSuper = true) -@AutoMapper(target = BusContractor.class, reverseConvertGenerate = false) -public class BusContractorBo extends BaseEntity { +@AutoMapper(target = BusMachinery.class, reverseConvertGenerate = false) +public class BusMachineryBo extends BaseEntity { /** * 主键id @@ -29,30 +29,30 @@ public class BusContractorBo extends BaseEntity { private Long id; /** - * 公司名称 + * 机械名称 */ - private String name; + private String machineryName; + + /** + * 机械型号 + */ + private String machineryNumber; + + /** + * 项目id + */ + private Long projectId; + + /** + * 数量 + */ + private Long number; /** * 负责人 */ private String principal; - /** - * 负责人联系电话 - */ - private String principalPhone; - - /** - * 管理人 - */ - private String custodian; - - /** - * 管理人联系电话 - */ - private String custodianPhone; - /** * 备注 */ diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/bo/BusMachineryDetailBo.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/bo/BusMachineryDetailBo.java new file mode 100644 index 00000000..daf9102d --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/bo/BusMachineryDetailBo.java @@ -0,0 +1,77 @@ +package org.dromara.machinery.domain.bo; + +import org.dromara.machinery.domain.BusMachineryDetail; +import org.dromara.common.mybatis.core.domain.BaseEntity; +import org.dromara.common.core.validate.AddGroup; +import org.dromara.common.core.validate.EditGroup; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import lombok.EqualsAndHashCode; +import jakarta.validation.constraints.*; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; + +/** + * 机械详情业务对象 bus_machinery_detail + * + * @author lcj + * @date 2025-03-07 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = BusMachineryDetail.class, reverseConvertGenerate = false) +public class BusMachineryDetailBo extends BaseEntity { + + /** + * 主键id + */ + @NotNull(message = "主键id不能为空", groups = { EditGroup.class }) + private Long id; + + /** + * 检验证编号 + */ + private String checkoutNumber; + + /** + * 检验单位 + */ + private String checkoutUnit; + + /** + * 检定日期/有效期 + */ + private String checkoutDate; + + /** + * 施工类型状态(0正常 1停用) + */ + private Long status; + + /** + * 0入场 1出场 + */ + private Long type; + + /** + * 入场时间 + */ + private Date entryTime; + + /** + * 备注 + */ + private String remark; + + /** + * 图片(英文逗号分隔) + */ + private String picture; + + /** + * 机械主键id + */ + private Long machineryId; + + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/req/machinery/MachineryCreateReq.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/req/machinery/MachineryCreateReq.java new file mode 100644 index 00000000..8181aa46 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/req/machinery/MachineryCreateReq.java @@ -0,0 +1,48 @@ +package org.dromara.machinery.domain.req.machinery; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + +/** + * @author lcj + * @date 2025/3/5 14:05 + */ +@Data +public class MachineryCreateReq implements Serializable { + + @Serial + private static final long serialVersionUID = -7603153089205421154L; + + /** + * 机械名称 + */ + private String machineryName; + + /** + * 机械型号 + */ + private String machineryNumber; + + /** + * 项目id + */ + private Long projectId; + + /** + * 数量 + */ + private Long number; + + /** + * 负责人 + */ + private String principal; + + /** + * 备注 + */ + private String remark; + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/req/machinery/MachineryQueryReq.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/req/machinery/MachineryQueryReq.java new file mode 100644 index 00000000..38f7e24f --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/req/machinery/MachineryQueryReq.java @@ -0,0 +1,56 @@ +package org.dromara.machinery.domain.req.machinery; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.core.common.PageRequest; + +import java.io.Serial; +import java.io.Serializable; + +/** + * @author lcj + * @date 2025/3/5 14:31 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class MachineryQueryReq extends PageRequest implements Serializable { + + @Serial + private static final long serialVersionUID = 3252651952758479341L; + + /** + * 主键id + */ + private Long id; + + /** + * 机械名称 + */ + private String machineryName; + + /** + * 机械型号 + */ + private String machineryNumber; + + /** + * 项目id + */ + private Long projectId; + + /** + * 数量 + */ + private Long number; + + /** + * 负责人 + */ + private String principal; + + /** + * 备注 + */ + private String remark; + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/req/machinery/MachineryUpdateReq.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/req/machinery/MachineryUpdateReq.java new file mode 100644 index 00000000..c9e3da8d --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/req/machinery/MachineryUpdateReq.java @@ -0,0 +1,53 @@ +package org.dromara.machinery.domain.req.machinery; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + +/** + * @author lcj + * @date 2025/3/5 15:04 + */ +@Data +public class MachineryUpdateReq implements Serializable { + + @Serial + private static final long serialVersionUID = -8022860866890925958L; + + /** + * 主键id + */ + private Long id; + + /** + * 机械名称 + */ + private String machineryName; + + /** + * 机械型号 + */ + private String machineryNumber; + + /** + * 项目id + */ + private Long projectId; + + /** + * 数量 + */ + private Long number; + + /** + * 负责人 + */ + private String principal; + + /** + * 备注 + */ + private String remark; + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/req/machinerydetail/MachineryDetailCreateReq.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/req/machinerydetail/MachineryDetailCreateReq.java new file mode 100644 index 00000000..a942e7a3 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/req/machinerydetail/MachineryDetailCreateReq.java @@ -0,0 +1,64 @@ +package org.dromara.machinery.domain.req.machinerydetail; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + +/** + * @author lcj + * @date 2025/3/5 14:05 + */ +@Data +public class MachineryDetailCreateReq implements Serializable { + + @Serial + private static final long serialVersionUID = -7603153089205421154L; + + /** + * 检验证编号 + */ + private String checkoutNumber; + + /** + * 检验单位 + */ + private String checkoutUnit; + + /** + * 检定日期/有效期 + */ + private String checkoutDate; + + /** + * 施工类型状态(0正常 1停用) + */ + private Long status; + + /** + * 0入场 1出场 + */ + private Long type; + + /** + * 入场时间 + */ + private Date entryTime; + + /** + * 备注 + */ + private String remark; + + /** + * 图片(英文逗号分隔) + */ + private String picture; + + /** + * 机械主键id + */ + private Long machineryId; + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/req/machinerydetail/MachineryDetailQueryReq.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/req/machinerydetail/MachineryDetailQueryReq.java new file mode 100644 index 00000000..7d046d0c --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/req/machinerydetail/MachineryDetailQueryReq.java @@ -0,0 +1,67 @@ +package org.dromara.machinery.domain.req.machinerydetail; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.dromara.common.core.common.PageRequest; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + +/** + * @author lcj + * @date 2025/3/5 14:31 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class MachineryDetailQueryReq extends PageRequest implements Serializable { + + @Serial + private static final long serialVersionUID = 3252651952758479341L; + + /** + * 主键id + */ + private Long id; + + /** + * 检验证编号 + */ + private String checkoutNumber; + + /** + * 检验单位 + */ + private String checkoutUnit; + + /** + * 检定日期/有效期 + */ + private String checkoutDate; + + /** + * 施工类型状态(0正常 1停用) + */ + private Long status; + + /** + * 0入场 1出场 + */ + private Long type; + + /** + * 入场时间 + */ + private Date entryTime; + + /** + * 备注 + */ + private String remark; + + /** + * 机械主键id + */ + private Long machineryId; + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/req/machinerydetail/MachineryDetailUpdateReq.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/req/machinerydetail/MachineryDetailUpdateReq.java new file mode 100644 index 00000000..627c2379 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/req/machinerydetail/MachineryDetailUpdateReq.java @@ -0,0 +1,69 @@ +package org.dromara.machinery.domain.req.machinerydetail; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + +/** + * @author lcj + * @date 2025/3/5 15:04 + */ +@Data +public class MachineryDetailUpdateReq implements Serializable { + + @Serial + private static final long serialVersionUID = -8022860866890925958L; + + /** + * 主键id + */ + private Long id; + + /** + * 检验证编号 + */ + private String checkoutNumber; + + /** + * 检验单位 + */ + private String checkoutUnit; + + /** + * 检定日期/有效期 + */ + private String checkoutDate; + + /** + * 施工类型状态(0正常 1停用) + */ + private Long status; + + /** + * 0入场 1出场 + */ + private Long type; + + /** + * 入场时间 + */ + private Date entryTime; + + /** + * 备注 + */ + private String remark; + + /** + * 图片(英文逗号分隔) + */ + private String picture; + + /** + * 机械主键id + */ + private Long machineryId; + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/vo/BusMachineryDetailVo.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/vo/BusMachineryDetailVo.java new file mode 100644 index 00000000..2e24b710 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/vo/BusMachineryDetailVo.java @@ -0,0 +1,92 @@ +package org.dromara.machinery.domain.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import org.dromara.machinery.domain.BusMachineryDetail; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * 机械详情视图对象 bus_machinery_detail + * + * @author lcj + * @date 2025-03-07 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = BusMachineryDetail.class) +public class BusMachineryDetailVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + @ExcelProperty(value = "主键id") + private Long id; + + /** + * 检验证编号 + */ + @ExcelProperty(value = "检验证编号") + private String checkoutNumber; + + /** + * 检验单位 + */ + @ExcelProperty(value = "检验单位") + private String checkoutUnit; + + /** + * 检定日期/有效期 + */ + @ExcelProperty(value = "检定日期/有效期") + private String checkoutDate; + + /** + * 施工类型状态(0正常 1停用) + */ + @ExcelProperty(value = "施工类型状态", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "0=正常,1=停用") + private Long status; + + /** + * 0入场 1出场 + */ + @ExcelProperty(value = "0入场 1出场") + private Long type; + + /** + * 入场时间 + */ + @ExcelProperty(value = "入场时间") + private Date entryTime; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + /** + * 图片(英文逗号分隔) + */ + @ExcelProperty(value = "图片(英文逗号分隔)") + private String picture; + + /** + * 机械主键id + */ + @ExcelProperty(value = "机械主键id") + private Long machineryId; + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/vo/BusMachineryVo.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/vo/BusMachineryVo.java new file mode 100644 index 00000000..00102abd --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/domain/vo/BusMachineryVo.java @@ -0,0 +1,71 @@ +package org.dromara.machinery.domain.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; +import org.dromara.machinery.domain.BusMachinery; + +import java.io.Serial; +import java.io.Serializable; + + + +/** + * 机械视图对象 bus_machinery + * + * @author lcj + * @date 2025-03-07 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = BusMachinery.class) +public class BusMachineryVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + @ExcelProperty(value = "主键id") + private Long id; + + /** + * 机械名称 + */ + @ExcelProperty(value = "机械名称") + private String machineryName; + + /** + * 机械型号 + */ + @ExcelProperty(value = "机械型号") + private String machineryNumber; + + /** + * 项目id + */ + @ExcelProperty(value = "项目id") + private Long projectId; + + /** + * 数量 + */ + @ExcelProperty(value = "数量") + private Long number; + + /** + * 负责人 + */ + @ExcelProperty(value = "负责人") + private String principal; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/mapper/BusMachineryDetailMapper.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/mapper/BusMachineryDetailMapper.java new file mode 100644 index 00000000..1ba12a46 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/mapper/BusMachineryDetailMapper.java @@ -0,0 +1,15 @@ +package org.dromara.machinery.mapper; + +import org.dromara.machinery.domain.BusMachineryDetail; +import org.dromara.machinery.domain.vo.BusMachineryDetailVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 机械详情Mapper接口 + * + * @author lcj + * @date 2025-03-07 + */ +public interface BusMachineryDetailMapper extends BaseMapperPlus { + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/mapper/BusMachineryMapper.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/mapper/BusMachineryMapper.java new file mode 100644 index 00000000..70b82ebf --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/mapper/BusMachineryMapper.java @@ -0,0 +1,15 @@ +package org.dromara.machinery.mapper; + +import org.dromara.machinery.domain.BusMachinery; +import org.dromara.machinery.domain.vo.BusMachineryVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 机械Mapper接口 + * + * @author lcj + * @date 2025-03-07 + */ +public interface BusMachineryMapper extends BaseMapperPlus { + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/service/IBusMachineryDetailService.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/service/IBusMachineryDetailService.java new file mode 100644 index 00000000..8a82a2fb --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/service/IBusMachineryDetailService.java @@ -0,0 +1,95 @@ +package org.dromara.machinery.service; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import org.dromara.machinery.domain.BusMachineryDetail; +import org.dromara.machinery.domain.req.machinerydetail.MachineryDetailCreateReq; +import org.dromara.machinery.domain.req.machinerydetail.MachineryDetailQueryReq; +import org.dromara.machinery.domain.req.machinerydetail.MachineryDetailUpdateReq; +import org.dromara.machinery.domain.vo.BusMachineryDetailVo; + +import java.util.Collection; +import java.util.List; + +/** + * 机械详情Service接口 + * + * @author lcj + * @date 2025-03-07 + */ +public interface IBusMachineryDetailService extends IService { + + /** + * 查询机械详情 + * + * @param id 主键 + * @return 机械详情 + */ + BusMachineryDetailVo queryById(Long id); + + /** + * 分页查询机械详情列表 + * + * @param req 查询条件 + * @return 机械详情分页列表 + */ + Page queryPageList(MachineryDetailQueryReq req); + + /** + * 查询符合条件的机械详情列表 + * + * @param req 查询条件 + * @return 机械详情列表 + */ + List queryList(MachineryDetailQueryReq req); + + /** + * 新增机械详情 + * + * @param req 机械详情 + * @return 是否新增成功 + */ + Long insertByBo(MachineryDetailCreateReq req); + + /** + * 修改机械详情 + * + * @param req 机械详情 + * @return 是否修改成功 + */ + Boolean updateByBo(MachineryDetailUpdateReq req); + + /** + * 校验并批量删除机械详情信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + /** + * 获取机械详情视图对象 + * + * @param machineryDetail 机械详情对象 + * @return 机械详情视图对象 + */ + BusMachineryDetailVo getVo(BusMachineryDetail machineryDetail); + + /** + * 获取机械详情查询条件封装 + * + * @param req 机械详情查询条件 + * @return 机械详情查询条件封装 + */ + QueryWrapper getQueryWrapper(MachineryDetailQueryReq req); + + /** + * 获取机械详情分页对象视图 + * + * @param machineryDetailPage 机械详情分页对象 + * @return 机械详情分页对象视图 + */ + Page getVoPage(Page machineryDetailPage); +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/service/IBusMachineryService.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/service/IBusMachineryService.java new file mode 100644 index 00000000..af765f49 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/service/IBusMachineryService.java @@ -0,0 +1,95 @@ +package org.dromara.machinery.service; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import org.dromara.machinery.domain.BusMachinery; +import org.dromara.machinery.domain.req.machinery.MachineryCreateReq; +import org.dromara.machinery.domain.req.machinery.MachineryQueryReq; +import org.dromara.machinery.domain.req.machinery.MachineryUpdateReq; +import org.dromara.machinery.domain.vo.BusMachineryVo; + +import java.util.Collection; +import java.util.List; + +/** + * 机械Service接口 + * + * @author lcj + * @date 2025-03-07 + */ +public interface IBusMachineryService extends IService { + + /** + * 查询机械 + * + * @param id 主键 + * @return 机械 + */ + BusMachineryVo queryById(Long id); + + /** + * 分页查询机械列表 + * + * @param req 查询条件 + * @return 机械分页列表 + */ + Page queryPageList(MachineryQueryReq req); + + /** + * 查询符合条件的机械列表 + * + * @param req 查询条件 + * @return 机械列表 + */ + List queryList(MachineryQueryReq req); + + /** + * 新增机械 + * + * @param req 机械 + * @return 新增机械id + */ + Long insertByBo(MachineryCreateReq req); + + /** + * 修改机械 + * + * @param req 机械 + * @return 是否修改成功 + */ + Boolean updateByBo(MachineryUpdateReq req); + + /** + * 校验并批量删除机械信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + /** + * 获取机械视图对象 + * + * @param machinery 机械对象 + * @return 机械视图对象 + */ + BusMachineryVo getVo(BusMachinery machinery); + + /** + * 获取机械查询条件封装 + * + * @param req 机械查询条件 + * @return 机械查询条件封装 + */ + QueryWrapper getQueryWrapper(MachineryQueryReq req); + + /** + * 获取机械分页对象视图 + * + * @param machineryPage 机械分页对象 + * @return 机械分页对象视图 + */ + Page getVoPage(Page machineryPage); +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/service/impl/BusMachineryDetailServiceImpl.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/service/impl/BusMachineryDetailServiceImpl.java new file mode 100644 index 00000000..48ec7b09 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/service/impl/BusMachineryDetailServiceImpl.java @@ -0,0 +1,243 @@ +package org.dromara.machinery.service.impl; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import jakarta.annotation.Resource; +import org.dromara.common.core.constant.CommonConstant; +import org.dromara.common.core.constant.HttpStatus; +import org.dromara.common.core.exception.ServiceException; +import org.dromara.common.core.utils.ObjectUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.core.utils.sql.SqlUtil; +import org.dromara.machinery.domain.BusMachineryDetail; +import org.dromara.machinery.domain.req.machinerydetail.MachineryDetailCreateReq; +import org.dromara.machinery.domain.req.machinerydetail.MachineryDetailQueryReq; +import org.dromara.machinery.domain.req.machinerydetail.MachineryDetailUpdateReq; +import org.dromara.machinery.domain.vo.BusMachineryDetailVo; +import org.dromara.machinery.mapper.BusMachineryDetailMapper; +import org.dromara.machinery.service.IBusMachineryDetailService; +import org.dromara.machinery.service.IBusMachineryService; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collection; +import java.util.Date; +import java.util.List; + +/** + * 机械详情Service业务层处理 + * + * @author lcj + * @date 2025-03-07 + */ +@Service +public class BusMachineryDetailServiceImpl extends ServiceImpl + implements IBusMachineryDetailService { + + @Resource + private IBusMachineryService machineryService; + + /** + * 查询机械详情 + * + * @param id 主键 + * @return 机械详情 + */ + @Override + public BusMachineryDetailVo queryById(Long id) { + BusMachineryDetail machineryDetail = this.getById(id); + if (machineryDetail == null) { + throw new ServiceException("机械详情信息不存在", HttpStatus.NOT_FOUND); + } + return this.getVo(machineryDetail); + } + + /** + * 分页查询机械详情列表 + * + * @param req 查询条件 + * @return 机械详情分页列表 + */ + @Override + public Page queryPageList(MachineryDetailQueryReq req) { + long current = req.getCurrent(); + long size = req.getPageSize(); + // 查询数据库 + Page result = this.page(new Page<>(current, size), this.getQueryWrapper(req)); + return this.getVoPage(result); + } + + /** + * 查询符合条件的机械详情列表 + * + * @param req 查询条件 + * @return 机械详情列表 + */ + @Override + public List queryList(MachineryDetailQueryReq req) { + QueryWrapper queryWrapper = this.getQueryWrapper(req); + List list = this.list(queryWrapper); + return list.stream().map(this::getVo).toList(); + } + + /** + * 新增机械详情 + * + * @param req 机械详情 + * @return 是否新增成功 + */ + @Override + public Long insertByBo(MachineryDetailCreateReq req) { + // 将实体类和 DTO 进行转换 + BusMachineryDetail machineryDetail = new BusMachineryDetail(); + BeanUtils.copyProperties(req, machineryDetail); + // 数据校验 + validEntityBeforeSave(machineryDetail); + // 操作数据库 + boolean save = this.save(machineryDetail); + if (!save) { + throw new ServiceException("新增机械详情失败,数据库异常", HttpStatus.ERROR); + } + return machineryDetail.getId(); + } + + /** + * 修改机械详情 + * + * @param req 机械详情 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(MachineryDetailUpdateReq req) { + // 将实体类和 DTO 进行转换 + BusMachineryDetail machineryDetail = new BusMachineryDetail(); + BeanUtils.copyProperties(req, machineryDetail); + // 数据校验 + validEntityBeforeSave(machineryDetail); + // 判断是否存在 + BusMachineryDetail oldMachineryDetail = this.getById(machineryDetail.getId()); + if (oldMachineryDetail == null) { + throw new ServiceException("修改机械详情失败,数据不存在", HttpStatus.NOT_FOUND); + } + // 操作数据库 + return this.updateById(machineryDetail); + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(BusMachineryDetail entity) { + // TODO 做一些数据校验,如唯一约束 + Long machineryId = entity.getMachineryId(); + if (machineryId == null) { + throw new ServiceException("机械 id 不能为空", HttpStatus.BAD_REQUEST); + } + if (machineryService.getById(machineryId) == null) { + throw new ServiceException("对应机械不存在", HttpStatus.BAD_REQUEST); + } + Long type = entity.getType(); + if (type == null) { + throw new ServiceException("请选择入场/出场", HttpStatus.BAD_REQUEST); + } + } + + /** + * 校验并批量删除机械详情信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if (isValid) { + // TODO 做一些业务上的校验,判断是否需要校验 + } + return this.removeBatchByIds(ids); + } + + /** + * 获取机械详情视图对象 + * + * @param machineryDetail 机械详情对象 + * @return 机械详情视图对象 + */ + @Override + public BusMachineryDetailVo getVo(BusMachineryDetail machineryDetail) {// 对象转封装类 + BusMachineryDetailVo machineryDetailVo = new BusMachineryDetailVo(); + if (machineryDetail == null) { + return machineryDetailVo; + } + BeanUtils.copyProperties(machineryDetail, machineryDetailVo); + return machineryDetailVo; + } + + /** + * 获取机械详情查询条件封装 + * + * @param req 机械详情查询条件 + * @return 机械详情查询条件封装 + */ + @Override + public QueryWrapper getQueryWrapper(MachineryDetailQueryReq req) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + if (req == null) { + return queryWrapper; + } + // 从对象中取值 + Long id = req.getId(); + String checkoutNumber = req.getCheckoutNumber(); + String checkoutUnit = req.getCheckoutUnit(); + String checkoutDate = req.getCheckoutDate(); + Long status = req.getStatus(); + Long type = req.getType(); + Date entryTime = req.getEntryTime(); + String remark = req.getRemark(); + Long machineryId = req.getMachineryId(); + String sortField = req.getSortField(); + String sortOrder = req.getSortOrder(); + String underlineSortField = StrUtil.toUnderlineCase(sortField); + // 模糊查询 + queryWrapper.like(StringUtils.isNotBlank(checkoutNumber), "checkout_number", checkoutNumber); + queryWrapper.like(StringUtils.isNotBlank(checkoutUnit), "checkout_unit", checkoutUnit); + queryWrapper.like(StringUtils.isNotBlank(checkoutDate), "checkout_date", checkoutDate); + queryWrapper.like(StringUtils.isNotBlank(remark), "remark", remark); + // 精确查询 + queryWrapper.eq(ObjectUtils.isNotEmpty(id), "id", id); + queryWrapper.eq(ObjectUtils.isNotEmpty(status), "status", status); + queryWrapper.eq(ObjectUtils.isNotEmpty(type), "type", type); + queryWrapper.eq(ObjectUtils.isNotEmpty(entryTime), "entryTime", entryTime); + queryWrapper.eq(ObjectUtils.isNotEmpty(machineryId), "machinery_id", machineryId); + // 排序规则 + queryWrapper.orderBy(SqlUtil.validSortField(sortField), + sortOrder.equals(CommonConstant.SORT_ORDER_ASC), + underlineSortField); + return queryWrapper; + } + + /** + * 获取机械详情分页对象视图 + * + * @param machineryDetailPage 机械详情分页对象 + * @return 机械详情分页对象视图 + */ + @Override + public Page getVoPage(Page machineryDetailPage) { + List machineryDetailList = machineryDetailPage.getRecords(); + Page machineryDetailVoPage = new Page<>( + machineryDetailPage.getCurrent(), + machineryDetailPage.getSize(), + machineryDetailPage.getTotal()); + if (CollUtil.isEmpty(machineryDetailList)) { + return machineryDetailVoPage; + } + List machineryDetailVoList = machineryDetailList.stream().map(this::getVo).toList(); + machineryDetailVoPage.setRecords(machineryDetailVoList); + return machineryDetailVoPage; + } +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/service/impl/BusMachineryServiceImpl.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/service/impl/BusMachineryServiceImpl.java new file mode 100644 index 00000000..78f7933d --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/machinery/service/impl/BusMachineryServiceImpl.java @@ -0,0 +1,239 @@ +package org.dromara.machinery.service.impl; + +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import jakarta.annotation.Resource; +import org.dromara.common.core.constant.CommonConstant; +import org.dromara.common.core.constant.HttpStatus; +import org.dromara.common.core.exception.ServiceException; +import org.dromara.common.core.utils.ObjectUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.core.utils.sql.SqlUtil; +import org.dromara.machinery.domain.BusMachinery; +import org.dromara.machinery.domain.req.machinery.MachineryCreateReq; +import org.dromara.machinery.domain.req.machinery.MachineryQueryReq; +import org.dromara.machinery.domain.req.machinery.MachineryUpdateReq; +import org.dromara.machinery.domain.vo.BusMachineryVo; +import org.dromara.machinery.mapper.BusMachineryMapper; +import org.dromara.machinery.service.IBusMachineryService; +import org.dromara.project.service.IBusProjectService; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Collection; +import java.util.List; + +/** + * 机械Service业务层处理 + * + * @author lcj + * @date 2025-03-07 + */ +@Service +public class BusMachineryServiceImpl extends ServiceImpl + implements IBusMachineryService { + + @Resource + private IBusProjectService projectService; + + /** + * 查询机械 + * + * @param id 主键 + * @return 机械 + */ + @Override + public BusMachineryVo queryById(Long id) { + BusMachinery machinery = this.getById(id); + if (machinery == null) { + throw new ServiceException("机械信息不存在", HttpStatus.NOT_FOUND); + } + return this.getVo(machinery); + } + + /** + * 分页查询机械列表 + * + * @param req 查询条件 + * @return 机械分页列表 + */ + @Override + public Page queryPageList(MachineryQueryReq req) { + long current = req.getCurrent(); + long size = req.getPageSize(); + // 查询数据库 + Page result = this.page(new Page<>(current, size), this.getQueryWrapper(req)); + return this.getVoPage(result); + } + + /** + * 查询符合条件的机械列表 + * + * @param req 查询条件 + * @return 机械列表 + */ + @Override + public List queryList(MachineryQueryReq req) { + QueryWrapper queryWrapper = this.getQueryWrapper(req); + List list = this.list(queryWrapper); + return list.stream().map(this::getVo).toList(); + } + + /** + * 新增机械 + * + * @param req 机械 + * @return 是否新增成功 + */ + @Override + public Long insertByBo(MachineryCreateReq req) { + // 将实体类和 DTO 进行转换 + BusMachinery machinery = new BusMachinery(); + BeanUtils.copyProperties(req, machinery); + // 数据校验 + validEntityBeforeSave(machinery); + // 操作数据库 + boolean save = this.save(machinery); + if (!save) { + throw new ServiceException("新增机械失败,数据库异常", HttpStatus.ERROR); + } + return machinery.getId(); + } + + /** + * 修改机械 + * + * @param req 机械 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(MachineryUpdateReq req) { + // 将实体类和 DTO 进行转换 + BusMachinery machinery = new BusMachinery(); + BeanUtils.copyProperties(req, machinery); + // 数据校验 + validEntityBeforeSave(machinery); + // 判断是否存在 + BusMachinery oldMachinery = this.getById(machinery.getId()); + if (oldMachinery == null) { + throw new ServiceException("修改机械失败,数据不存在", HttpStatus.NOT_FOUND); + } + // 操作数据库 + return this.updateById(machinery); + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(BusMachinery entity) { + // TODO 做一些数据校验,如唯一约束 + Long projectId = entity.getProjectId(); + if (projectId == null) { + throw new ServiceException("项目 id 不能为空", HttpStatus.BAD_REQUEST); + } + if (projectService.getById(projectId) == null) { + throw new ServiceException("对应项目不存在", HttpStatus.NOT_FOUND); + } + String machineryName = entity.getMachineryName(); + if (StrUtil.isBlank(machineryName)) { + throw new ServiceException("机械名称不能为空", HttpStatus.BAD_REQUEST); + } + } + + /** + * 校验并批量删除机械信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if (isValid) { + // TODO 做一些业务上的校验,判断是否需要校验 + } + return this.removeBatchByIds(ids); + } + + /** + * 获取机械视图对象 + * + * @param machinery 机械对象 + * @return 机械视图对象 + */ + @Override + public BusMachineryVo getVo(BusMachinery machinery) { + // 对象转封装类 + BusMachineryVo machineryVo = new BusMachineryVo(); + if (machinery == null) { + return machineryVo; + } + BeanUtils.copyProperties(machinery, machineryVo); + return machineryVo; + } + + /** + * 获取机械查询条件封装 + * + * @param req 机械查询条件 + * @return 机械查询条件封装 + */ + @Override + public QueryWrapper getQueryWrapper(MachineryQueryReq req) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + if (req == null) { + return queryWrapper; + } + // 从对象中取值 + Long id = req.getId(); + String machineryName = req.getMachineryName(); + String machineryNumber = req.getMachineryNumber(); + Long projectId = req.getProjectId(); + Long number = req.getNumber(); + String principal = req.getPrincipal(); + String remark = req.getRemark(); + String sortField = req.getSortField(); + String sortOrder = req.getSortOrder(); + String underlineSortField = StrUtil.toUnderlineCase(sortField); + // 模糊查询 + queryWrapper.like(StringUtils.isNotBlank(machineryName), "machinery_name", machineryName); + queryWrapper.like(StringUtils.isNotBlank(principal), "principal", principal); + queryWrapper.like(StringUtils.isNotBlank(machineryNumber), "machinery_number", machineryNumber); + queryWrapper.like(StringUtils.isNotBlank(remark), "remark", remark); + // 精确查询 + queryWrapper.eq(ObjectUtils.isNotEmpty(id), "id", id); + queryWrapper.eq(ObjectUtils.isNotEmpty(projectId), "project_id", projectId); + queryWrapper.eq(ObjectUtils.isNotEmpty(number), "number", number); + // 排序规则 + queryWrapper.orderBy(SqlUtil.validSortField(sortField), + sortOrder.equals(CommonConstant.SORT_ORDER_ASC), + underlineSortField); + return queryWrapper; + } + + /** + * 获取机械分页对象视图 + * + * @param machineryPage 机械分页对象 + * @return 机械分页对象视图 + */ + @Override + public Page getVoPage(Page machineryPage) { + List machineryList = machineryPage.getRecords(); + Page machineryVoPage = new Page<>( + machineryPage.getCurrent(), + machineryPage.getSize(), + machineryPage.getTotal()); + if (CollUtil.isEmpty(machineryList)) { + return machineryVoPage; + } + List machineryVoList = machineryList.stream().map(this::getVo).toList(); + machineryVoPage.setRecords(machineryVoList); + return machineryVoPage; + } +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/service/impl/BusCompanyServiceImpl.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/service/impl/BusCompanyServiceImpl.java index 75e6ed5e..0ded0047 100644 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/service/impl/BusCompanyServiceImpl.java +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/service/impl/BusCompanyServiceImpl.java @@ -20,7 +20,7 @@ import org.dromara.materials.domain.req.company.CompanyUpdateReq; import org.dromara.materials.domain.vo.BusCompanyVo; import org.dromara.materials.mapper.BusCompanyMapper; import org.dromara.materials.service.IBusCompanyService; -import org.dromara.project.service.IProjectService; +import org.dromara.project.service.IBusProjectService; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -41,7 +41,7 @@ public class BusCompanyServiceImpl extends ServiceImpl list(ProjectQueryReq req) { + public Page list(ProjectQueryReq req) { return projectService.queryPageList(req); } @@ -56,8 +56,8 @@ public class ProjectController extends BaseController { @Log(title = "项目", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(ProjectQueryReq req, HttpServletResponse response) { - List list = projectService.queryList(req); - ExcelUtil.exportExcel(list, "项目", ProjectVo.class, response); + List list = projectService.queryList(req); + ExcelUtil.exportExcel(list, "项目", BusProjectVo.class, response); } /** @@ -67,7 +67,7 @@ public class ProjectController extends BaseController { */ @SaCheckPermission("project:project:query") @GetMapping("/{id}") - public R getInfo(@NotNull(message = "主键不能为空") + public R getInfo(@NotNull(message = "主键不能为空") @PathVariable Long id) { return R.ok(projectService.queryById(id)); } diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/UserProjectRelevancyController.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/BusUserProjectRelevancyController.java similarity index 88% rename from RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/UserProjectRelevancyController.java rename to RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/BusUserProjectRelevancyController.java index 8a8a91cc..db39e3e8 100644 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/UserProjectRelevancyController.java +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/controller/BusUserProjectRelevancyController.java @@ -17,14 +17,14 @@ import org.dromara.common.log.annotation.Log; import org.dromara.common.log.enums.BusinessType; import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.common.web.core.BaseController; -import org.dromara.project.domain.UserProjectRelevancy; +import org.dromara.project.domain.BusUserProjectRelevancy; import org.dromara.project.domain.req.project.ProjectBatchByProjectListReq; import org.dromara.project.domain.req.userprojectrelevancy.UserProjectRelevancyCreateReq; import org.dromara.project.domain.req.userprojectrelevancy.UserProjectRelevancyQueryReq; import org.dromara.project.domain.req.userprojectrelevancy.UserProjectRelevancyUpdateReq; import org.dromara.project.domain.resp.userprojectrelevancy.LoginUserProjectRelevancyResp; -import org.dromara.project.domain.vo.UserProjectRelevancyVo; -import org.dromara.project.service.IUserProjectRelevancyService; +import org.dromara.project.domain.vo.BusUserProjectRelevancyVo; +import org.dromara.project.service.IBusUserProjectRelevancyService; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -40,9 +40,9 @@ import java.util.List; @RequiredArgsConstructor @RestController @RequestMapping("/project/projectRelevancy") -public class UserProjectRelevancyController extends BaseController { +public class BusUserProjectRelevancyController extends BaseController { - private final IUserProjectRelevancyService userProjectRelevancyService; + private final IBusUserProjectRelevancyService userProjectRelevancyService; /** * 查询系统用户与项目关联列表 @@ -50,7 +50,7 @@ public class UserProjectRelevancyController extends BaseController { @Tag(name = "查询用户与项目关联列表") @SaCheckPermission("project:projectRelevancy:list") @GetMapping("/list") - public Page list(UserProjectRelevancyQueryReq req) { + public Page list(UserProjectRelevancyQueryReq req) { return userProjectRelevancyService.queryPageList(req); } @@ -71,7 +71,7 @@ public class UserProjectRelevancyController extends BaseController { @Tag(name = "查询登录用户与项目关联分页") @SaCheckPermission("project:projectRelevancy:list") @GetMapping("/login/page") - public R> pageByLoginUser(UserProjectRelevancyQueryReq req) { + public R> pageByLoginUser(UserProjectRelevancyQueryReq req) { Long userId = LoginHelper.getUserId(); return R.ok(userProjectRelevancyService.queryPageByUserId(userId, req)); } @@ -84,8 +84,8 @@ public class UserProjectRelevancyController extends BaseController { @Log(title = "系统用户与项目关联", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(UserProjectRelevancyQueryReq req, HttpServletResponse response) { - List list = userProjectRelevancyService.queryList(req); - ExcelUtil.exportExcel(list, "系统用户与项目关联", UserProjectRelevancyVo.class, response); + List list = userProjectRelevancyService.queryList(req); + ExcelUtil.exportExcel(list, "系统用户与项目关联", BusUserProjectRelevancyVo.class, response); } /** @@ -96,7 +96,7 @@ public class UserProjectRelevancyController extends BaseController { @Tag(name = "获取用户与项目关联详细信息") @SaCheckPermission("project:projectRelevancy:query") @GetMapping("/{id}") - public R getInfo(@NotNull(message = "主键不能为空") + public R getInfo(@NotNull(message = "主键不能为空") @PathVariable Long id) { return R.ok(userProjectRelevancyService.queryById(id)); } @@ -137,7 +137,7 @@ public class UserProjectRelevancyController extends BaseController { public R removeBatchByProjectList(@RequestBody ProjectBatchByProjectListReq req) { Long userId = req.getUserId(); Long[] projectIdList = req.getProjectIdList(); - QueryWrapper wrapper = new QueryWrapper<>(); + QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("user_id", userId).in("project_id", (Object[]) projectIdList); boolean result = userProjectRelevancyService.remove(wrapper); /* List userProjectRelevancyList = Arrays.stream(projectIdList).map(projectId -> { diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/BusConstructionUser.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/BusConstructionUser.java index e35bdcd8..2365f233 100644 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/BusConstructionUser.java +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/BusConstructionUser.java @@ -1,13 +1,14 @@ package org.dromara.project.domain; -import org.dromara.common.mybatis.core.domain.BaseEntity; -import com.baomidou.mybatisplus.annotation.*; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; -import java.util.Date; -import com.fasterxml.jackson.annotation.JsonFormat; +import org.dromara.common.mybatis.core.domain.BaseEntity; import java.io.Serial; +import java.util.Date; /** * 施工人员对象 bus_construction_user diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/BusContractor.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/BusContractor.java index 7c8f2f4b..0a3c81f2 100644 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/BusContractor.java +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/BusContractor.java @@ -1,13 +1,14 @@ package org.dromara.project.domain; -import org.dromara.common.mybatis.core.domain.BaseEntity; -import com.baomidou.mybatisplus.annotation.*; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; -import java.util.Date; -import com.fasterxml.jackson.annotation.JsonFormat; +import org.dromara.common.mybatis.core.domain.BaseEntity; import java.io.Serial; +import java.util.Date; /** * 分包单位对象 bus_contractor diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/Project.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/BusProject.java similarity index 96% rename from RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/Project.java rename to RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/BusProject.java index 5e8eafc6..23144fab 100644 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/Project.java +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/BusProject.java @@ -18,8 +18,8 @@ import java.util.Date; */ @Data @EqualsAndHashCode(callSuper = true) -@TableName("project") -public class Project extends BaseEntity { +@TableName("bus_project") +public class BusProject extends BaseEntity { @Serial private static final long serialVersionUID = 1L; diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/BusProjectTeam.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/BusProjectTeam.java index 982c9274..d2d97190 100644 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/BusProjectTeam.java +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/BusProjectTeam.java @@ -1,15 +1,14 @@ package org.dromara.project.domain; -import org.dromara.common.mybatis.core.domain.BaseEntity; -import com.baomidou.mybatisplus.annotation.*; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; - -import java.util.Date; - -import com.fasterxml.jackson.annotation.JsonFormat; +import org.dromara.common.mybatis.core.domain.BaseEntity; import java.io.Serial; +import java.util.Date; /** * 项目班组对象 bus_project_team diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/BusProjectTeamMember.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/BusProjectTeamMember.java index 10fdb60d..4053a772 100644 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/BusProjectTeamMember.java +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/BusProjectTeamMember.java @@ -1,13 +1,13 @@ package org.dromara.project.domain; -import org.dromara.common.mybatis.core.domain.BaseEntity; -import com.baomidou.mybatisplus.annotation.*; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; -import java.util.Date; -import com.fasterxml.jackson.annotation.JsonFormat; +import org.dromara.common.mybatis.core.domain.BaseEntity; import java.io.Serial; +import java.util.Date; /** * 项目班组下的成员对象 bus_project_team_member diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/UserProjectRelevancy.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/BusUserProjectRelevancy.java similarity index 73% rename from RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/UserProjectRelevancy.java rename to RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/BusUserProjectRelevancy.java index f43fb0b1..92b1f115 100644 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/UserProjectRelevancy.java +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/BusUserProjectRelevancy.java @@ -1,11 +1,10 @@ package org.dromara.project.domain; -import org.dromara.common.mybatis.core.domain.BaseEntity; -import com.baomidou.mybatisplus.annotation.*; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import lombok.EqualsAndHashCode; -import java.util.Date; -import com.fasterxml.jackson.annotation.JsonFormat; +import org.dromara.common.mybatis.core.domain.BaseEntity; import java.io.Serial; @@ -17,8 +16,8 @@ import java.io.Serial; */ @Data @EqualsAndHashCode(callSuper = true) -@TableName("user_project_relevancy") -public class UserProjectRelevancy extends BaseEntity { +@TableName("bus_user_project_relevancy") +public class BusUserProjectRelevancy extends BaseEntity { @Serial private static final long serialVersionUID = 1L; diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/bo/BusConstructionUserBo.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/bo/BusConstructionUserBo.java deleted file mode 100644 index 69052b40..00000000 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/bo/BusConstructionUserBo.java +++ /dev/null @@ -1,169 +0,0 @@ -package org.dromara.project.domain.bo; - -import org.dromara.project.domain.BusConstructionUser; -import org.dromara.common.mybatis.core.domain.BaseEntity; -import org.dromara.common.core.validate.AddGroup; -import org.dromara.common.core.validate.EditGroup; -import io.github.linpeilie.annotations.AutoMapper; -import lombok.Data; -import lombok.EqualsAndHashCode; -import jakarta.validation.constraints.*; -import java.util.Date; -import com.fasterxml.jackson.annotation.JsonFormat; - -/** - * 施工人员业务对象 bus_construction_user - * - * @author lcj - * @date 2025-03-07 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@AutoMapper(target = BusConstructionUser.class, reverseConvertGenerate = false) -public class BusConstructionUserBo extends BaseEntity { - - /** - * 主键id - */ - @NotNull(message = "主键id不能为空", groups = { EditGroup.class }) - private Long id; - - /** - * 微信id - */ - private String openid; - - /** - * 微信名称 - */ - private String nickName; - - /** - * 人脸照 - */ - private String pacePhoto; - - /** - * 人员姓名 - */ - private String userName; - - /** - * 项目id - */ - private Long projectId; - - /** - * 分包公司id - */ - private Long contractorId; - - /** - * 班组id - */ - private Long teamId; - - /** - * 状态(0在职 1离职) - */ - private Long status; - - /** - * 是否代打 - */ - private Long isPinch; - - /** - * 联系电话 - */ - private String phone; - - /** - * 0:保密 1:男 2女 - */ - @NotNull(message = "0:保密 1:男 2女不能为空", groups = { AddGroup.class, EditGroup.class }) - private Long sex; - - /** - * 民族 - */ - private String nation; - - /** - * 身份证号码 - */ - private String sfzNumber; - - /** - * 身份证有效开始期 - */ - private String sfzStart; - - /** - * 身份证有效结束期 - */ - private String sfzEnd; - - /** - * 身份证地址 - */ - private String sfzSite; - - /** - * 身份证出生日期 - */ - private String sfzBirth; - - /** - * 籍贯 - */ - private String nativePlace; - - /** - * 银行卡号 - */ - private String yhkNumber; - - /** - * 开户行 - */ - private String yhkOpeningBank; - - /** - * 持卡人 - */ - private String yhkCardholder; - - /** - * 工种(字典type_of_work) - */ - private Long typeOfWork; - - /** - * 打卡(0启用打卡 1禁止打卡) - */ - @NotNull(message = "打卡(0启用打卡 1禁止打卡)不能为空", groups = { AddGroup.class, EditGroup.class }) - private Long clock; - - /** - * 入场时间 - */ - private String entryDate; - - /** - * 离场时间 - */ - private String leaveDate; - - /** - * 薪水 - */ - private Long salary; - - /** - * 备注 - */ - private String remark; - - -} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/bo/BusProjectTeamBo.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/bo/BusProjectTeamBo.java deleted file mode 100644 index c983ecee..00000000 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/bo/BusProjectTeamBo.java +++ /dev/null @@ -1,53 +0,0 @@ -package org.dromara.project.domain.bo; - -import org.dromara.project.domain.BusProjectTeam; -import org.dromara.common.mybatis.core.domain.BaseEntity; -import org.dromara.common.core.validate.AddGroup; -import org.dromara.common.core.validate.EditGroup; -import io.github.linpeilie.annotations.AutoMapper; -import lombok.Data; -import lombok.EqualsAndHashCode; -import jakarta.validation.constraints.*; -import java.util.Date; -import com.fasterxml.jackson.annotation.JsonFormat; - -/** - * 项目班组业务对象 bus_project_team - * - * @author lcj - * @date 2025-03-07 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@AutoMapper(target = BusProjectTeam.class, reverseConvertGenerate = false) -public class BusProjectTeamBo extends BaseEntity { - - /** - * 主键id - */ - @NotNull(message = "主键id不能为空", groups = { EditGroup.class }) - private Long id; - - /** - * 项目id - */ - private Long projectId; - - /** - * 班组名称 - */ - private String teamName; - - /** - * 范围内打卡(0范围内打卡 1任何地点打卡)默认为1 - */ - @NotNull(message = "范围内打卡(0范围内打卡 1任何地点打卡)默认为1不能为空", groups = { AddGroup.class, EditGroup.class }) - private Long isClockIn; - - /** - * 备注 - */ - private String remark; - - -} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/bo/BusProjectTeamMemberBo.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/bo/BusProjectTeamMemberBo.java deleted file mode 100644 index d9455df8..00000000 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/bo/BusProjectTeamMemberBo.java +++ /dev/null @@ -1,57 +0,0 @@ -package org.dromara.project.domain.bo; - -import org.dromara.project.domain.BusProjectTeamMember; -import org.dromara.common.mybatis.core.domain.BaseEntity; -import org.dromara.common.core.validate.AddGroup; -import org.dromara.common.core.validate.EditGroup; -import io.github.linpeilie.annotations.AutoMapper; -import lombok.Data; -import lombok.EqualsAndHashCode; -import jakarta.validation.constraints.*; -import java.util.Date; -import com.fasterxml.jackson.annotation.JsonFormat; - -/** - * 项目班组下的成员业务对象 bus_project_team_member - * - * @author lcj - * @date 2025-03-07 - */ -@Data -@EqualsAndHashCode(callSuper = true) -@AutoMapper(target = BusProjectTeamMember.class, reverseConvertGenerate = false) -public class BusProjectTeamMemberBo extends BaseEntity { - - /** - * 主键id - */ - @NotNull(message = "主键id不能为空", groups = { EditGroup.class }) - private Long id; - - /** - * 班组id - */ - private Long teamId; - - /** - * 项目id - */ - private Long projectId; - - /** - * 施工人员id - */ - private Long memberId; - - /** - * 岗位(默认为0普通员工,1组长) - */ - private Long postId; - - /** - * 备注 - */ - private String remark; - - -} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/vo/ProjectVo.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/vo/BusProjectVo.java similarity index 95% rename from RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/vo/ProjectVo.java rename to RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/vo/BusProjectVo.java index 1cd54279..8d1a9ffc 100644 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/vo/ProjectVo.java +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/vo/BusProjectVo.java @@ -6,7 +6,7 @@ import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; import org.dromara.common.excel.annotation.ExcelDictFormat; import org.dromara.common.excel.convert.ExcelDictConvert; -import org.dromara.project.domain.Project; +import org.dromara.project.domain.BusProject; import java.io.Serial; import java.io.Serializable; @@ -20,8 +20,8 @@ import java.io.Serializable; */ @Data @ExcelIgnoreUnannotated -@AutoMapper(target = Project.class) -public class ProjectVo implements Serializable { +@AutoMapper(target = BusProject.class) +public class BusProjectVo implements Serializable { @Serial private static final long serialVersionUID = 1L; diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/vo/UserProjectRelevancyVo.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/vo/BusUserProjectRelevancyVo.java similarity index 80% rename from RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/vo/UserProjectRelevancyVo.java rename to RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/vo/BusUserProjectRelevancyVo.java index 16f5263e..73159c8a 100644 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/vo/UserProjectRelevancyVo.java +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/domain/vo/BusUserProjectRelevancyVo.java @@ -4,7 +4,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; import io.github.linpeilie.annotations.AutoMapper; import lombok.Data; -import org.dromara.project.domain.UserProjectRelevancy; +import org.dromara.project.domain.BusUserProjectRelevancy; import java.io.Serial; import java.io.Serializable; @@ -18,8 +18,8 @@ import java.io.Serializable; */ @Data @ExcelIgnoreUnannotated -@AutoMapper(target = UserProjectRelevancy.class) -public class UserProjectRelevancyVo implements Serializable { +@AutoMapper(target = BusUserProjectRelevancy.class) +public class BusUserProjectRelevancyVo implements Serializable { @Serial private static final long serialVersionUID = 1L; @@ -46,6 +46,6 @@ public class UserProjectRelevancyVo implements Serializable { * 项目详情 */ @ExcelProperty(value = "项目详情") - private ProjectVo project; + private BusProjectVo project; } diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/mapper/BusProjectMapper.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/mapper/BusProjectMapper.java new file mode 100644 index 00000000..9c108acd --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/mapper/BusProjectMapper.java @@ -0,0 +1,15 @@ +package org.dromara.project.mapper; + +import org.dromara.project.domain.BusProject; +import org.dromara.project.domain.vo.BusProjectVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 项目Mapper接口 + * + * @author lcj + * @date 2025-03-04 + */ +public interface BusProjectMapper extends BaseMapperPlus { + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/mapper/BusUserProjectRelevancyMapper.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/mapper/BusUserProjectRelevancyMapper.java new file mode 100644 index 00000000..cdfa6243 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/mapper/BusUserProjectRelevancyMapper.java @@ -0,0 +1,15 @@ +package org.dromara.project.mapper; + +import org.dromara.project.domain.BusUserProjectRelevancy; +import org.dromara.project.domain.vo.BusUserProjectRelevancyVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 系统用户与项目关联Mapper接口 + * + * @author lcj + * @date 2025-03-04 + */ +public interface BusUserProjectRelevancyMapper extends BaseMapperPlus { + +} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/mapper/ProjectMapper.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/mapper/ProjectMapper.java deleted file mode 100644 index 0729e1ef..00000000 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/mapper/ProjectMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.dromara.project.mapper; - -import org.dromara.project.domain.Project; -import org.dromara.project.domain.vo.ProjectVo; -import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; - -/** - * 项目Mapper接口 - * - * @author lcj - * @date 2025-03-04 - */ -public interface ProjectMapper extends BaseMapperPlus { - -} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/mapper/UserProjectRelevancyMapper.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/mapper/UserProjectRelevancyMapper.java deleted file mode 100644 index aa265606..00000000 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/mapper/UserProjectRelevancyMapper.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.dromara.project.mapper; - -import org.dromara.project.domain.UserProjectRelevancy; -import org.dromara.project.domain.vo.UserProjectRelevancyVo; -import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; - -/** - * 系统用户与项目关联Mapper接口 - * - * @author lcj - * @date 2025-03-04 - */ -public interface UserProjectRelevancyMapper extends BaseMapperPlus { - -} diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IProjectService.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IBusProjectService.java similarity index 78% rename from RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IProjectService.java rename to RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IBusProjectService.java index 9ede0d7c..1a2ff2ff 100644 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IProjectService.java +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IBusProjectService.java @@ -3,11 +3,11 @@ package org.dromara.project.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; -import org.dromara.project.domain.Project; +import org.dromara.project.domain.BusProject; import org.dromara.project.domain.req.project.ProjectCreateReq; import org.dromara.project.domain.req.project.ProjectQueryReq; import org.dromara.project.domain.req.project.ProjectUpdateReq; -import org.dromara.project.domain.vo.ProjectVo; +import org.dromara.project.domain.vo.BusProjectVo; import java.util.Collection; import java.util.List; @@ -18,7 +18,7 @@ import java.util.List; * @author lcj * @date 2025-03-04 */ -public interface IProjectService extends IService { +public interface IBusProjectService extends IService { /** * 查询项目 @@ -26,7 +26,7 @@ public interface IProjectService extends IService { * @param id 主键 * @return 项目 */ - ProjectVo queryById(Long id); + BusProjectVo queryById(Long id); /** * 分页查询项目列表 @@ -34,7 +34,7 @@ public interface IProjectService extends IService { * @param req 查询条件 * @return 项目分页列表 */ - Page queryPageList(ProjectQueryReq req); + Page queryPageList(ProjectQueryReq req); /** * 查询符合条件的项目列表 @@ -42,7 +42,7 @@ public interface IProjectService extends IService { * @param req 查询条件 * @return 项目列表 */ - List queryList(ProjectQueryReq req); + List queryList(ProjectQueryReq req); /** * 新增项目 @@ -75,7 +75,7 @@ public interface IProjectService extends IService { * @param project 项目对象 * @return 项目视图对象 */ - ProjectVo getProjectVo(Project project); + BusProjectVo getProjectVo(BusProject project); /** * 获取项目查询条件封装 @@ -83,7 +83,7 @@ public interface IProjectService extends IService { * @param req 查询条件 * @return 查询条件封装 */ - QueryWrapper getQueryWrapper(ProjectQueryReq req); + QueryWrapper getQueryWrapper(ProjectQueryReq req); /** * 获取项目分页对象视图 @@ -91,6 +91,6 @@ public interface IProjectService extends IService { * @param projectPage 项目分页对象 * @return 项目分页对象视图 */ - Page getVoPage(Page projectPage); + Page getVoPage(Page projectPage); } diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IUserProjectRelevancyService.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IBusUserProjectRelevancyService.java similarity index 79% rename from RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IUserProjectRelevancyService.java rename to RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IBusUserProjectRelevancyService.java index f841561d..42b2c3e5 100644 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IUserProjectRelevancyService.java +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/IBusUserProjectRelevancyService.java @@ -3,13 +3,13 @@ package org.dromara.project.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; -import org.dromara.project.domain.UserProjectRelevancy; +import org.dromara.project.domain.BusUserProjectRelevancy; import org.dromara.project.domain.req.project.ProjectBatchByProjectListReq; import org.dromara.project.domain.req.userprojectrelevancy.UserProjectRelevancyCreateReq; import org.dromara.project.domain.req.userprojectrelevancy.UserProjectRelevancyQueryReq; import org.dromara.project.domain.req.userprojectrelevancy.UserProjectRelevancyUpdateReq; import org.dromara.project.domain.resp.userprojectrelevancy.LoginUserProjectRelevancyResp; -import org.dromara.project.domain.vo.UserProjectRelevancyVo; +import org.dromara.project.domain.vo.BusUserProjectRelevancyVo; import java.util.Collection; import java.util.List; @@ -20,7 +20,7 @@ import java.util.List; * @author lcj * @date 2025-03-04 */ -public interface IUserProjectRelevancyService extends IService { +public interface IBusUserProjectRelevancyService extends IService { /** * 查询系统用户与项目关联 @@ -28,7 +28,7 @@ public interface IUserProjectRelevancyService extends IService queryPageList(UserProjectRelevancyQueryReq req); + Page queryPageList(UserProjectRelevancyQueryReq req); /** * 查询符合条件的系统用户与项目关联列表 @@ -44,7 +44,7 @@ public interface IUserProjectRelevancyService extends IService queryList(UserProjectRelevancyQueryReq req); + List queryList(UserProjectRelevancyQueryReq req); /** * 新增系统用户与项目关联 @@ -86,7 +86,7 @@ public interface IUserProjectRelevancyService extends IService queryPageByUserId(Long userId, UserProjectRelevancyQueryReq req); + Page queryPageByUserId(Long userId, UserProjectRelevancyQueryReq req); /** * 批量新增用户和项目关联 @@ -102,7 +102,7 @@ public interface IUserProjectRelevancyService extends IService getQueryWrapper(UserProjectRelevancyQueryReq req); + QueryWrapper getQueryWrapper(UserProjectRelevancyQueryReq req); /** * 获取系统用户与项目关联分页视图 @@ -118,6 +118,6 @@ public interface IUserProjectRelevancyService extends IService getVoPage(Page userProjectRelevancyPage); + Page getVoPage(Page userProjectRelevancyPage); } diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusConstructionUserServiceImpl.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusConstructionUserServiceImpl.java index 6ccbb513..61d591fc 100644 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusConstructionUserServiceImpl.java +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusConstructionUserServiceImpl.java @@ -22,7 +22,7 @@ import org.dromara.project.domain.vo.BusContractorVo; import org.dromara.project.mapper.BusConstructionUserMapper; import org.dromara.project.service.IBusConstructionUserService; import org.dromara.project.service.IBusContractorService; -import org.dromara.project.service.IProjectService; +import org.dromara.project.service.IBusProjectService; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -44,7 +44,7 @@ public class BusConstructionUserServiceImpl extends ServiceImpl - implements IProjectService { +public class BusProjectServiceImpl extends ServiceImpl + implements IBusProjectService { @Resource - private ProjectMapper baseMapper; + private BusProjectMapper baseMapper; @Lazy @Resource - private IUserProjectRelevancyService userProjectRelevancyService; + private IBusUserProjectRelevancyService userProjectRelevancyService; /** * 查询项目 @@ -53,7 +53,7 @@ public class ProjectServiceImpl extends ServiceImpl * @return 项目 */ @Override - public ProjectVo queryById(Long id) { + public BusProjectVo queryById(Long id) { return baseMapper.selectVoById(id); } @@ -64,11 +64,11 @@ public class ProjectServiceImpl extends ServiceImpl * @return 项目分页列表 */ @Override - public Page queryPageList(ProjectQueryReq req) { + public Page queryPageList(ProjectQueryReq req) { long current = req.getCurrent(); long size = req.getPageSize(); // 查询数据库 - Page result = this.page(new Page<>(current, size), this.getQueryWrapper(req)); + Page result = this.page(new Page<>(current, size), this.getQueryWrapper(req)); return this.getVoPage(result); } @@ -79,8 +79,8 @@ public class ProjectServiceImpl extends ServiceImpl * @return 项目列表 */ @Override - public List queryList(ProjectQueryReq req) { - QueryWrapper queryWrapper = this.getQueryWrapper(req); + public List queryList(ProjectQueryReq req) { + QueryWrapper queryWrapper = this.getQueryWrapper(req); return baseMapper.selectVoList(queryWrapper); } @@ -93,7 +93,7 @@ public class ProjectServiceImpl extends ServiceImpl @Override public Long insertByBo(ProjectCreateReq dto) { // 将实体类和 DTO 进行转换 - Project project = new Project(); + BusProject project = new BusProject(); BeanUtils.copyProperties(dto, project); // 数据校验 validEntityBeforeSave(project); @@ -105,7 +105,7 @@ public class ProjectServiceImpl extends ServiceImpl Long projectId = project.getId(); Long userId = LoginHelper.getUserId(); // 同步保存用户与项目关联 - UserProjectRelevancy userProjectRelevancy = new UserProjectRelevancy(); + BusUserProjectRelevancy userProjectRelevancy = new BusUserProjectRelevancy(); userProjectRelevancy.setUserId(userId); userProjectRelevancy.setProjectId(projectId); boolean saveRelevancy = userProjectRelevancyService.save(userProjectRelevancy); @@ -125,14 +125,14 @@ public class ProjectServiceImpl extends ServiceImpl @Override public Boolean updateByBo(ProjectUpdateReq req) { // 将实体类和 DTO 进行转换 - Project project = new Project(); + BusProject project = new BusProject(); BeanUtils.copyProperties(req, project); // 数据校验 validEntityBeforeSave(project); // 权限校验 validPermission(project); // 判断是否存在 - Project oldProject = this.getById(project.getId()); + BusProject oldProject = this.getById(project.getId()); if (oldProject == null) { throw new ServiceException("修改项目失败,数据不存在", HttpStatus.NOT_FOUND); } @@ -143,7 +143,7 @@ public class ProjectServiceImpl extends ServiceImpl /** * 保存前的数据校验 */ - private void validEntityBeforeSave(Project entity) { + private void validEntityBeforeSave(BusProject entity) { // TODO 做一些数据校验,如唯一约束 String projectName = entity.getProjectName(); if (StringUtils.isBlank(projectName)) { @@ -154,12 +154,12 @@ public class ProjectServiceImpl extends ServiceImpl /** * 权限判断 */ - private void validPermission(Project entity) { + private void validPermission(BusProject entity) { Long entityId = entity.getId(); // 获取当前登录用户 Long userId = LoginHelper.getUserId(); // 判断是否存在项目与登录用户关联 - QueryWrapper queryWrapper = new QueryWrapper<>(); + QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("project_id", entityId); queryWrapper.eq("user_id", userId); if (userProjectRelevancyService.count(queryWrapper) <= 0) { @@ -190,12 +190,12 @@ public class ProjectServiceImpl extends ServiceImpl * @return 项目视图对象 */ @Override - public ProjectVo getProjectVo(Project project) { + public BusProjectVo getProjectVo(BusProject project) { if (project == null) { return null; } // 对象转封装类 - ProjectVo projectVo = new ProjectVo(); + BusProjectVo projectVo = new BusProjectVo(); BeanUtils.copyProperties(project, projectVo); return projectVo; } @@ -207,8 +207,8 @@ public class ProjectServiceImpl extends ServiceImpl * @return 查询条件封装 */ @Override - public QueryWrapper getQueryWrapper(ProjectQueryReq req) { - QueryWrapper queryWrapper = new QueryWrapper<>(); + public QueryWrapper getQueryWrapper(ProjectQueryReq req) { + QueryWrapper queryWrapper = new QueryWrapper<>(); if (req == null) { return queryWrapper; } @@ -261,14 +261,14 @@ public class ProjectServiceImpl extends ServiceImpl @Override - public Page getVoPage(Page projectPage) { - List projectList = projectPage.getRecords(); - Page projectVoPage = new Page<>(projectPage.getCurrent(), projectPage.getSize(), projectPage.getTotal()); + public Page getVoPage(Page projectPage) { + List projectList = projectPage.getRecords(); + Page projectVoPage = new Page<>(projectPage.getCurrent(), projectPage.getSize(), projectPage.getTotal()); if (CollUtil.isEmpty(projectList)) { return projectVoPage; } // 对象列表 => 封装对象列表 - List projectVoList = projectList.stream().map(this::getProjectVo).toList(); + List projectVoList = projectList.stream().map(this::getProjectVo).toList(); projectVoPage.setRecords(projectVoList); return projectVoPage; } diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusProjectTeamMemberServiceImpl.java b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusProjectTeamMemberServiceImpl.java index 936d3b77..e92b503a 100644 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusProjectTeamMemberServiceImpl.java +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/project/service/impl/BusProjectTeamMemberServiceImpl.java @@ -24,7 +24,7 @@ import org.dromara.project.mapper.BusProjectTeamMemberMapper; import org.dromara.project.service.IBusConstructionUserService; import org.dromara.project.service.IBusProjectTeamMemberService; import org.dromara.project.service.IBusProjectTeamService; -import org.dromara.project.service.IProjectService; +import org.dromara.project.service.IBusProjectService; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -52,7 +52,7 @@ public class BusProjectTeamMemberServiceImpl extends ServiceImpl - implements IUserProjectRelevancyService { +public class BusUserProjectRelevancyServiceImpl extends ServiceImpl + implements IBusUserProjectRelevancyService { @Resource - private UserProjectRelevancyMapper baseMapper; + private BusUserProjectRelevancyMapper baseMapper; @Resource - private IProjectService projectService; + private IBusProjectService projectService; @Resource private ISysUserService userService; @@ -60,9 +60,9 @@ public class UserProjectRelevancyServiceImpl extends ServiceImpl queryPageList(UserProjectRelevancyQueryReq req) { + public Page queryPageList(UserProjectRelevancyQueryReq req) { long current = req.getCurrent(); long size = req.getPageSize(); - QueryWrapper queryWrapper = this.getQueryWrapper(req); + QueryWrapper queryWrapper = this.getQueryWrapper(req); // 查询数据库 - Page result = this.page(new Page<>(current, size), this.getQueryWrapper(req)); + Page result = this.page(new Page<>(current, size), this.getQueryWrapper(req)); return this.getVoPage(result); } @@ -90,8 +90,8 @@ public class UserProjectRelevancyServiceImpl extends ServiceImpl queryList(UserProjectRelevancyQueryReq req) { - QueryWrapper queryWrapper = this.getQueryWrapper(req); + public List queryList(UserProjectRelevancyQueryReq req) { + QueryWrapper queryWrapper = this.getQueryWrapper(req); return baseMapper.selectVoList(queryWrapper); } @@ -104,14 +104,14 @@ public class UserProjectRelevancyServiceImpl extends ServiceImpl() - .eq(UserProjectRelevancy::getUserId, userProjectRelevancy.getUserId()) - .eq(UserProjectRelevancy::getProjectId, userProjectRelevancy.getProjectId())) != null) { + if (this.getOne(new LambdaQueryWrapper() + .eq(BusUserProjectRelevancy::getUserId, userProjectRelevancy.getUserId()) + .eq(BusUserProjectRelevancy::getProjectId, userProjectRelevancy.getProjectId())) != null) { throw new ServiceException("用户和项目关联已存在", HttpStatus.CONFLICT); } // 写入数据库 @@ -132,12 +132,12 @@ public class UserProjectRelevancyServiceImpl extends ServiceImpl queryListByUserId(Long userId) { // 添加查询条件,根据当前用户,获取数据 - LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); - queryWrapper.eq(UserProjectRelevancy::getUserId, userId); + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(); + queryWrapper.eq(BusUserProjectRelevancy::getUserId, userId); // 查询数据库,获取数据 - List list = this.list(queryWrapper); + List list = this.list(queryWrapper); // 获取封装 return list.stream() .map(userProjectRelevancy -> { Long projectId = userProjectRelevancy.getProjectId(); - QueryWrapper projectQueryWrapper = new QueryWrapper<>(); + QueryWrapper projectQueryWrapper = new QueryWrapper<>(); projectQueryWrapper.eq("id", projectId); - Project project = projectService.getOne(projectQueryWrapper); + BusProject project = projectService.getOne(projectQueryWrapper); if (project != null) { LoginUserProjectRelevancyResp loginUserProjectRelevancy = new LoginUserProjectRelevancyResp(); loginUserProjectRelevancy.setId(userProjectRelevancy.getId()); @@ -226,14 +226,14 @@ public class UserProjectRelevancyServiceImpl extends ServiceImpl queryPageByUserId(Long userId, UserProjectRelevancyQueryReq req) { + public Page queryPageByUserId(Long userId, UserProjectRelevancyQueryReq req) { long current = req.getCurrent(); long size = req.getPageSize(); // 添加查询条件 req.setUserId(userId); - QueryWrapper queryWrapper = this.getQueryWrapper(req); + QueryWrapper queryWrapper = this.getQueryWrapper(req); // 查询数据库 - Page result = this.page(new Page<>(current, size), queryWrapper); + Page result = this.page(new Page<>(current, size), queryWrapper); return this.getVoPage(result); } @@ -248,20 +248,20 @@ public class UserProjectRelevancyServiceImpl extends ServiceImpl().in("id", (Object[]) projectIdList)); + long count = projectService.count(new QueryWrapper().in("id", (Object[]) projectIdList)); if (count < projectIdList.length) { throw new ServiceException("项目ID列表错误,一个或多个项目不存在", HttpStatus.NOT_FOUND); } - List userProjectRelevancyList = Arrays.stream(projectIdList).map(projectId -> { - UserProjectRelevancy userProjectRelevancy = new UserProjectRelevancy(); + List userProjectRelevancyList = Arrays.stream(projectIdList).map(projectId -> { + BusUserProjectRelevancy userProjectRelevancy = new BusUserProjectRelevancy(); userProjectRelevancy.setUserId(userId); userProjectRelevancy.setProjectId(projectId); // 查询对应用户与项目关联信息是否存在 - QueryWrapper queryWrapper = new QueryWrapper<>(); + QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("user_id", userId); queryWrapper.eq("project_id", projectId); // 如果存在则不保存 - UserProjectRelevancy one = this.getOne(queryWrapper); + BusUserProjectRelevancy one = this.getOne(queryWrapper); if (one != null) { return null; } @@ -281,9 +281,9 @@ public class UserProjectRelevancyServiceImpl extends ServiceImpl getQueryWrapper(UserProjectRelevancyQueryReq req) { - QueryWrapper queryWrapper = new QueryWrapper<>(); + public QueryWrapper getQueryWrapper(UserProjectRelevancyQueryReq req) { + QueryWrapper queryWrapper = new QueryWrapper<>(); if (req == null) { return queryWrapper; } @@ -333,9 +333,9 @@ public class UserProjectRelevancyServiceImpl extends ServiceImpl getVoPage(Page userProjectRelevancyPage) { - List userProjectRelevancyList = userProjectRelevancyPage.getRecords(); - Page userProjectRelevancyVoPage = new Page<>( + public Page getVoPage(Page userProjectRelevancyPage) { + List userProjectRelevancyList = userProjectRelevancyPage.getRecords(); + Page userProjectRelevancyVoPage = new Page<>( userProjectRelevancyPage.getCurrent(), userProjectRelevancyPage.getSize(), userProjectRelevancyPage.getTotal()); @@ -343,7 +343,7 @@ public class UserProjectRelevancyServiceImpl extends ServiceImpl 封装对象列表 - List userProjectRelevancyVoList = userProjectRelevancyList.stream().map(this::getVo).toList(); + List userProjectRelevancyVoList = userProjectRelevancyList.stream().map(this::getVo).toList(); userProjectRelevancyVoPage.setRecords(userProjectRelevancyVoList); return userProjectRelevancyVoPage; } diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/project/UserProjectRelevancyMapper.xml b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/machinery/BusMachineryDetailMapper.xml similarity index 67% rename from RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/project/UserProjectRelevancyMapper.xml rename to RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/machinery/BusMachineryDetailMapper.xml index 84aecf1b..0d87e83b 100644 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/project/UserProjectRelevancyMapper.xml +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/machinery/BusMachineryDetailMapper.xml @@ -2,6 +2,6 @@ - + diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/machinery/BusMachineryMapper.xml b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/machinery/BusMachineryMapper.xml new file mode 100644 index 00000000..666edb11 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/machinery/BusMachineryMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/project/ProjectMapper.xml b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/project/BusProjectMapper.xml similarity index 70% rename from RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/project/ProjectMapper.xml rename to RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/project/BusProjectMapper.xml index 7ef248cf..366b854a 100644 --- a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/project/ProjectMapper.xml +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/project/BusProjectMapper.xml @@ -2,6 +2,6 @@ - + diff --git a/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/project/BusUserProjectRelevancyMapper.xml b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/project/BusUserProjectRelevancyMapper.xml new file mode 100644 index 00000000..0318b900 --- /dev/null +++ b/RuoYi-Vue-Plus/ruoyi-modules/ruoyi-system/src/main/resources/mapper/project/BusUserProjectRelevancyMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/RuoYi-Vue-Plus/script/sql/menuInitValue.sql b/RuoYi-Vue-Plus/script/sql/menuInitValue.sql index fddfb8b1..74fc6ea8 100644 --- a/RuoYi-Vue-Plus/script/sql/menuInitValue.sql +++ b/RuoYi-Vue-Plus/script/sql/menuInitValue.sql @@ -237,3 +237,43 @@ values(1897844023242051590, '施工人员删除', 1897844023242051586, '4', '#' insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) values(1897844023242051591, '施工人员导出', 1897844023242051586, '5', '#', '', 1, 0, 'F', '0', '0', 'project:constructionUser:export', '#', 103, 1, sysdate(), null, null, ''); + +-- 菜单 SQL +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) +values(1897935931448537090, '机械', '1', '1', 'machinery', 'machinery/machinery/index', 1, 0, 'C', '0', '0', 'machinery:machinery:list', '#', 103, 1, sysdate(), null, null, '机械菜单'); + +-- 按钮 SQL +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) +values(1897935931448537091, '机械查询', 1897935931448537090, '1', '#', '', 1, 0, 'F', '0', '0', 'machinery:machinery:query', '#', 103, 1, sysdate(), null, null, ''); + +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) +values(1897935931448537092, '机械新增', 1897935931448537090, '2', '#', '', 1, 0, 'F', '0', '0', 'machinery:machinery:add', '#', 103, 1, sysdate(), null, null, ''); + +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) +values(1897935931448537093, '机械修改', 1897935931448537090, '3', '#', '', 1, 0, 'F', '0', '0', 'machinery:machinery:edit', '#', 103, 1, sysdate(), null, null, ''); + +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) +values(1897935931448537094, '机械删除', 1897935931448537090, '4', '#', '', 1, 0, 'F', '0', '0', 'machinery:machinery:remove', '#', 103, 1, sysdate(), null, null, ''); + +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) +values(1897935931448537095, '机械导出', 1897935931448537090, '5', '#', '', 1, 0, 'F', '0', '0', 'machinery:machinery:export', '#', 103, 1, sysdate(), null, null, ''); + +-- 菜单 SQL +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) +values(1897935932513890306, '机械详情', '1', '1', 'machineryDetail', 'machinery/machineryDetail/index', 1, 0, 'C', '0', '0', 'machinery:machineryDetail:list', '#', 103, 1, sysdate(), null, null, '机械详情菜单'); + +-- 按钮 SQL +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) +values(1897935932513890307, '机械详情查询', 1897935932513890306, '1', '#', '', 1, 0, 'F', '0', '0', 'machinery:machineryDetail:query', '#', 103, 1, sysdate(), null, null, ''); + +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) +values(1897935932513890308, '机械详情新增', 1897935932513890306, '2', '#', '', 1, 0, 'F', '0', '0', 'machinery:machineryDetail:add', '#', 103, 1, sysdate(), null, null, ''); + +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) +values(1897935932513890309, '机械详情修改', 1897935932513890306, '3', '#', '', 1, 0, 'F', '0', '0', 'machinery:machineryDetail:edit', '#', 103, 1, sysdate(), null, null, ''); + +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) +values(1897935932513890310, '机械详情删除', 1897935932513890306, '4', '#', '', 1, 0, 'F', '0', '0', 'machinery:machineryDetail:remove', '#', 103, 1, sysdate(), null, null, ''); + +insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) +values(1897935932513890311, '机械详情导出', 1897935932513890306, '5', '#', '', 1, 0, 'F', '0', '0', 'machinery:machineryDetail:export', '#', 103, 1, sysdate(), null, null, ''); diff --git a/RuoYi-Vue-Plus/script/sql/xinnengyuan.sql b/RuoYi-Vue-Plus/script/sql/xinnengyuan.sql index 654af770..824c6b2a 100644 --- a/RuoYi-Vue-Plus/script/sql/xinnengyuan.sql +++ b/RuoYi-Vue-Plus/script/sql/xinnengyuan.sql @@ -1,7 +1,7 @@ use energy; -drop table if exists `project`; -create table `project` +drop table if exists bus_project; +create table `bus_project` ( `id` bigint not null auto_increment, `project_name` varchar(64) null comment '项目名称', @@ -37,8 +37,8 @@ create table `project` COLLATE = utf8mb4_general_ci comment = '项目表' ROW_FORMAT = DYNAMIC; -DROP TABLE IF EXISTS `user_project_relevancy`; -CREATE TABLE `user_project_relevancy` +DROP TABLE IF EXISTS bus_user_project_relevancy; +CREATE TABLE `bus_user_project_relevancy` ( `id` bigint not null AUTO_INCREMENT comment '主键ID', `user_id` bigint not null comment '用户ID', @@ -243,10 +243,49 @@ CREATE TABLE `bus_project_team_member` `update_time` datetime default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP comment '更新时间', `deleted_at` datetime null comment '删除时间', PRIMARY KEY (`id`) USING BTREE, - INDEX `idx_team_id` (`team_id` ASC) USING BTREE COMMENT '班组id', - INDEX `idx_project_id` (`project_id` ASC) USING BTREE COMMENT '项目id', - INDEX `idx_member_id` (`member_id` ASC) USING BTREE COMMENT '施工人员id' -) ENGINE = InnoDB - CHARACTER SET = utf8mb4 - COLLATE = utf8mb4_general_ci COMMENT = '项目班组下的成员' - ROW_FORMAT = DYNAMIC; + INDEX `idx_team_id` (`team_id` ASC) USING BTREE comment '班组id', + INDEX `idx_project_id` (`project_id` ASC) USING BTREE comment '项目id', + INDEX `idx_member_id` (`member_id` ASC) USING BTREE comment '施工人员id' +) comment = '项目班组下的成员' collate = utf8mb4_unicode_ci; + +DROP TABLE IF EXISTS `bus_machinery`; +CREATE TABLE `bus_machinery` +( + `id` bigint not null auto_increment comment '主键id', + `machinery_name` varchar(16) null comment '机械名称', + `machinery_number` varchar(64) null comment '机械型号', + `project_id` bigint null comment '项目id', + `number` int null comment '数量', + `principal` varchar(20) null comment '负责人', + `remark` varchar(512) null comment '备注', + `create_by` varchar(64) null comment '创建者', + `update_by` varchar(64) null comment '更新者', + `create_time` datetime default CURRENT_TIMESTAMP null comment '创建时间', + `update_time` datetime default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP comment '更新时间', + `deleted_at` datetime null comment '删除时间', + `is_delete` tinyint(4) default 0 not null comment '是否删除(0正常 1删除)', + PRIMARY KEY (`id`) USING BTREE +) comment = '机械表' collate = utf8mb4_unicode_ci; + +DROP TABLE IF EXISTS `bus_machinery_detail`; +CREATE TABLE `bus_machinery_detail` +( + `id` bigint not null auto_increment comment '主键id', + `checkout_number` varchar(64) null comment '检验证编号', + `checkout_unit` varchar(64) null comment '检验单位', + `checkout_date` varchar(64) null comment '检定日期/有效期', + `status` tinyint(4) default 0 null comment '施工类型状态(0正常 1停用)', + `type` tinyint(4) default 0 null null comment '0入场 1出场', + `entry_time` datetime null comment '入场时间', + `remark` varchar(512) null comment '备注', + `picture` varchar(512) null comment '图片(英文逗号分隔)', + `machinery_id` bigint null comment '机械主键id', + `create_by` varchar(64) null comment '创建者', + `update_by` varchar(64) null comment '更新者', + `create_time` datetime default CURRENT_TIMESTAMP null comment '创建时间', + `update_time` datetime default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP comment '更新时间', + `deleted_at` datetime null comment '删除时间', + `is_delete` tinyint(4) default 0 not null comment '是否删除(0正常 1删除)', + PRIMARY KEY (`id`) USING BTREE, + INDEX `idx_machinery_id` (`machinery_id` ASC) USING BTREE comment '机械主键id' +) comment = '机械详情' collate = utf8mb4_unicode_ci;