diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/CarInfoController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/CarInfoController.java new file mode 100644 index 00000000..059e656b --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/CarInfoController.java @@ -0,0 +1,106 @@ +package org.dromara.property.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.property.domain.vo.CarInfoVo; +import org.dromara.property.domain.bo.CarInfoBo; +import org.dromara.property.service.ICarInfoService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 车辆管理-车辆信息 + * 前端访问路由地址为:/property/carInfo + * + * @author mocheng + * @date 2025-07-26 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/carInfo") +public class CarInfoController extends BaseController { + + private final ICarInfoService carInfoService; + + /** + * 查询车辆管理-车辆信息列表 + */ + @SaCheckPermission("property:carInfo:list") + @GetMapping("/list") + public TableDataInfo list(CarInfoBo bo, PageQuery pageQuery) { + return carInfoService.queryPageList(bo, pageQuery); + } + + /** + * 导出车辆管理-车辆信息列表 + */ + @SaCheckPermission("property:carInfo:export") + @Log(title = "车辆管理-车辆信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(CarInfoBo bo, HttpServletResponse response) { + List list = carInfoService.queryList(bo); + ExcelUtil.exportExcel(list, "车辆管理-车辆信息", CarInfoVo.class, response); + } + + /** + * 获取车辆管理-车辆信息详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("property:carInfo:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable("id") Long id) { + return R.ok(carInfoService.queryById(id)); + } + + /** + * 新增车辆管理-车辆信息 + */ + @SaCheckPermission("property:carInfo:add") + @Log(title = "车辆管理-车辆信息", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody CarInfoBo bo) { + return toAjax(carInfoService.insertByBo(bo)); + } + + /** + * 修改车辆管理-车辆信息 + */ + @SaCheckPermission("property:carInfo:edit") + @Log(title = "车辆管理-车辆信息", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody CarInfoBo bo) { + return toAjax(carInfoService.updateByBo(bo)); + } + + /** + * 删除车辆管理-车辆信息 + * + * @param ids 主键串 + */ + @SaCheckPermission("property:carInfo:remove") + @Log(title = "车辆管理-车辆信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable("ids") Long[] ids) { + return toAjax(carInfoService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/CarTypeController.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/CarTypeController.java new file mode 100644 index 00000000..1572a3b8 --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/controller/CarTypeController.java @@ -0,0 +1,106 @@ +package org.dromara.property.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.property.domain.vo.CarTypeVo; +import org.dromara.property.domain.bo.CarTypeBo; +import org.dromara.property.service.ICarTypeService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 车辆管理-车辆类型 + * 前端访问路由地址为:/property/carType + * + * @author mocheng + * @date 2025-07-26 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/carType") +public class CarTypeController extends BaseController { + + private final ICarTypeService carTypeService; + + /** + * 查询车辆管理-车辆类型列表 + */ + @SaCheckPermission("property:carType:list") + @GetMapping("/list") + public TableDataInfo list(CarTypeBo bo, PageQuery pageQuery) { + return carTypeService.queryPageList(bo, pageQuery); + } + + /** + * 导出车辆管理-车辆类型列表 + */ + @SaCheckPermission("property:carType:export") + @Log(title = "车辆管理-车辆类型", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(CarTypeBo bo, HttpServletResponse response) { + List list = carTypeService.queryList(bo); + ExcelUtil.exportExcel(list, "车辆管理-车辆类型", CarTypeVo.class, response); + } + + /** + * 获取车辆管理-车辆类型详细信息 + * + * @param id 主键 + */ + @SaCheckPermission("property:carType:query") + @GetMapping("/{id}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable("id") Long id) { + return R.ok(carTypeService.queryById(id)); + } + + /** + * 新增车辆管理-车辆类型 + */ + @SaCheckPermission("property:carType:add") + @Log(title = "车辆管理-车辆类型", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody CarTypeBo bo) { + return toAjax(carTypeService.insertByBo(bo)); + } + + /** + * 修改车辆管理-车辆类型 + */ + @SaCheckPermission("property:carType:edit") + @Log(title = "车辆管理-车辆类型", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody CarTypeBo bo) { + return toAjax(carTypeService.updateByBo(bo)); + } + + /** + * 删除车辆管理-车辆类型 + * + * @param ids 主键串 + */ + @SaCheckPermission("property:carType:remove") + @Log(title = "车辆管理-车辆类型", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable("ids") Long[] ids) { + return toAjax(carTypeService.deleteWithValidByIds(List.of(ids), true)); + } +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/CarInfo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/CarInfo.java new file mode 100644 index 00000000..a6d9f242 --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/CarInfo.java @@ -0,0 +1,83 @@ +package org.dromara.property.domain; + +import org.dromara.common.tenant.core.TenantEntity; +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; + +/** + * 车辆管理-车辆信息对象 car_info + * + * @author mocheng + * @date 2025-07-26 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("car_info") +public class CarInfo extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "id") + private Long id; + + /** + * 车牌号 + */ + private String carNumber; + + /** + * 车架号 + */ + private String carFrameNumber; + + /** + * 车辆颜色 + */ + private String carColour; + + /** + * 品牌型号 + */ + private String carBrand; + + /** + * 车辆类型id + */ + private Long carTypeId; + + /** + * 登记日期 + */ + private Date carRecordDates; + + /** + * 预计停留 + */ + private Integer plannedStay; + + /** + * 车主 + */ + private Long carOwners; + + /** + * 备注 + */ + private String remark; + + /** + * 搜索值 + */ + private String searchValue; + + +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/CarType.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/CarType.java new file mode 100644 index 00000000..3f290e46 --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/CarType.java @@ -0,0 +1,51 @@ +package org.dromara.property.domain; + +import org.dromara.common.tenant.core.TenantEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 车辆管理-车辆类型对象 car_type + * + * @author mocheng + * @date 2025-07-26 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("car_type") +public class CarType extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "id") + private Long id; + + /** + * 车辆类型编码 + */ + private String carTypeNumber; + + /** + * 车辆类型名称 + */ + private String carTypeName; + + /** + * 说明 + */ + private String remark; + + /** + * 搜索值 + */ + private String searchValue; + + +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/ResidentPerson.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/ResidentPerson.java index 6d044d7f..015a4355 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/ResidentPerson.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/ResidentPerson.java @@ -40,6 +40,10 @@ public class ResidentPerson extends TenantEntity { * 联系电话 */ private String phone; + /** + * 人员类型 + */ + private String type; /** * 身份证号 */ diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CarInfoBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CarInfoBo.java new file mode 100644 index 00000000..87359efb --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CarInfoBo.java @@ -0,0 +1,78 @@ +package org.dromara.property.domain.bo; + +import org.dromara.property.domain.CarInfo; +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; + +/** + * 车辆管理-车辆信息业务对象 car_info + * + * @author mocheng + * @date 2025-07-26 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = CarInfo.class, reverseConvertGenerate = false) +public class CarInfoBo extends BaseEntity { + + /** + * 主键 + */ + private Long id; + + /** + * 车牌号 + */ + @NotBlank(message = "车牌号不能为空", groups = { AddGroup.class, EditGroup.class }) + private String carNumber; + + /** + * 车架号 + */ + @NotBlank(message = "车架号不能为空", groups = { AddGroup.class, EditGroup.class }) + private String carFrameNumber; + + /** + * 车辆颜色 + */ + private String carColour; + + /** + * 品牌型号 + */ + private String carBrand; + + /** + * 车辆类型id + */ + private Long carTypeId; + + /** + * 登记日期 + */ + private Date carRecordDates; + + /** + * 预计停留 + */ + private Integer plannedStay; + + /** + * 车主 + */ + private Long carOwners; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CarTypeBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CarTypeBo.java new file mode 100644 index 00000000..cd1b8325 --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/CarTypeBo.java @@ -0,0 +1,46 @@ +package org.dromara.property.domain.bo; + +import org.dromara.property.domain.CarType; +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.*; + +/** + * 车辆管理-车辆类型业务对象 car_type + * + * @author mocheng + * @date 2025-07-26 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = CarType.class, reverseConvertGenerate = false) +public class CarTypeBo extends BaseEntity { + + /** + * 主键 + */ + private Long id; + + /** + * 车辆类型编码 + */ + @NotBlank(message = "车辆类型编码不能为空", groups = { AddGroup.class, EditGroup.class }) + private String carTypeNumber; + + /** + * 车辆类型名称 + */ + @NotBlank(message = "车辆类型名称不能为空", groups = { AddGroup.class, EditGroup.class }) + private String carTypeName; + + /** + * 说明 + */ + private String remark; + + +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/ResidentPersonBo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/ResidentPersonBo.java index ed679f09..da62b997 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/ResidentPersonBo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/bo/ResidentPersonBo.java @@ -38,7 +38,11 @@ public class ResidentPersonBo extends BaseEntity { */ @NotBlank(message = "联系电话不能为空", groups = { AddGroup.class, EditGroup.class }) private String phone; - + /** + * 人员类型 + */ + @NotBlank(message = "人员类型不能为空", groups = { AddGroup.class, EditGroup.class }) + private String type; /** * 性别 */ diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CapitalApplicationVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CapitalApplicationVo.java index 86376ebe..420776bd 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CapitalApplicationVo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CapitalApplicationVo.java @@ -52,6 +52,13 @@ public class CapitalApplicationVo implements Serializable { @ExcelProperty(value = "申请人id") private Long applicat; + + /** + * 申请人名称 + */ + @ExcelProperty(value = "申请人名称") + private String applicatName; + /** * 申请人手机号 */ @@ -64,6 +71,12 @@ public class CapitalApplicationVo implements Serializable { @ExcelProperty(value = "供应商id") private Long supplier; + /** + * 供应商名称 + */ + @ExcelProperty(value = "供应商名称") + private String supplierName; + /** * 采购方式 @@ -96,6 +109,10 @@ public class CapitalApplicationVo implements Serializable { * 审核人 */ private Long audit; + /** + * 审核人名称 + */ + private String auditName; /** * 备注 */ diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CarInfoVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CarInfoVo.java new file mode 100644 index 00000000..728c3759 --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CarInfoVo.java @@ -0,0 +1,94 @@ +package org.dromara.property.domain.vo; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.dromara.property.domain.CarInfo; +import cn.idev.excel.annotation.ExcelIgnoreUnannotated; +import cn.idev.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; + + + +/** + * 车辆管理-车辆信息视图对象 car_info + * + * @author mocheng + * @date 2025-07-26 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = CarInfo.class) +public class CarInfoVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ExcelProperty(value = "主键") + private Long id; + + /** + * 车牌号 + */ + @ExcelProperty(value = "车牌号") + private String carNumber; + + /** + * 车架号 + */ + @ExcelProperty(value = "车架号") + private String carFrameNumber; + + /** + * 车辆颜色 + */ + @ExcelProperty(value = "车辆颜色") + private String carColour; + + /** + * 品牌型号 + */ + @ExcelProperty(value = "品牌型号") + private String carBrand; + + /** + * 车辆类型id + */ + @ExcelProperty(value = "车辆类型id") + private Long carTypeId; + + /** + * 登记日期 + */ + @ExcelProperty(value = "登记日期") + private Date carRecordDates; + + /** + * 预计停留 + */ + @ExcelProperty(value = "预计停留") + private Integer plannedStay; + + /** + * 车主 + */ + @ExcelProperty(value = "车主") + private Long carOwners; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CarTypeVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CarTypeVo.java new file mode 100644 index 00000000..b735f215 --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/CarTypeVo.java @@ -0,0 +1,56 @@ +package org.dromara.property.domain.vo; + +import org.dromara.property.domain.CarType; +import cn.idev.excel.annotation.ExcelIgnoreUnannotated; +import cn.idev.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; + + + +/** + * 车辆管理-车辆类型视图对象 car_type + * + * @author mocheng + * @date 2025-07-26 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = CarType.class) +public class CarTypeVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @ExcelProperty(value = "主键") + private Long id; + + /** + * 车辆类型编码 + */ + @ExcelProperty(value = "车辆类型编码") + private String carTypeNumber; + + /** + * 车辆类型名称 + */ + @ExcelProperty(value = "车辆类型名称") + private String carTypeName; + + /** + * 说明 + */ + @ExcelProperty(value = "说明") + private String remark; + + +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/ResidentPersonVo.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/ResidentPersonVo.java index 54d18d71..2ff3eb57 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/ResidentPersonVo.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/domain/vo/ResidentPersonVo.java @@ -43,7 +43,10 @@ public class ResidentPersonVo implements Serializable { */ @ExcelProperty(value = "用户名称") private String userName; - + /** + * 人员类型 + */ + private String type; /** * 联系电话 */ diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/CarInfoMapper.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/CarInfoMapper.java new file mode 100644 index 00000000..891c8dd8 --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/CarInfoMapper.java @@ -0,0 +1,15 @@ +package org.dromara.property.mapper; + +import org.dromara.property.domain.CarInfo; +import org.dromara.property.domain.vo.CarInfoVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 车辆管理-车辆信息Mapper接口 + * + * @author mocheng + * @date 2025-07-26 + */ +public interface CarInfoMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/CarTypeMapper.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/CarTypeMapper.java new file mode 100644 index 00000000..e9c20a23 --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/mapper/CarTypeMapper.java @@ -0,0 +1,15 @@ +package org.dromara.property.mapper; + +import org.dromara.property.domain.CarType; +import org.dromara.property.domain.vo.CarTypeVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 车辆管理-车辆类型Mapper接口 + * + * @author mocheng + * @date 2025-07-26 + */ +public interface CarTypeMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ICarInfoService.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ICarInfoService.java new file mode 100644 index 00000000..975b1435 --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ICarInfoService.java @@ -0,0 +1,69 @@ +package org.dromara.property.service; + +import org.dromara.property.domain.CarInfo; +import org.dromara.property.domain.vo.CarInfoVo; +import org.dromara.property.domain.bo.CarInfoBo; +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 mocheng + * @date 2025-07-26 + */ +public interface ICarInfoService { + + /** + * 查询车辆管理-车辆信息 + * + * @param id 主键 + * @return 车辆管理-车辆信息 + */ + CarInfoVo queryById(Long id); + + /** + * 分页查询车辆管理-车辆信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 车辆管理-车辆信息分页列表 + */ + TableDataInfo queryPageList(CarInfoBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的车辆管理-车辆信息列表 + * + * @param bo 查询条件 + * @return 车辆管理-车辆信息列表 + */ + List queryList(CarInfoBo bo); + + /** + * 新增车辆管理-车辆信息 + * + * @param bo 车辆管理-车辆信息 + * @return 是否新增成功 + */ + Boolean insertByBo(CarInfoBo bo); + + /** + * 修改车辆管理-车辆信息 + * + * @param bo 车辆管理-车辆信息 + * @return 是否修改成功 + */ + Boolean updateByBo(CarInfoBo bo); + + /** + * 校验并批量删除车辆管理-车辆信息信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ICarTypeService.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ICarTypeService.java new file mode 100644 index 00000000..8efc4af1 --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/ICarTypeService.java @@ -0,0 +1,69 @@ +package org.dromara.property.service; + +import org.dromara.property.domain.CarType; +import org.dromara.property.domain.vo.CarTypeVo; +import org.dromara.property.domain.bo.CarTypeBo; +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 mocheng + * @date 2025-07-26 + */ +public interface ICarTypeService { + + /** + * 查询车辆管理-车辆类型 + * + * @param id 主键 + * @return 车辆管理-车辆类型 + */ + CarTypeVo queryById(Long id); + + /** + * 分页查询车辆管理-车辆类型列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 车辆管理-车辆类型分页列表 + */ + TableDataInfo queryPageList(CarTypeBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的车辆管理-车辆类型列表 + * + * @param bo 查询条件 + * @return 车辆管理-车辆类型列表 + */ + List queryList(CarTypeBo bo); + + /** + * 新增车辆管理-车辆类型 + * + * @param bo 车辆管理-车辆类型 + * @return 是否新增成功 + */ + Boolean insertByBo(CarTypeBo bo); + + /** + * 修改车辆管理-车辆类型 + * + * @param bo 车辆管理-车辆类型 + * @return 是否修改成功 + */ + Boolean updateByBo(CarTypeBo bo); + + /** + * 校验并批量删除车辆管理-车辆类型信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CapitalApplicationServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CapitalApplicationServiceImpl.java index c746cce8..60eecb0c 100644 --- a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CapitalApplicationServiceImpl.java +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CapitalApplicationServiceImpl.java @@ -1,5 +1,6 @@ package org.dromara.property.service.impl; +import cn.hutool.core.collection.CollUtil; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.TableDataInfo; @@ -9,17 +10,12 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.dromara.property.domain.Asset; -import org.dromara.property.domain.CapitalInfo; -import org.dromara.property.domain.DepotLog; -import org.dromara.property.mapper.AssetMapper; -import org.dromara.property.mapper.CapitalInfoMapper; -import org.dromara.property.mapper.DepotLogMapper; +import org.dromara.property.domain.*; +import org.dromara.property.domain.vo.CostItemsVo; +import org.dromara.property.mapper.*; import org.springframework.stereotype.Service; import org.dromara.property.domain.bo.CapitalApplicationBo; import org.dromara.property.domain.vo.CapitalApplicationVo; -import org.dromara.property.domain.CapitalApplication; -import org.dromara.property.mapper.CapitalApplicationMapper; import org.dromara.property.service.ICapitalApplicationService; import org.springframework.transaction.annotation.Transactional; @@ -43,6 +39,8 @@ public class CapitalApplicationServiceImpl implements ICapitalApplicationService private final CapitalInfoMapper capitalMapper; private final AssetMapper assetsMapper; private final DepotLogMapper depotLogMapper; + private final SuppliersMapper supplierMapper; + private final ResidentPersonMapper residentPersonMapper; /** * 查询资产申请 @@ -52,7 +50,11 @@ public class CapitalApplicationServiceImpl implements ICapitalApplicationService */ @Override public CapitalApplicationVo queryById(Long id) { - return baseMapper.selectVoById(id); + CapitalApplicationVo capitalApplicationVo = baseMapper.selectVoById(id); + List suppliersList = supplierMapper.selectList(); + List residentPeopleList = residentPersonMapper.selectList(); + assembly(suppliersList, residentPeopleList,capitalApplicationVo); + return capitalApplicationVo; } /** @@ -66,9 +68,36 @@ public class CapitalApplicationServiceImpl implements ICapitalApplicationService public TableDataInfo queryPageList(CapitalApplicationBo bo, PageQuery pageQuery) { LambdaQueryWrapper lqw = buildQueryWrapper(bo); Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + if (CollUtil.isNotEmpty(result.getRecords())) { + List suppliersList = supplierMapper.selectList(); + List residentPeopleList = residentPersonMapper.selectList(); + result.getRecords().stream().forEach(s -> { + assembly(suppliersList, residentPeopleList,s); + } + ); + } return TableDataInfo.build(result); } + /** + * 组装数据 + */ + private void assembly(List suppliersList,List residentPeopleList,CapitalApplicationVo capitalApplicationVo) { + if (CollUtil.isNotEmpty(suppliersList)) { + Suppliers suppliers = suppliersList.stream() + .filter(vo -> vo.getId() != null && vo.getId().equals(capitalApplicationVo.getSupplier())).findFirst().orElse(null); + capitalApplicationVo.setSupplierName(suppliers.getSuppliersName()); + } + if (CollUtil.isNotEmpty(residentPeopleList)) { + ResidentPerson residentPerson = residentPeopleList.stream() + .filter(vo -> vo.getId() != null && vo.getId().equals(capitalApplicationVo.getApplicat())).findFirst().orElse(null); + capitalApplicationVo.setApplicatName(residentPerson.getUserName()); + ResidentPerson residentPersons = residentPeopleList.stream() + .filter(vo -> vo.getId() != null && vo.getId().equals(capitalApplicationVo.getAudit())).findFirst().orElse(null); + capitalApplicationVo.setAuditName(residentPersons.getUserName()); + } + } + /** * 查询符合条件的资产申请列表 * diff --git a/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CarInfoServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CarInfoServiceImpl.java new file mode 100644 index 00000000..c6b712fc --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CarInfoServiceImpl.java @@ -0,0 +1,139 @@ +package org.dromara.property.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 lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.dromara.property.domain.bo.CarInfoBo; +import org.dromara.property.domain.vo.CarInfoVo; +import org.dromara.property.domain.CarInfo; +import org.dromara.property.mapper.CarInfoMapper; +import org.dromara.property.service.ICarInfoService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 车辆管理-车辆信息Service业务层处理 + * + * @author mocheng + * @date 2025-07-26 + */ +@Slf4j +@RequiredArgsConstructor +@Service +public class CarInfoServiceImpl implements ICarInfoService { + + private final CarInfoMapper baseMapper; + + /** + * 查询车辆管理-车辆信息 + * + * @param id 主键 + * @return 车辆管理-车辆信息 + */ + @Override + public CarInfoVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 分页查询车辆管理-车辆信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 车辆管理-车辆信息分页列表 + */ + @Override + public TableDataInfo queryPageList(CarInfoBo 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(CarInfoBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(CarInfoBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.orderByAsc(CarInfo::getId); + lqw.eq(StringUtils.isNotBlank(bo.getCarNumber()), CarInfo::getCarNumber, bo.getCarNumber()); + lqw.eq(StringUtils.isNotBlank(bo.getCarFrameNumber()), CarInfo::getCarFrameNumber, bo.getCarFrameNumber()); + lqw.eq(StringUtils.isNotBlank(bo.getCarColour()), CarInfo::getCarColour, bo.getCarColour()); + lqw.eq(StringUtils.isNotBlank(bo.getCarBrand()), CarInfo::getCarBrand, bo.getCarBrand()); + lqw.eq(bo.getCarTypeId() != null, CarInfo::getCarTypeId, bo.getCarTypeId()); + lqw.eq(bo.getCarRecordDates() != null, CarInfo::getCarRecordDates, bo.getCarRecordDates()); + lqw.eq(bo.getPlannedStay() != null, CarInfo::getPlannedStay, bo.getPlannedStay()); + lqw.eq(bo.getCarOwners() != null, CarInfo::getCarOwners, bo.getCarOwners()); + return lqw; + } + + /** + * 新增车辆管理-车辆信息 + * + * @param bo 车辆管理-车辆信息 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(CarInfoBo bo) { + CarInfo add = MapstructUtils.convert(bo, CarInfo.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改车辆管理-车辆信息 + * + * @param bo 车辆管理-车辆信息 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(CarInfoBo bo) { + CarInfo update = MapstructUtils.convert(bo, CarInfo.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(CarInfo 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/Property/src/main/java/org/dromara/property/service/impl/CarTypeServiceImpl.java b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CarTypeServiceImpl.java new file mode 100644 index 00000000..1fc20aa0 --- /dev/null +++ b/ruoyi-modules/Property/src/main/java/org/dromara/property/service/impl/CarTypeServiceImpl.java @@ -0,0 +1,133 @@ +package org.dromara.property.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 lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.dromara.property.domain.bo.CarTypeBo; +import org.dromara.property.domain.vo.CarTypeVo; +import org.dromara.property.domain.CarType; +import org.dromara.property.mapper.CarTypeMapper; +import org.dromara.property.service.ICarTypeService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 车辆管理-车辆类型Service业务层处理 + * + * @author mocheng + * @date 2025-07-26 + */ +@Slf4j +@RequiredArgsConstructor +@Service +public class CarTypeServiceImpl implements ICarTypeService { + + private final CarTypeMapper baseMapper; + + /** + * 查询车辆管理-车辆类型 + * + * @param id 主键 + * @return 车辆管理-车辆类型 + */ + @Override + public CarTypeVo queryById(Long id){ + return baseMapper.selectVoById(id); + } + + /** + * 分页查询车辆管理-车辆类型列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 车辆管理-车辆类型分页列表 + */ + @Override + public TableDataInfo queryPageList(CarTypeBo 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(CarTypeBo bo) { + LambdaQueryWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private LambdaQueryWrapper buildQueryWrapper(CarTypeBo bo) { + Map params = bo.getParams(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.orderByAsc(CarType::getId); + lqw.eq(StringUtils.isNotBlank(bo.getCarTypeNumber()), CarType::getCarTypeNumber, bo.getCarTypeNumber()); + lqw.like(StringUtils.isNotBlank(bo.getCarTypeName()), CarType::getCarTypeName, bo.getCarTypeName()); + return lqw; + } + + /** + * 新增车辆管理-车辆类型 + * + * @param bo 车辆管理-车辆类型 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(CarTypeBo bo) { + CarType add = MapstructUtils.convert(bo, CarType.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setId(add.getId()); + } + return flag; + } + + /** + * 修改车辆管理-车辆类型 + * + * @param bo 车辆管理-车辆类型 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(CarTypeBo bo) { + CarType update = MapstructUtils.convert(bo, CarType.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(CarType 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/Property/src/main/resources/mapper/Property/CarInfoMapper.xml b/ruoyi-modules/Property/src/main/resources/mapper/Property/CarInfoMapper.xml new file mode 100644 index 00000000..f34ed4f7 --- /dev/null +++ b/ruoyi-modules/Property/src/main/resources/mapper/Property/CarInfoMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/ruoyi-modules/Property/src/main/resources/mapper/Property/CarTypeMapper.xml b/ruoyi-modules/Property/src/main/resources/mapper/Property/CarTypeMapper.xml new file mode 100644 index 00000000..c8b7cf76 --- /dev/null +++ b/ruoyi-modules/Property/src/main/resources/mapper/Property/CarTypeMapper.xml @@ -0,0 +1,7 @@ + + + + +