From 9a8a7bc97d923de9aa5bd6061a22608b0578ea8d Mon Sep 17 00:00:00 2001 From: gjh <1421wake> Date: Thu, 17 Apr 2025 16:20:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9D=90=E6=96=99=E5=BA=93=E5=9F=BA=E7=A1=80?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=20=E7=BB=84=E7=BB=87=E6=9C=BA=E6=9E=84?= =?UTF-8?q?=E4=B8=8B=E6=8B=89=E6=A1=86=20=20=E5=B7=A5=E4=BD=9C=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E5=A2=9E=E5=8A=A0=E6=97=B6=E9=97=B4=E8=8C=83=E5=9B=B4?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/MaterialInfoController.java | 105 ++++++++++++++ .../OrganizationTypeController.java | 105 ++++++++++++++ .../dromara/platform/domain/MaterialInfo.java | 72 ++++++++++ .../platform/domain/OrganizationType.java | 47 ++++++ .../platform/domain/bo/MaterialInfoBo.java | 72 ++++++++++ .../domain/bo/OrganizationTypeBo.java | 42 ++++++ .../domain/bo/RoutineInspectionInfoBo.java | 3 + .../platform/domain/vo/MaterialInfoVo.java | 80 +++++++++++ .../domain/vo/OrganizationTypeVo.java | 50 +++++++ .../platform/mapper/MaterialInfoMapper.java | 15 ++ .../mapper/OrganizationTypeMapper.java | 15 ++ .../service/IMaterialInfoService.java | 68 +++++++++ .../service/IOrganizationTypeService.java | 68 +++++++++ .../service/impl/MaterialInfoServiceImpl.java | 134 ++++++++++++++++++ .../impl/OrganizationTypeServiceImpl.java | 130 +++++++++++++++++ .../RoutineInspectionInfoServiceImpl.java | 15 +- 16 files changed, 1018 insertions(+), 3 deletions(-) create mode 100644 ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/controller/MaterialInfoController.java create mode 100644 ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/controller/OrganizationTypeController.java create mode 100644 ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/domain/MaterialInfo.java create mode 100644 ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/domain/OrganizationType.java create mode 100644 ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/domain/bo/MaterialInfoBo.java create mode 100644 ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/domain/bo/OrganizationTypeBo.java create mode 100644 ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/domain/vo/MaterialInfoVo.java create mode 100644 ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/domain/vo/OrganizationTypeVo.java create mode 100644 ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/mapper/MaterialInfoMapper.java create mode 100644 ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/mapper/OrganizationTypeMapper.java create mode 100644 ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/IMaterialInfoService.java create mode 100644 ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/IOrganizationTypeService.java create mode 100644 ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/impl/MaterialInfoServiceImpl.java create mode 100644 ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/impl/OrganizationTypeServiceImpl.java diff --git a/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/controller/MaterialInfoController.java b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/controller/MaterialInfoController.java new file mode 100644 index 0000000..3d68a46 --- /dev/null +++ b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/controller/MaterialInfoController.java @@ -0,0 +1,105 @@ +package org.dromara.platform.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +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.log.enums.BusinessType; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.platform.domain.vo.MaterialInfoVo; +import org.dromara.platform.domain.bo.MaterialInfoBo; +import org.dromara.platform.service.IMaterialInfoService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 材料库-信息 + * + * @author gejunhao + * @date 2025-04-17 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/platform/matrialInfo") +public class MaterialInfoController extends BaseController { + + private final IMaterialInfoService materialInfoService; + + /** + * 查询材料库-信息列表 + */ + @SaCheckPermission("platform:matrialInfo:list") + @GetMapping("/list") + public TableDataInfo list(MaterialInfoBo bo, PageQuery pageQuery) { + return materialInfoService.queryPageList(bo, pageQuery); + } + + /** + * 导出材料库-信息列表 + */ + @SaCheckPermission("platform:matrialInfo:export") + @Log(title = "材料库-信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(MaterialInfoBo bo, HttpServletResponse response) { + List list = materialInfoService.queryList(bo); + ExcelUtil.exportExcel(list, "材料库-信息", MaterialInfoVo.class, response); + } + + /** + * 获取材料库-信息详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("platform:matrialInfo:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable String id) { + return R.ok(materialInfoService.queryById(id)); + } + + /** + * 新增材料库-信息 + */ + @SaCheckPermission("platform:matrialInfo:add") + @Log(title = "材料库-信息", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody MaterialInfoBo bo) { + return toAjax(materialInfoService.insertByBo(bo)); + } + + /** + * 修改材料库-信息 + */ + @SaCheckPermission("platform:matrialInfo:edit") + @Log(title = "材料库-信息", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody MaterialInfoBo bo) { + return toAjax(materialInfoService.updateByBo(bo)); + } + + /** + * 删除材料库-信息 + * + * @param ids 主键串 + */ + @SaCheckPermission("platform:matrialInfo:remove") + @Log(title = "材料库-信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable String[] ids) { + return toAjax(materialInfoService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/controller/OrganizationTypeController.java b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/controller/OrganizationTypeController.java new file mode 100644 index 0000000..bbc3707 --- /dev/null +++ b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/controller/OrganizationTypeController.java @@ -0,0 +1,105 @@ +package org.dromara.platform.controller; + +import java.util.List; + +import lombok.RequiredArgsConstructor; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.constraints.*; +import cn.dev33.satoken.annotation.SaCheckPermission; +import org.springframework.web.bind.annotation.*; +import org.springframework.validation.annotation.Validated; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.web.core.BaseController; +import org.dromara.common.mybatis.core.page.PageQuery; +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.log.enums.BusinessType; +import org.dromara.common.excel.utils.ExcelUtil; +import org.dromara.platform.domain.vo.OrganizationTypeVo; +import org.dromara.platform.domain.bo.OrganizationTypeBo; +import org.dromara.platform.service.IOrganizationTypeService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 所属机构-类别 + * + * @author gejunhao + * @date 2025-04-17 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/platform/organizationType") +public class OrganizationTypeController extends BaseController { + + private final IOrganizationTypeService organizationTypeService; + + /** + * 查询所属机构-类别列表 + */ + @SaCheckPermission("platform:organizationType:list") + @GetMapping("/list") + public TableDataInfo list(OrganizationTypeBo bo, PageQuery pageQuery) { + return organizationTypeService.queryPageList(bo, pageQuery); + } + + /** + * 导出所属机构-类别列表 + */ + @SaCheckPermission("platform:organizationType:export") + @Log(title = "所属机构-类别", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(OrganizationTypeBo bo, HttpServletResponse response) { + List list = organizationTypeService.queryList(bo); + ExcelUtil.exportExcel(list, "所属机构-类别", OrganizationTypeVo.class, response); + } + + /** + * 获取所属机构-类别详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("platform:organizationType:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable String id) { + return R.ok(organizationTypeService.queryById(id)); + } + + /** + * 新增所属机构-类别 + */ + @SaCheckPermission("platform:organizationType:add") + @Log(title = "所属机构-类别", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody OrganizationTypeBo bo) { + return toAjax(organizationTypeService.insertByBo(bo)); + } + + /** + * 修改所属机构-类别 + */ + @SaCheckPermission("platform:organizationType:edit") + @Log(title = "所属机构-类别", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody OrganizationTypeBo bo) { + return toAjax(organizationTypeService.updateByBo(bo)); + } + + /** + * 删除所属机构-类别 + * + * @param ids 主键串 + */ + @SaCheckPermission("platform:organizationType:remove") + @Log(title = "所属机构-类别", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable String[] ids) { + return toAjax(organizationTypeService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/domain/MaterialInfo.java b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/domain/MaterialInfo.java new file mode 100644 index 0000000..cbb41ed --- /dev/null +++ b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/domain/MaterialInfo.java @@ -0,0 +1,72 @@ +package org.dromara.platform.domain; + +import org.dromara.common.tenant.core.TenantEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 材料库-信息对象 material_info + * + * @author gejunhao + * @date 2025-04-17 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("material_info") +public class MaterialInfo extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 唯一标识符 + */ + @TableId(value = "id") + private String id; + + /** + * 名称 + */ + private String name; + + /** + * 规格 + */ + private String standards; + + /** + * 数量 + */ + private String amount; + + /** + * 单位 + */ + private String unit; + + /** + * 备注 + */ + private String remark; + + /** + * 项目id + */ + private String projectId; + + /** + * 当前状态 + */ + private Long status; + + /** + * 删除标志(0代表存在 2代表删除) + */ + @TableLogic + private String delFlag; + + +} diff --git a/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/domain/OrganizationType.java b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/domain/OrganizationType.java new file mode 100644 index 0000000..e0b3cf7 --- /dev/null +++ b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/domain/OrganizationType.java @@ -0,0 +1,47 @@ +package org.dromara.platform.domain; + +import org.dromara.common.tenant.core.TenantEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 所属机构-类别对象 organization_type + * + * @author gejunhao + * @date 2025-04-17 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("organization_type") +public class OrganizationType extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 唯一标识符 + */ + @TableId(value = "id") + private String id; + + /** + * 组织机构名称 + */ + private String organizationName; + + /** + * 当前状态 + */ + private Long status; + + /** + * 删除标志(0代表存在 2代表删除) + */ + @TableLogic + private String delFlag; + + +} diff --git a/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/domain/bo/MaterialInfoBo.java b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/domain/bo/MaterialInfoBo.java new file mode 100644 index 0000000..348ecea --- /dev/null +++ b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/domain/bo/MaterialInfoBo.java @@ -0,0 +1,72 @@ +package org.dromara.platform.domain.bo; + +import org.dromara.platform.domain.MaterialInfo; +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.*; + +/** + * 材料库-信息业务对象 material_info + * + * @author gejunhao + * @date 2025-04-17 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = MaterialInfo.class, reverseConvertGenerate = false) +public class MaterialInfoBo extends BaseEntity { + + /** + * 唯一标识符 + */ + @NotBlank(message = "唯一标识符不能为空", groups = { EditGroup.class }) + private String id; + + /** + * 名称 + */ + @NotBlank(message = "名称不能为空", groups = { AddGroup.class, EditGroup.class }) + private String name; + + /** + * 规格 + */ + @NotBlank(message = "规格不能为空", groups = { AddGroup.class, EditGroup.class }) + private String standards; + + /** + * 数量 + */ + @NotBlank(message = "数量不能为空", groups = { AddGroup.class, EditGroup.class }) + private String amount; + + /** + * 单位 + */ + @NotBlank(message = "单位不能为空", groups = { AddGroup.class, EditGroup.class }) + private String unit; + + /** + * 备注 + */ + //@NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class }) + private String remark; + + /** + * 项目id + */ + @NotBlank(message = "项目id不能为空", groups = { AddGroup.class, EditGroup.class }) + private String projectId; + + /** + * 当前状态 + */ + @NotNull(message = "当前状态不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long status; + + +} diff --git a/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/domain/bo/OrganizationTypeBo.java b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/domain/bo/OrganizationTypeBo.java new file mode 100644 index 0000000..50fc103 --- /dev/null +++ b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/domain/bo/OrganizationTypeBo.java @@ -0,0 +1,42 @@ +package org.dromara.platform.domain.bo; + +import org.dromara.platform.domain.OrganizationType; +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.*; + +/** + * 所属机构-类别业务对象 organization_type + * + * @author gejunhao + * @date 2025-04-17 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = OrganizationType.class, reverseConvertGenerate = false) +public class OrganizationTypeBo extends BaseEntity { + + /** + * 唯一标识符 + */ + @NotBlank(message = "唯一标识符不能为空", groups = { EditGroup.class }) + private String id; + + /** + * 组织机构名称 + */ + @NotBlank(message = "组织机构名称不能为空", groups = { AddGroup.class, EditGroup.class }) + private String organizationName; + + /** + * 当前状态 + */ + @NotNull(message = "当前状态不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long status; + + +} diff --git a/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/domain/bo/RoutineInspectionInfoBo.java b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/domain/bo/RoutineInspectionInfoBo.java index f68d9c0..b919b53 100644 --- a/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/domain/bo/RoutineInspectionInfoBo.java +++ b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/domain/bo/RoutineInspectionInfoBo.java @@ -10,6 +10,7 @@ import lombok.EqualsAndHashCode; import jakarta.validation.constraints.*; import java.util.Date; import com.fasterxml.jackson.annotation.JsonFormat; +import org.springframework.format.annotation.DateTimeFormat; /** * 日常巡检-计划业务对象 routine_inspection_info @@ -69,6 +70,7 @@ public class RoutineInspectionInfoBo extends BaseEntity { */ @NotNull(message = "计划开始时间不能为空", groups = { AddGroup.class, EditGroup.class }) @JsonFormat(pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") private Date scheduleStartDate; /** @@ -76,6 +78,7 @@ public class RoutineInspectionInfoBo extends BaseEntity { */ @NotNull(message = "计划结束时间不能为空", groups = { AddGroup.class, EditGroup.class }) @JsonFormat(pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") private Date scheduleEndDate; /** diff --git a/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/domain/vo/MaterialInfoVo.java b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/domain/vo/MaterialInfoVo.java new file mode 100644 index 0000000..cfedc36 --- /dev/null +++ b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/domain/vo/MaterialInfoVo.java @@ -0,0 +1,80 @@ +package org.dromara.platform.domain.vo; + +import org.dromara.platform.domain.MaterialInfo; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * 材料库-信息视图对象 material_info + * + * @author gejunhao + * @date 2025-04-17 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = MaterialInfo.class) +public class MaterialInfoVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 唯一标识符 + */ + @ExcelProperty(value = "唯一标识符") + private String id; + + /** + * 名称 + */ + @ExcelProperty(value = "名称") + private String name; + + /** + * 规格 + */ + @ExcelProperty(value = "规格") + private String standards; + + /** + * 数量 + */ + @ExcelProperty(value = "数量") + private String amount; + + /** + * 单位 + */ + @ExcelProperty(value = "单位") + private String unit; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + /** + * 项目id + */ + @ExcelProperty(value = "项目id") + private String projectId; + + /** + * 当前状态 + */ + @ExcelProperty(value = "当前状态") + private Long status; + + +} diff --git a/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/domain/vo/OrganizationTypeVo.java b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/domain/vo/OrganizationTypeVo.java new file mode 100644 index 0000000..63ef1d5 --- /dev/null +++ b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/domain/vo/OrganizationTypeVo.java @@ -0,0 +1,50 @@ +package org.dromara.platform.domain.vo; + +import org.dromara.platform.domain.OrganizationType; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import org.dromara.common.excel.annotation.ExcelDictFormat; +import org.dromara.common.excel.convert.ExcelDictConvert; +import io.github.linpeilie.annotations.AutoMapper; +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; +import java.util.Date; + + + +/** + * 所属机构-类别视图对象 organization_type + * + * @author gejunhao + * @date 2025-04-17 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = OrganizationType.class) +public class OrganizationTypeVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 唯一标识符 + */ + @ExcelProperty(value = "唯一标识符") + private String id; + + /** + * 组织机构名称 + */ + @ExcelProperty(value = "组织机构名称") + private String organizationName; + + /** + * 当前状态 + */ + @ExcelProperty(value = "当前状态") + private Long status; + + +} diff --git a/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/mapper/MaterialInfoMapper.java b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/mapper/MaterialInfoMapper.java new file mode 100644 index 0000000..d463fe1 --- /dev/null +++ b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/mapper/MaterialInfoMapper.java @@ -0,0 +1,15 @@ +package org.dromara.platform.mapper; + +import org.dromara.platform.domain.MaterialInfo; +import org.dromara.platform.domain.vo.MaterialInfoVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 材料库-信息Mapper接口 + * + * @author gejunhao + * @date 2025-04-17 + */ +public interface MaterialInfoMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/mapper/OrganizationTypeMapper.java b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/mapper/OrganizationTypeMapper.java new file mode 100644 index 0000000..fd1baa1 --- /dev/null +++ b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/mapper/OrganizationTypeMapper.java @@ -0,0 +1,15 @@ +package org.dromara.platform.mapper; + +import org.dromara.platform.domain.OrganizationType; +import org.dromara.platform.domain.vo.OrganizationTypeVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 所属机构-类别Mapper接口 + * + * @author gejunhao + * @date 2025-04-17 + */ +public interface OrganizationTypeMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/IMaterialInfoService.java b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/IMaterialInfoService.java new file mode 100644 index 0000000..8efe791 --- /dev/null +++ b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/IMaterialInfoService.java @@ -0,0 +1,68 @@ +package org.dromara.platform.service; + +import org.dromara.platform.domain.vo.MaterialInfoVo; +import org.dromara.platform.domain.bo.MaterialInfoBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 材料库-信息Service接口 + * + * @author gejunhao + * @date 2025-04-17 + */ +public interface IMaterialInfoService { + + /** + * 查询材料库-信息 + * + * @param id 主键 + * @return 材料库-信息 + */ + MaterialInfoVo queryById(String id); + + /** + * 分页查询材料库-信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 材料库-信息分页列表 + */ + TableDataInfo queryPageList(MaterialInfoBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的材料库-信息列表 + * + * @param bo 查询条件 + * @return 材料库-信息列表 + */ + List queryList(MaterialInfoBo bo); + + /** + * 新增材料库-信息 + * + * @param bo 材料库-信息 + * @return 是否新增成功 + */ + Boolean insertByBo(MaterialInfoBo bo); + + /** + * 修改材料库-信息 + * + * @param bo 材料库-信息 + * @return 是否修改成功 + */ + Boolean updateByBo(MaterialInfoBo bo); + + /** + * 校验并批量删除材料库-信息信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/IOrganizationTypeService.java b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/IOrganizationTypeService.java new file mode 100644 index 0000000..9f6ad1d --- /dev/null +++ b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/IOrganizationTypeService.java @@ -0,0 +1,68 @@ +package org.dromara.platform.service; + +import org.dromara.platform.domain.vo.OrganizationTypeVo; +import org.dromara.platform.domain.bo.OrganizationTypeBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 所属机构-类别Service接口 + * + * @author gejunhao + * @date 2025-04-17 + */ +public interface IOrganizationTypeService { + + /** + * 查询所属机构-类别 + * + * @param id 主键 + * @return 所属机构-类别 + */ + OrganizationTypeVo queryById(String id); + + /** + * 分页查询所属机构-类别列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 所属机构-类别分页列表 + */ + TableDataInfo queryPageList(OrganizationTypeBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的所属机构-类别列表 + * + * @param bo 查询条件 + * @return 所属机构-类别列表 + */ + List queryList(OrganizationTypeBo bo); + + /** + * 新增所属机构-类别 + * + * @param bo 所属机构-类别 + * @return 是否新增成功 + */ + Boolean insertByBo(OrganizationTypeBo bo); + + /** + * 修改所属机构-类别 + * + * @param bo 所属机构-类别 + * @return 是否修改成功 + */ + Boolean updateByBo(OrganizationTypeBo bo); + + /** + * 校验并批量删除所属机构-类别信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/impl/MaterialInfoServiceImpl.java b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/impl/MaterialInfoServiceImpl.java new file mode 100644 index 0000000..390accd --- /dev/null +++ b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/impl/MaterialInfoServiceImpl.java @@ -0,0 +1,134 @@ +package org.dromara.platform.service.impl; + +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.dromara.platform.domain.bo.MaterialInfoBo; +import org.dromara.platform.domain.vo.MaterialInfoVo; +import org.dromara.platform.domain.MaterialInfo; +import org.dromara.platform.mapper.MaterialInfoMapper; +import org.dromara.platform.service.IMaterialInfoService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 材料库-信息Service业务层处理 + * + * @author gejunhao + * @date 2025-04-17 + */ +@RequiredArgsConstructor +@Service +public class MaterialInfoServiceImpl implements IMaterialInfoService { + + private final MaterialInfoMapper baseMapper; + + /** + * 查询材料库-信息 + * + * @param id 主键 + * @return 材料库-信息 + */ + @Override + public MaterialInfoVo queryById(String id){ + return baseMapper.selectVoById(id); + } + + /** + * 分页查询材料库-信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 材料库-信息分页列表 + */ + @Override + public TableDataInfo queryPageList(MaterialInfoBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的材料库-信息列表 + * + * @param bo 查询条件 + * @return 材料库-信息列表 + */ + @Override + public List queryList(MaterialInfoBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(MaterialInfoBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.like(StringUtils.isNotBlank(bo.getName()), MaterialInfo::getName, bo.getName()); + lqw.eq(StringUtils.isNotBlank(bo.getStandards()), MaterialInfo::getStandards, bo.getStandards()); + lqw.eq(StringUtils.isNotBlank(bo.getAmount()), MaterialInfo::getAmount, bo.getAmount()); + lqw.eq(StringUtils.isNotBlank(bo.getUnit()), MaterialInfo::getUnit, bo.getUnit()); + lqw.eq(StringUtils.isNotBlank(bo.getProjectId()), MaterialInfo::getProjectId, bo.getProjectId()); + lqw.eq(bo.getStatus() != null, MaterialInfo::getStatus, bo.getStatus()); + return lqw; + } + + /** + * 新增材料库-信息 + * + * @param bo 材料库-信息 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(MaterialInfoBo bo) { + MaterialInfo add = MapstructUtils.convert(bo, MaterialInfo.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改材料库-信息 + * + * @param bo 材料库-信息 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(MaterialInfoBo bo) { + MaterialInfo update = MapstructUtils.convert(bo, MaterialInfo.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(MaterialInfo entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除材料库-信息信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/impl/OrganizationTypeServiceImpl.java b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/impl/OrganizationTypeServiceImpl.java new file mode 100644 index 0000000..4dd9bc6 --- /dev/null +++ b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/impl/OrganizationTypeServiceImpl.java @@ -0,0 +1,130 @@ +package org.dromara.platform.service.impl; + +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.dromara.platform.domain.bo.OrganizationTypeBo; +import org.dromara.platform.domain.vo.OrganizationTypeVo; +import org.dromara.platform.domain.OrganizationType; +import org.dromara.platform.mapper.OrganizationTypeMapper; +import org.dromara.platform.service.IOrganizationTypeService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 所属机构-类别Service业务层处理 + * + * @author gejunhao + * @date 2025-04-17 + */ +@RequiredArgsConstructor +@Service +public class OrganizationTypeServiceImpl implements IOrganizationTypeService { + + private final OrganizationTypeMapper baseMapper; + + /** + * 查询所属机构-类别 + * + * @param id 主键 + * @return 所属机构-类别 + */ + @Override + public OrganizationTypeVo queryById(String id){ + return baseMapper.selectVoById(id); + } + + /** + * 分页查询所属机构-类别列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 所属机构-类别分页列表 + */ + @Override + public TableDataInfo queryPageList(OrganizationTypeBo bo, PageQuery pageQuery) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的所属机构-类别列表 + * + * @param bo 查询条件 + * @return 所属机构-类别列表 + */ + @Override + public List queryList(OrganizationTypeBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(OrganizationTypeBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.like(StringUtils.isNotBlank(bo.getOrganizationName()), OrganizationType::getOrganizationName, bo.getOrganizationName()); + lqw.eq(bo.getStatus() != null, OrganizationType::getStatus, bo.getStatus()); + return lqw; + } + + /** + * 新增所属机构-类别 + * + * @param bo 所属机构-类别 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(OrganizationTypeBo bo) { + OrganizationType add = MapstructUtils.convert(bo, OrganizationType.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改所属机构-类别 + * + * @param bo 所属机构-类别 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(OrganizationTypeBo bo) { + OrganizationType update = MapstructUtils.convert(bo, OrganizationType.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(OrganizationType entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除所属机构-类别信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/impl/RoutineInspectionInfoServiceImpl.java b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/impl/RoutineInspectionInfoServiceImpl.java index 4162806..50ed5c3 100644 --- a/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/impl/RoutineInspectionInfoServiceImpl.java +++ b/ruoyi-modules/guoyan-platform/src/main/java/org/dromara/platform/service/impl/RoutineInspectionInfoServiceImpl.java @@ -56,7 +56,7 @@ public class RoutineInspectionInfoServiceImpl implements IRoutineInspectionInfoS LambdaQueryWrapper lqw = buildQueryWrapper(bo); Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); List records = result.getRecords(); - //过滤 records中的每一个元素 交付内容不是 "例行操作"的元素 用Stream流 + //过滤 records中`的每一个元素 交付内容不是 "例行操作"的元素 用Stream流 List filteredRecords = records.stream() .filter(record -> "例行操作".equals(record.getDeliverContent())) .collect(Collectors.toList()); @@ -85,13 +85,22 @@ public class RoutineInspectionInfoServiceImpl implements IRoutineInspectionInfoS lqw.eq(bo.getServiceProject() != null, RoutineInspectionInfo::getServiceProject, bo.getServiceProject()); lqw.eq(StringUtils.isNotBlank(bo.getCode()), RoutineInspectionInfo::getCode, bo.getCode()); lqw.eq(StringUtils.isNotBlank(bo.getIoCompany()), RoutineInspectionInfo::getIoCompany, bo.getIoCompany()); - lqw.eq(bo.getScheduleStartDate() != null, RoutineInspectionInfo::getScheduleStartDate, bo.getScheduleStartDate()); - lqw.eq(bo.getScheduleEndDate() != null, RoutineInspectionInfo::getScheduleEndDate, bo.getScheduleEndDate()); + //lqw.eq(bo.getScheduleStartDate() != null, RoutineInspectionInfo::getScheduleStartDate, bo.getScheduleStartDate()); + //lqw.eq(bo.getScheduleEndDate() != null, RoutineInspectionInfo::getScheduleEndDate, bo.getScheduleEndDate()); lqw.eq(bo.getFinishDate() != null, RoutineInspectionInfo::getFinishDate, bo.getFinishDate()); lqw.eq(StringUtils.isNotBlank(bo.getPointName()), RoutineInspectionInfo::getPointName, bo.getPointName()); lqw.eq(bo.getStatus() != null, RoutineInspectionInfo::getStatus, bo.getStatus()); lqw.eq(StringUtils.isNotBlank(bo.getHandler()), RoutineInspectionInfo::getHandler, bo.getHandler()); lqw.eq(StringUtils.isNotBlank(bo.getApprover()), RoutineInspectionInfo::getApprover, bo.getApprover()); + + + // 对 scheduleStartDate 和 scheduleEndDate 进行范围查询 + if (bo.getScheduleStartDate() != null) { + lqw.ge(RoutineInspectionInfo::getScheduleStartDate, bo.getScheduleStartDate()); + } + if (bo.getScheduleEndDate() != null) { + lqw.le(RoutineInspectionInfo::getScheduleEndDate, bo.getScheduleEndDate()); + } return lqw; }