Merge remote-tracking branch 'origin/master'
Some checks are pending
Gitea Actions Demo / Explore-Gitea-Actions (push) Waiting to run

This commit is contained in:
2025-07-26 17:54:17 +08:00
21 changed files with 1142 additions and 11 deletions

View File

@@ -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<CarInfoVo> 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<CarInfoVo> list = carInfoService.queryList(bo);
ExcelUtil.exportExcel(list, "车辆管理-车辆信息", CarInfoVo.class, response);
}
/**
* 获取车辆管理-车辆信息详细信息
*
* @param id 主键
*/
@SaCheckPermission("property:carInfo:query")
@GetMapping("/{id}")
public R<CarInfoVo> 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<Void> 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<Void> 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<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable("ids") Long[] ids) {
return toAjax(carInfoService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@@ -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<CarTypeVo> 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<CarTypeVo> list = carTypeService.queryList(bo);
ExcelUtil.exportExcel(list, "车辆管理-车辆类型", CarTypeVo.class, response);
}
/**
* 获取车辆管理-车辆类型详细信息
*
* @param id 主键
*/
@SaCheckPermission("property:carType:query")
@GetMapping("/{id}")
public R<CarTypeVo> 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<Void> 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<Void> 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<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable("ids") Long[] ids) {
return toAjax(carTypeService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -40,6 +40,10 @@ public class ResidentPerson extends TenantEntity {
* 联系电话
*/
private String phone;
/**
* 人员类型
*/
private String type;
/**
* 身份证号
*/

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
/**
* 性别
*/

View File

@@ -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;
/**
* 备注
*/

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -43,7 +43,10 @@ public class ResidentPersonVo implements Serializable {
*/
@ExcelProperty(value = "用户名称")
private String userName;
/**
* 人员类型
*/
private String type;
/**
* 联系电话
*/

View File

@@ -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<CarInfo, CarInfoVo> {
}

View File

@@ -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<CarType, CarTypeVo> {
}

View File

@@ -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<CarInfoVo> queryPageList(CarInfoBo bo, PageQuery pageQuery);
/**
* 查询符合条件的车辆管理-车辆信息列表
*
* @param bo 查询条件
* @return 车辆管理-车辆信息列表
*/
List<CarInfoVo> 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<Long> ids, Boolean isValid);
}

View File

@@ -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<CarTypeVo> queryPageList(CarTypeBo bo, PageQuery pageQuery);
/**
* 查询符合条件的车辆管理-车辆类型列表
*
* @param bo 查询条件
* @return 车辆管理-车辆类型列表
*/
List<CarTypeVo> 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<Long> ids, Boolean isValid);
}

View File

@@ -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<Suppliers> suppliersList = supplierMapper.selectList();
List<ResidentPerson> residentPeopleList = residentPersonMapper.selectList();
assembly(suppliersList, residentPeopleList,capitalApplicationVo);
return capitalApplicationVo;
}
/**
@@ -66,9 +68,36 @@ public class CapitalApplicationServiceImpl implements ICapitalApplicationService
public TableDataInfo<CapitalApplicationVo> queryPageList(CapitalApplicationBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<CapitalApplication> lqw = buildQueryWrapper(bo);
Page<CapitalApplicationVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
if (CollUtil.isNotEmpty(result.getRecords())) {
List<Suppliers> suppliersList = supplierMapper.selectList();
List<ResidentPerson> residentPeopleList = residentPersonMapper.selectList();
result.getRecords().stream().forEach(s -> {
assembly(suppliersList, residentPeopleList,s);
}
);
}
return TableDataInfo.build(result);
}
/**
* 组装数据
*/
private void assembly(List<Suppliers> suppliersList,List<ResidentPerson> 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());
}
}
/**
* 查询符合条件的资产申请列表
*

View File

@@ -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<CarInfoVo> queryPageList(CarInfoBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<CarInfo> lqw = buildQueryWrapper(bo);
Page<CarInfoVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的车辆管理-车辆信息列表
*
* @param bo 查询条件
* @return 车辆管理-车辆信息列表
*/
@Override
public List<CarInfoVo> queryList(CarInfoBo bo) {
LambdaQueryWrapper<CarInfo> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<CarInfo> buildQueryWrapper(CarInfoBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<CarInfo> 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<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

View File

@@ -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<CarTypeVo> queryPageList(CarTypeBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<CarType> lqw = buildQueryWrapper(bo);
Page<CarTypeVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的车辆管理-车辆类型列表
*
* @param bo 查询条件
* @return 车辆管理-车辆类型列表
*/
@Override
public List<CarTypeVo> queryList(CarTypeBo bo) {
LambdaQueryWrapper<CarType> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<CarType> buildQueryWrapper(CarTypeBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<CarType> 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<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.property.mapper.CarInfoMapper">
</mapper>

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.property.mapper.CarTypeMapper">
</mapper>