机械相关模块增删改查接口

This commit is contained in:
lcj
2025-03-07 18:29:46 +08:00
parent ceca1bf417
commit 44ae13cec2
53 changed files with 1993 additions and 502 deletions

View File

@ -0,0 +1,107 @@
package org.dromara.machinery.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.web.core.BaseController;
import org.dromara.machinery.domain.req.machinery.MachineryCreateReq;
import org.dromara.machinery.domain.req.machinery.MachineryQueryReq;
import org.dromara.machinery.domain.req.machinery.MachineryUpdateReq;
import org.dromara.machinery.domain.vo.BusMachineryVo;
import org.dromara.machinery.service.IBusMachineryService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 机械
*
* @author lcj
* @date 2025-03-07
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/machinery/machinery")
public class BusMachineryController extends BaseController {
private final IBusMachineryService busMachineryService;
/**
* 查询机械列表
*/
@SaCheckPermission("machinery:machinery:list")
@GetMapping("/list")
public Page<BusMachineryVo> list(MachineryQueryReq req) {
return busMachineryService.queryPageList(req);
}
/**
* 导出机械列表
*/
@SaCheckPermission("machinery:machinery:export")
@Log(title = "机械", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(MachineryQueryReq req, HttpServletResponse response) {
List<BusMachineryVo> list = busMachineryService.queryList(req);
ExcelUtil.exportExcel(list, "机械", BusMachineryVo.class, response);
}
/**
* 获取机械详细信息
*
* @param id 主键
*/
@SaCheckPermission("machinery:machinery:query")
@GetMapping("/{id}")
public R<BusMachineryVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(busMachineryService.queryById(id));
}
/**
* 新增机械
*/
@SaCheckPermission("machinery:machinery:add")
@Log(title = "机械", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Long> add(@Validated(AddGroup.class) @RequestBody MachineryCreateReq req) {
return R.ok(busMachineryService.insertByBo(req));
}
/**
* 修改机械
*/
@SaCheckPermission("machinery:machinery:edit")
@Log(title = "机械", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody MachineryUpdateReq req) {
return toAjax(busMachineryService.updateByBo(req));
}
/**
* 删除机械
*
* @param ids 主键串
*/
@SaCheckPermission("machinery:machinery:remove")
@Log(title = "机械", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(busMachineryService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@ -0,0 +1,107 @@
package org.dromara.machinery.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.web.core.BaseController;
import org.dromara.machinery.domain.req.machinerydetail.MachineryDetailCreateReq;
import org.dromara.machinery.domain.req.machinerydetail.MachineryDetailQueryReq;
import org.dromara.machinery.domain.req.machinerydetail.MachineryDetailUpdateReq;
import org.dromara.machinery.domain.vo.BusMachineryDetailVo;
import org.dromara.machinery.service.IBusMachineryDetailService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 机械详情
*
* @author lcj
* @date 2025-03-07
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/machinery/machineryDetail")
public class BusMachineryDetailController extends BaseController {
private final IBusMachineryDetailService busMachineryDetailService;
/**
* 查询机械详情列表
*/
@SaCheckPermission("machinery:machineryDetail:list")
@GetMapping("/list")
public Page<BusMachineryDetailVo> list(MachineryDetailQueryReq req) {
return busMachineryDetailService.queryPageList(req);
}
/**
* 导出机械详情列表
*/
@SaCheckPermission("machinery:machineryDetail:export")
@Log(title = "机械详情", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(MachineryDetailQueryReq req, HttpServletResponse response) {
List<BusMachineryDetailVo> list = busMachineryDetailService.queryList(req);
ExcelUtil.exportExcel(list, "机械详情", BusMachineryDetailVo.class, response);
}
/**
* 获取机械详情详细信息
*
* @param id 主键
*/
@SaCheckPermission("machinery:machineryDetail:query")
@GetMapping("/{id}")
public R<BusMachineryDetailVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(busMachineryDetailService.queryById(id));
}
/**
* 新增机械详情
*/
@SaCheckPermission("machinery:machineryDetail:add")
@Log(title = "机械详情", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Long> add(@Validated(AddGroup.class) @RequestBody MachineryDetailCreateReq req) {
return R.ok(busMachineryDetailService.insertByBo(req));
}
/**
* 修改机械详情
*/
@SaCheckPermission("machinery:machineryDetail:edit")
@Log(title = "机械详情", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody MachineryDetailUpdateReq req) {
return toAjax(busMachineryDetailService.updateByBo(req));
}
/**
* 删除机械详情
*
* @param ids 主键串
*/
@SaCheckPermission("machinery:machineryDetail:remove")
@Log(title = "机械详情", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(busMachineryDetailService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@ -0,0 +1,75 @@
package org.dromara.machinery.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import java.io.Serial;
import java.util.Date;
/**
* 机械对象 bus_machinery
*
* @author lcj
* @date 2025-03-07
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("bus_machinery")
public class BusMachinery extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@TableId(value = "id")
private Long id;
/**
* 机械名称
*/
private String machineryName;
/**
* 机械型号
*/
private String machineryNumber;
/**
* 项目id
*/
private Long projectId;
/**
* 数量
*/
private Long number;
/**
* 负责人
*/
private String principal;
/**
* 备注
*/
private String remark;
/**
* 删除时间
*/
private Date deletedAt;
/**
* 是否删除0正常 1删除
*/
@TableLogic
private Long isDelete;
}

View File

@ -0,0 +1,89 @@
package org.dromara.machinery.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serial;
/**
* 机械详情对象 bus_machinery_detail
*
* @author lcj
* @date 2025-03-07
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("bus_machinery_detail")
public class BusMachineryDetail extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@TableId(value = "id")
private Long id;
/**
* 检验证编号
*/
private String checkoutNumber;
/**
* 检验单位
*/
private String checkoutUnit;
/**
* 检定日期/有效期
*/
private String checkoutDate;
/**
* 施工类型状态0正常 1停用
*/
private Long status;
/**
* 0入场 1出场
*/
private Long type;
/**
* 入场时间
*/
private Date entryTime;
/**
* 备注
*/
private String remark;
/**
* 图片(英文逗号分隔)
*/
private String picture;
/**
* 机械主键id
*/
private Long machineryId;
/**
* 删除时间
*/
private Date deletedAt;
/**
* 是否删除0正常 1删除
*/
@TableLogic
private Long isDelete;
}

View File

@ -1,6 +1,6 @@
package org.dromara.project.domain.bo;
package org.dromara.machinery.domain.bo;
import org.dromara.project.domain.BusContractor;
import org.dromara.machinery.domain.BusMachinery;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
@ -12,15 +12,15 @@ import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 分包单位业务对象 bus_contractor
* 机械业务对象 bus_machinery
*
* @author lcj
* @date 2025-03-07
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = BusContractor.class, reverseConvertGenerate = false)
public class BusContractorBo extends BaseEntity {
@AutoMapper(target = BusMachinery.class, reverseConvertGenerate = false)
public class BusMachineryBo extends BaseEntity {
/**
* 主键id
@ -29,30 +29,30 @@ public class BusContractorBo extends BaseEntity {
private Long id;
/**
* 公司名称
* 机械名称
*/
private String name;
private String machineryName;
/**
* 机械型号
*/
private String machineryNumber;
/**
* 项目id
*/
private Long projectId;
/**
* 数量
*/
private Long number;
/**
* 负责人
*/
private String principal;
/**
* 负责人联系电话
*/
private String principalPhone;
/**
* 管理人
*/
private String custodian;
/**
* 管理人联系电话
*/
private String custodianPhone;
/**
* 备注
*/

View File

@ -0,0 +1,77 @@
package org.dromara.machinery.domain.bo;
import org.dromara.machinery.domain.BusMachineryDetail;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 机械详情业务对象 bus_machinery_detail
*
* @author lcj
* @date 2025-03-07
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = BusMachineryDetail.class, reverseConvertGenerate = false)
public class BusMachineryDetailBo extends BaseEntity {
/**
* 主键id
*/
@NotNull(message = "主键id不能为空", groups = { EditGroup.class })
private Long id;
/**
* 检验证编号
*/
private String checkoutNumber;
/**
* 检验单位
*/
private String checkoutUnit;
/**
* 检定日期/有效期
*/
private String checkoutDate;
/**
* 施工类型状态0正常 1停用
*/
private Long status;
/**
* 0入场 1出场
*/
private Long type;
/**
* 入场时间
*/
private Date entryTime;
/**
* 备注
*/
private String remark;
/**
* 图片(英文逗号分隔)
*/
private String picture;
/**
* 机械主键id
*/
private Long machineryId;
}

View File

@ -0,0 +1,48 @@
package org.dromara.machinery.domain.req.machinery;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* @author lcj
* @date 2025/3/5 14:05
*/
@Data
public class MachineryCreateReq implements Serializable {
@Serial
private static final long serialVersionUID = -7603153089205421154L;
/**
* 机械名称
*/
private String machineryName;
/**
* 机械型号
*/
private String machineryNumber;
/**
* 项目id
*/
private Long projectId;
/**
* 数量
*/
private Long number;
/**
* 负责人
*/
private String principal;
/**
* 备注
*/
private String remark;
}

View File

@ -0,0 +1,56 @@
package org.dromara.machinery.domain.req.machinery;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.core.common.PageRequest;
import java.io.Serial;
import java.io.Serializable;
/**
* @author lcj
* @date 2025/3/5 14:31
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class MachineryQueryReq extends PageRequest implements Serializable {
@Serial
private static final long serialVersionUID = 3252651952758479341L;
/**
* 主键id
*/
private Long id;
/**
* 机械名称
*/
private String machineryName;
/**
* 机械型号
*/
private String machineryNumber;
/**
* 项目id
*/
private Long projectId;
/**
* 数量
*/
private Long number;
/**
* 负责人
*/
private String principal;
/**
* 备注
*/
private String remark;
}

View File

@ -0,0 +1,53 @@
package org.dromara.machinery.domain.req.machinery;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* @author lcj
* @date 2025/3/5 15:04
*/
@Data
public class MachineryUpdateReq implements Serializable {
@Serial
private static final long serialVersionUID = -8022860866890925958L;
/**
* 主键id
*/
private Long id;
/**
* 机械名称
*/
private String machineryName;
/**
* 机械型号
*/
private String machineryNumber;
/**
* 项目id
*/
private Long projectId;
/**
* 数量
*/
private Long number;
/**
* 负责人
*/
private String principal;
/**
* 备注
*/
private String remark;
}

View File

@ -0,0 +1,64 @@
package org.dromara.machinery.domain.req.machinerydetail;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* @author lcj
* @date 2025/3/5 14:05
*/
@Data
public class MachineryDetailCreateReq implements Serializable {
@Serial
private static final long serialVersionUID = -7603153089205421154L;
/**
* 检验证编号
*/
private String checkoutNumber;
/**
* 检验单位
*/
private String checkoutUnit;
/**
* 检定日期/有效期
*/
private String checkoutDate;
/**
* 施工类型状态0正常 1停用
*/
private Long status;
/**
* 0入场 1出场
*/
private Long type;
/**
* 入场时间
*/
private Date entryTime;
/**
* 备注
*/
private String remark;
/**
* 图片(英文逗号分隔)
*/
private String picture;
/**
* 机械主键id
*/
private Long machineryId;
}

View File

@ -0,0 +1,67 @@
package org.dromara.machinery.domain.req.machinerydetail;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.core.common.PageRequest;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* @author lcj
* @date 2025/3/5 14:31
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class MachineryDetailQueryReq extends PageRequest implements Serializable {
@Serial
private static final long serialVersionUID = 3252651952758479341L;
/**
* 主键id
*/
private Long id;
/**
* 检验证编号
*/
private String checkoutNumber;
/**
* 检验单位
*/
private String checkoutUnit;
/**
* 检定日期/有效期
*/
private String checkoutDate;
/**
* 施工类型状态0正常 1停用
*/
private Long status;
/**
* 0入场 1出场
*/
private Long type;
/**
* 入场时间
*/
private Date entryTime;
/**
* 备注
*/
private String remark;
/**
* 机械主键id
*/
private Long machineryId;
}

View File

@ -0,0 +1,69 @@
package org.dromara.machinery.domain.req.machinerydetail;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* @author lcj
* @date 2025/3/5 15:04
*/
@Data
public class MachineryDetailUpdateReq implements Serializable {
@Serial
private static final long serialVersionUID = -8022860866890925958L;
/**
* 主键id
*/
private Long id;
/**
* 检验证编号
*/
private String checkoutNumber;
/**
* 检验单位
*/
private String checkoutUnit;
/**
* 检定日期/有效期
*/
private String checkoutDate;
/**
* 施工类型状态0正常 1停用
*/
private Long status;
/**
* 0入场 1出场
*/
private Long type;
/**
* 入场时间
*/
private Date entryTime;
/**
* 备注
*/
private String remark;
/**
* 图片(英文逗号分隔)
*/
private String picture;
/**
* 机械主键id
*/
private Long machineryId;
}

View File

@ -0,0 +1,92 @@
package org.dromara.machinery.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import org.dromara.machinery.domain.BusMachineryDetail;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 机械详情视图对象 bus_machinery_detail
*
* @author lcj
* @date 2025-03-07
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = BusMachineryDetail.class)
public class BusMachineryDetailVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@ExcelProperty(value = "主键id")
private Long id;
/**
* 检验证编号
*/
@ExcelProperty(value = "检验证编号")
private String checkoutNumber;
/**
* 检验单位
*/
@ExcelProperty(value = "检验单位")
private String checkoutUnit;
/**
* 检定日期/有效期
*/
@ExcelProperty(value = "检定日期/有效期")
private String checkoutDate;
/**
* 施工类型状态0正常 1停用
*/
@ExcelProperty(value = "施工类型状态", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "0=正常,1=停用")
private Long status;
/**
* 0入场 1出场
*/
@ExcelProperty(value = "0入场 1出场")
private Long type;
/**
* 入场时间
*/
@ExcelProperty(value = "入场时间")
private Date entryTime;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
/**
* 图片(英文逗号分隔)
*/
@ExcelProperty(value = "图片(英文逗号分隔)")
private String picture;
/**
* 机械主键id
*/
@ExcelProperty(value = "机械主键id")
private Long machineryId;
}

View File

@ -0,0 +1,71 @@
package org.dromara.machinery.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.machinery.domain.BusMachinery;
import java.io.Serial;
import java.io.Serializable;
/**
* 机械视图对象 bus_machinery
*
* @author lcj
* @date 2025-03-07
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = BusMachinery.class)
public class BusMachineryVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
@ExcelProperty(value = "主键id")
private Long id;
/**
* 机械名称
*/
@ExcelProperty(value = "机械名称")
private String machineryName;
/**
* 机械型号
*/
@ExcelProperty(value = "机械型号")
private String machineryNumber;
/**
* 项目id
*/
@ExcelProperty(value = "项目id")
private Long projectId;
/**
* 数量
*/
@ExcelProperty(value = "数量")
private Long number;
/**
* 负责人
*/
@ExcelProperty(value = "负责人")
private String principal;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
}

View File

@ -0,0 +1,15 @@
package org.dromara.machinery.mapper;
import org.dromara.machinery.domain.BusMachineryDetail;
import org.dromara.machinery.domain.vo.BusMachineryDetailVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 机械详情Mapper接口
*
* @author lcj
* @date 2025-03-07
*/
public interface BusMachineryDetailMapper extends BaseMapperPlus<BusMachineryDetail, BusMachineryDetailVo> {
}

View File

@ -0,0 +1,15 @@
package org.dromara.machinery.mapper;
import org.dromara.machinery.domain.BusMachinery;
import org.dromara.machinery.domain.vo.BusMachineryVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 机械Mapper接口
*
* @author lcj
* @date 2025-03-07
*/
public interface BusMachineryMapper extends BaseMapperPlus<BusMachinery, BusMachineryVo> {
}

View File

@ -0,0 +1,95 @@
package org.dromara.machinery.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.dromara.machinery.domain.BusMachineryDetail;
import org.dromara.machinery.domain.req.machinerydetail.MachineryDetailCreateReq;
import org.dromara.machinery.domain.req.machinerydetail.MachineryDetailQueryReq;
import org.dromara.machinery.domain.req.machinerydetail.MachineryDetailUpdateReq;
import org.dromara.machinery.domain.vo.BusMachineryDetailVo;
import java.util.Collection;
import java.util.List;
/**
* 机械详情Service接口
*
* @author lcj
* @date 2025-03-07
*/
public interface IBusMachineryDetailService extends IService<BusMachineryDetail> {
/**
* 查询机械详情
*
* @param id 主键
* @return 机械详情
*/
BusMachineryDetailVo queryById(Long id);
/**
* 分页查询机械详情列表
*
* @param req 查询条件
* @return 机械详情分页列表
*/
Page<BusMachineryDetailVo> queryPageList(MachineryDetailQueryReq req);
/**
* 查询符合条件的机械详情列表
*
* @param req 查询条件
* @return 机械详情列表
*/
List<BusMachineryDetailVo> queryList(MachineryDetailQueryReq req);
/**
* 新增机械详情
*
* @param req 机械详情
* @return 是否新增成功
*/
Long insertByBo(MachineryDetailCreateReq req);
/**
* 修改机械详情
*
* @param req 机械详情
* @return 是否修改成功
*/
Boolean updateByBo(MachineryDetailUpdateReq req);
/**
* 校验并批量删除机械详情信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
/**
* 获取机械详情视图对象
*
* @param machineryDetail 机械详情对象
* @return 机械详情视图对象
*/
BusMachineryDetailVo getVo(BusMachineryDetail machineryDetail);
/**
* 获取机械详情查询条件封装
*
* @param req 机械详情查询条件
* @return 机械详情查询条件封装
*/
QueryWrapper<BusMachineryDetail> getQueryWrapper(MachineryDetailQueryReq req);
/**
* 获取机械详情分页对象视图
*
* @param machineryDetailPage 机械详情分页对象
* @return 机械详情分页对象视图
*/
Page<BusMachineryDetailVo> getVoPage(Page<BusMachineryDetail> machineryDetailPage);
}

View File

@ -0,0 +1,95 @@
package org.dromara.machinery.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.dromara.machinery.domain.BusMachinery;
import org.dromara.machinery.domain.req.machinery.MachineryCreateReq;
import org.dromara.machinery.domain.req.machinery.MachineryQueryReq;
import org.dromara.machinery.domain.req.machinery.MachineryUpdateReq;
import org.dromara.machinery.domain.vo.BusMachineryVo;
import java.util.Collection;
import java.util.List;
/**
* 机械Service接口
*
* @author lcj
* @date 2025-03-07
*/
public interface IBusMachineryService extends IService<BusMachinery> {
/**
* 查询机械
*
* @param id 主键
* @return 机械
*/
BusMachineryVo queryById(Long id);
/**
* 分页查询机械列表
*
* @param req 查询条件
* @return 机械分页列表
*/
Page<BusMachineryVo> queryPageList(MachineryQueryReq req);
/**
* 查询符合条件的机械列表
*
* @param req 查询条件
* @return 机械列表
*/
List<BusMachineryVo> queryList(MachineryQueryReq req);
/**
* 新增机械
*
* @param req 机械
* @return 新增机械id
*/
Long insertByBo(MachineryCreateReq req);
/**
* 修改机械
*
* @param req 机械
* @return 是否修改成功
*/
Boolean updateByBo(MachineryUpdateReq req);
/**
* 校验并批量删除机械信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
/**
* 获取机械视图对象
*
* @param machinery 机械对象
* @return 机械视图对象
*/
BusMachineryVo getVo(BusMachinery machinery);
/**
* 获取机械查询条件封装
*
* @param req 机械查询条件
* @return 机械查询条件封装
*/
QueryWrapper<BusMachinery> getQueryWrapper(MachineryQueryReq req);
/**
* 获取机械分页对象视图
*
* @param machineryPage 机械分页对象
* @return 机械分页对象视图
*/
Page<BusMachineryVo> getVoPage(Page<BusMachinery> machineryPage);
}

View File

@ -0,0 +1,243 @@
package org.dromara.machinery.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jakarta.annotation.Resource;
import org.dromara.common.core.constant.CommonConstant;
import org.dromara.common.core.constant.HttpStatus;
import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.utils.ObjectUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.core.utils.sql.SqlUtil;
import org.dromara.machinery.domain.BusMachineryDetail;
import org.dromara.machinery.domain.req.machinerydetail.MachineryDetailCreateReq;
import org.dromara.machinery.domain.req.machinerydetail.MachineryDetailQueryReq;
import org.dromara.machinery.domain.req.machinerydetail.MachineryDetailUpdateReq;
import org.dromara.machinery.domain.vo.BusMachineryDetailVo;
import org.dromara.machinery.mapper.BusMachineryDetailMapper;
import org.dromara.machinery.service.IBusMachineryDetailService;
import org.dromara.machinery.service.IBusMachineryService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Collection;
import java.util.Date;
import java.util.List;
/**
* 机械详情Service业务层处理
*
* @author lcj
* @date 2025-03-07
*/
@Service
public class BusMachineryDetailServiceImpl extends ServiceImpl<BusMachineryDetailMapper, BusMachineryDetail>
implements IBusMachineryDetailService {
@Resource
private IBusMachineryService machineryService;
/**
* 查询机械详情
*
* @param id 主键
* @return 机械详情
*/
@Override
public BusMachineryDetailVo queryById(Long id) {
BusMachineryDetail machineryDetail = this.getById(id);
if (machineryDetail == null) {
throw new ServiceException("机械详情信息不存在", HttpStatus.NOT_FOUND);
}
return this.getVo(machineryDetail);
}
/**
* 分页查询机械详情列表
*
* @param req 查询条件
* @return 机械详情分页列表
*/
@Override
public Page<BusMachineryDetailVo> queryPageList(MachineryDetailQueryReq req) {
long current = req.getCurrent();
long size = req.getPageSize();
// 查询数据库
Page<BusMachineryDetail> result = this.page(new Page<>(current, size), this.getQueryWrapper(req));
return this.getVoPage(result);
}
/**
* 查询符合条件的机械详情列表
*
* @param req 查询条件
* @return 机械详情列表
*/
@Override
public List<BusMachineryDetailVo> queryList(MachineryDetailQueryReq req) {
QueryWrapper<BusMachineryDetail> queryWrapper = this.getQueryWrapper(req);
List<BusMachineryDetail> list = this.list(queryWrapper);
return list.stream().map(this::getVo).toList();
}
/**
* 新增机械详情
*
* @param req 机械详情
* @return 是否新增成功
*/
@Override
public Long insertByBo(MachineryDetailCreateReq req) {
// 将实体类和 DTO 进行转换
BusMachineryDetail machineryDetail = new BusMachineryDetail();
BeanUtils.copyProperties(req, machineryDetail);
// 数据校验
validEntityBeforeSave(machineryDetail);
// 操作数据库
boolean save = this.save(machineryDetail);
if (!save) {
throw new ServiceException("新增机械详情失败,数据库异常", HttpStatus.ERROR);
}
return machineryDetail.getId();
}
/**
* 修改机械详情
*
* @param req 机械详情
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(MachineryDetailUpdateReq req) {
// 将实体类和 DTO 进行转换
BusMachineryDetail machineryDetail = new BusMachineryDetail();
BeanUtils.copyProperties(req, machineryDetail);
// 数据校验
validEntityBeforeSave(machineryDetail);
// 判断是否存在
BusMachineryDetail oldMachineryDetail = this.getById(machineryDetail.getId());
if (oldMachineryDetail == null) {
throw new ServiceException("修改机械详情失败,数据不存在", HttpStatus.NOT_FOUND);
}
// 操作数据库
return this.updateById(machineryDetail);
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(BusMachineryDetail entity) {
// TODO 做一些数据校验,如唯一约束
Long machineryId = entity.getMachineryId();
if (machineryId == null) {
throw new ServiceException("机械 id 不能为空", HttpStatus.BAD_REQUEST);
}
if (machineryService.getById(machineryId) == null) {
throw new ServiceException("对应机械不存在", HttpStatus.BAD_REQUEST);
}
Long type = entity.getType();
if (type == null) {
throw new ServiceException("请选择入场/出场", HttpStatus.BAD_REQUEST);
}
}
/**
* 校验并批量删除机械详情信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if (isValid) {
// TODO 做一些业务上的校验,判断是否需要校验
}
return this.removeBatchByIds(ids);
}
/**
* 获取机械详情视图对象
*
* @param machineryDetail 机械详情对象
* @return 机械详情视图对象
*/
@Override
public BusMachineryDetailVo getVo(BusMachineryDetail machineryDetail) {// 对象转封装类
BusMachineryDetailVo machineryDetailVo = new BusMachineryDetailVo();
if (machineryDetail == null) {
return machineryDetailVo;
}
BeanUtils.copyProperties(machineryDetail, machineryDetailVo);
return machineryDetailVo;
}
/**
* 获取机械详情查询条件封装
*
* @param req 机械详情查询条件
* @return 机械详情查询条件封装
*/
@Override
public QueryWrapper<BusMachineryDetail> getQueryWrapper(MachineryDetailQueryReq req) {
QueryWrapper<BusMachineryDetail> queryWrapper = new QueryWrapper<>();
if (req == null) {
return queryWrapper;
}
// 从对象中取值
Long id = req.getId();
String checkoutNumber = req.getCheckoutNumber();
String checkoutUnit = req.getCheckoutUnit();
String checkoutDate = req.getCheckoutDate();
Long status = req.getStatus();
Long type = req.getType();
Date entryTime = req.getEntryTime();
String remark = req.getRemark();
Long machineryId = req.getMachineryId();
String sortField = req.getSortField();
String sortOrder = req.getSortOrder();
String underlineSortField = StrUtil.toUnderlineCase(sortField);
// 模糊查询
queryWrapper.like(StringUtils.isNotBlank(checkoutNumber), "checkout_number", checkoutNumber);
queryWrapper.like(StringUtils.isNotBlank(checkoutUnit), "checkout_unit", checkoutUnit);
queryWrapper.like(StringUtils.isNotBlank(checkoutDate), "checkout_date", checkoutDate);
queryWrapper.like(StringUtils.isNotBlank(remark), "remark", remark);
// 精确查询
queryWrapper.eq(ObjectUtils.isNotEmpty(id), "id", id);
queryWrapper.eq(ObjectUtils.isNotEmpty(status), "status", status);
queryWrapper.eq(ObjectUtils.isNotEmpty(type), "type", type);
queryWrapper.eq(ObjectUtils.isNotEmpty(entryTime), "entryTime", entryTime);
queryWrapper.eq(ObjectUtils.isNotEmpty(machineryId), "machinery_id", machineryId);
// 排序规则
queryWrapper.orderBy(SqlUtil.validSortField(sortField),
sortOrder.equals(CommonConstant.SORT_ORDER_ASC),
underlineSortField);
return queryWrapper;
}
/**
* 获取机械详情分页对象视图
*
* @param machineryDetailPage 机械详情分页对象
* @return 机械详情分页对象视图
*/
@Override
public Page<BusMachineryDetailVo> getVoPage(Page<BusMachineryDetail> machineryDetailPage) {
List<BusMachineryDetail> machineryDetailList = machineryDetailPage.getRecords();
Page<BusMachineryDetailVo> machineryDetailVoPage = new Page<>(
machineryDetailPage.getCurrent(),
machineryDetailPage.getSize(),
machineryDetailPage.getTotal());
if (CollUtil.isEmpty(machineryDetailList)) {
return machineryDetailVoPage;
}
List<BusMachineryDetailVo> machineryDetailVoList = machineryDetailList.stream().map(this::getVo).toList();
machineryDetailVoPage.setRecords(machineryDetailVoList);
return machineryDetailVoPage;
}
}

View File

@ -0,0 +1,239 @@
package org.dromara.machinery.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import jakarta.annotation.Resource;
import org.dromara.common.core.constant.CommonConstant;
import org.dromara.common.core.constant.HttpStatus;
import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.utils.ObjectUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.core.utils.sql.SqlUtil;
import org.dromara.machinery.domain.BusMachinery;
import org.dromara.machinery.domain.req.machinery.MachineryCreateReq;
import org.dromara.machinery.domain.req.machinery.MachineryQueryReq;
import org.dromara.machinery.domain.req.machinery.MachineryUpdateReq;
import org.dromara.machinery.domain.vo.BusMachineryVo;
import org.dromara.machinery.mapper.BusMachineryMapper;
import org.dromara.machinery.service.IBusMachineryService;
import org.dromara.project.service.IBusProjectService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Collection;
import java.util.List;
/**
* 机械Service业务层处理
*
* @author lcj
* @date 2025-03-07
*/
@Service
public class BusMachineryServiceImpl extends ServiceImpl<BusMachineryMapper, BusMachinery>
implements IBusMachineryService {
@Resource
private IBusProjectService projectService;
/**
* 查询机械
*
* @param id 主键
* @return 机械
*/
@Override
public BusMachineryVo queryById(Long id) {
BusMachinery machinery = this.getById(id);
if (machinery == null) {
throw new ServiceException("机械信息不存在", HttpStatus.NOT_FOUND);
}
return this.getVo(machinery);
}
/**
* 分页查询机械列表
*
* @param req 查询条件
* @return 机械分页列表
*/
@Override
public Page<BusMachineryVo> queryPageList(MachineryQueryReq req) {
long current = req.getCurrent();
long size = req.getPageSize();
// 查询数据库
Page<BusMachinery> result = this.page(new Page<>(current, size), this.getQueryWrapper(req));
return this.getVoPage(result);
}
/**
* 查询符合条件的机械列表
*
* @param req 查询条件
* @return 机械列表
*/
@Override
public List<BusMachineryVo> queryList(MachineryQueryReq req) {
QueryWrapper<BusMachinery> queryWrapper = this.getQueryWrapper(req);
List<BusMachinery> list = this.list(queryWrapper);
return list.stream().map(this::getVo).toList();
}
/**
* 新增机械
*
* @param req 机械
* @return 是否新增成功
*/
@Override
public Long insertByBo(MachineryCreateReq req) {
// 将实体类和 DTO 进行转换
BusMachinery machinery = new BusMachinery();
BeanUtils.copyProperties(req, machinery);
// 数据校验
validEntityBeforeSave(machinery);
// 操作数据库
boolean save = this.save(machinery);
if (!save) {
throw new ServiceException("新增机械失败,数据库异常", HttpStatus.ERROR);
}
return machinery.getId();
}
/**
* 修改机械
*
* @param req 机械
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(MachineryUpdateReq req) {
// 将实体类和 DTO 进行转换
BusMachinery machinery = new BusMachinery();
BeanUtils.copyProperties(req, machinery);
// 数据校验
validEntityBeforeSave(machinery);
// 判断是否存在
BusMachinery oldMachinery = this.getById(machinery.getId());
if (oldMachinery == null) {
throw new ServiceException("修改机械失败,数据不存在", HttpStatus.NOT_FOUND);
}
// 操作数据库
return this.updateById(machinery);
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(BusMachinery entity) {
// TODO 做一些数据校验,如唯一约束
Long projectId = entity.getProjectId();
if (projectId == null) {
throw new ServiceException("项目 id 不能为空", HttpStatus.BAD_REQUEST);
}
if (projectService.getById(projectId) == null) {
throw new ServiceException("对应项目不存在", HttpStatus.NOT_FOUND);
}
String machineryName = entity.getMachineryName();
if (StrUtil.isBlank(machineryName)) {
throw new ServiceException("机械名称不能为空", HttpStatus.BAD_REQUEST);
}
}
/**
* 校验并批量删除机械信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if (isValid) {
// TODO 做一些业务上的校验,判断是否需要校验
}
return this.removeBatchByIds(ids);
}
/**
* 获取机械视图对象
*
* @param machinery 机械对象
* @return 机械视图对象
*/
@Override
public BusMachineryVo getVo(BusMachinery machinery) {
// 对象转封装类
BusMachineryVo machineryVo = new BusMachineryVo();
if (machinery == null) {
return machineryVo;
}
BeanUtils.copyProperties(machinery, machineryVo);
return machineryVo;
}
/**
* 获取机械查询条件封装
*
* @param req 机械查询条件
* @return 机械查询条件封装
*/
@Override
public QueryWrapper<BusMachinery> getQueryWrapper(MachineryQueryReq req) {
QueryWrapper<BusMachinery> queryWrapper = new QueryWrapper<>();
if (req == null) {
return queryWrapper;
}
// 从对象中取值
Long id = req.getId();
String machineryName = req.getMachineryName();
String machineryNumber = req.getMachineryNumber();
Long projectId = req.getProjectId();
Long number = req.getNumber();
String principal = req.getPrincipal();
String remark = req.getRemark();
String sortField = req.getSortField();
String sortOrder = req.getSortOrder();
String underlineSortField = StrUtil.toUnderlineCase(sortField);
// 模糊查询
queryWrapper.like(StringUtils.isNotBlank(machineryName), "machinery_name", machineryName);
queryWrapper.like(StringUtils.isNotBlank(principal), "principal", principal);
queryWrapper.like(StringUtils.isNotBlank(machineryNumber), "machinery_number", machineryNumber);
queryWrapper.like(StringUtils.isNotBlank(remark), "remark", remark);
// 精确查询
queryWrapper.eq(ObjectUtils.isNotEmpty(id), "id", id);
queryWrapper.eq(ObjectUtils.isNotEmpty(projectId), "project_id", projectId);
queryWrapper.eq(ObjectUtils.isNotEmpty(number), "number", number);
// 排序规则
queryWrapper.orderBy(SqlUtil.validSortField(sortField),
sortOrder.equals(CommonConstant.SORT_ORDER_ASC),
underlineSortField);
return queryWrapper;
}
/**
* 获取机械分页对象视图
*
* @param machineryPage 机械分页对象
* @return 机械分页对象视图
*/
@Override
public Page<BusMachineryVo> getVoPage(Page<BusMachinery> machineryPage) {
List<BusMachinery> machineryList = machineryPage.getRecords();
Page<BusMachineryVo> machineryVoPage = new Page<>(
machineryPage.getCurrent(),
machineryPage.getSize(),
machineryPage.getTotal());
if (CollUtil.isEmpty(machineryList)) {
return machineryVoPage;
}
List<BusMachineryVo> machineryVoList = machineryList.stream().map(this::getVo).toList();
machineryVoPage.setRecords(machineryVoList);
return machineryVoPage;
}
}

View File

@ -20,7 +20,7 @@ import org.dromara.materials.domain.req.company.CompanyUpdateReq;
import org.dromara.materials.domain.vo.BusCompanyVo;
import org.dromara.materials.mapper.BusCompanyMapper;
import org.dromara.materials.service.IBusCompanyService;
import org.dromara.project.service.IProjectService;
import org.dromara.project.service.IBusProjectService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@ -41,7 +41,7 @@ public class BusCompanyServiceImpl extends ServiceImpl<BusCompanyMapper, BusComp
private BusCompanyMapper baseMapper;
@Resource
private IProjectService projectService;
private IBusProjectService projectService;
/**
* 查询公司

View File

@ -20,7 +20,7 @@ import org.dromara.materials.domain.vo.BusMaterialsInventoryVo;
import org.dromara.materials.mapper.BusMaterialsInventoryMapper;
import org.dromara.materials.service.IBusMaterialsInventoryService;
import org.dromara.materials.service.IBusMaterialsService;
import org.dromara.project.service.IProjectService;
import org.dromara.project.service.IBusProjectService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@ -45,7 +45,7 @@ public class BusMaterialsInventoryServiceImpl extends ServiceImpl<BusMaterialsIn
private IBusMaterialsService materialsService;
@Resource
private IProjectService projectService;
private IBusProjectService projectService;
/**
* 查询材料出/入库

View File

@ -21,7 +21,7 @@ import org.dromara.materials.domain.vo.BusMaterialsVo;
import org.dromara.materials.mapper.BusMaterialsMapper;
import org.dromara.materials.service.IBusCompanyService;
import org.dromara.materials.service.IBusMaterialsService;
import org.dromara.project.service.IProjectService;
import org.dromara.project.service.IBusProjectService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@ -46,7 +46,7 @@ public class BusMaterialsServiceImpl extends ServiceImpl<BusMaterialsMapper, Bus
private IBusCompanyService companyService;
@Resource
private IProjectService projectService;
private IBusProjectService projectService;
/**
* 查询材料名称

View File

@ -19,8 +19,8 @@ import org.dromara.common.web.core.BaseController;
import org.dromara.project.domain.req.project.ProjectCreateReq;
import org.dromara.project.domain.req.project.ProjectQueryReq;
import org.dromara.project.domain.req.project.ProjectUpdateReq;
import org.dromara.project.domain.vo.ProjectVo;
import org.dromara.project.service.IProjectService;
import org.dromara.project.domain.vo.BusProjectVo;
import org.dromara.project.service.IBusProjectService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@ -36,16 +36,16 @@ import java.util.List;
@RequiredArgsConstructor
@RestController
@RequestMapping("/project/project")
public class ProjectController extends BaseController {
public class BusProjectController extends BaseController {
private final IProjectService projectService;
private final IBusProjectService projectService;
/**
* 查询项目列表
*/
@SaCheckPermission("project:project:list")
@GetMapping("/list")
public Page<ProjectVo> list(ProjectQueryReq req) {
public Page<BusProjectVo> list(ProjectQueryReq req) {
return projectService.queryPageList(req);
}
@ -56,8 +56,8 @@ public class ProjectController extends BaseController {
@Log(title = "项目", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(ProjectQueryReq req, HttpServletResponse response) {
List<ProjectVo> list = projectService.queryList(req);
ExcelUtil.exportExcel(list, "项目", ProjectVo.class, response);
List<BusProjectVo> list = projectService.queryList(req);
ExcelUtil.exportExcel(list, "项目", BusProjectVo.class, response);
}
/**
@ -67,7 +67,7 @@ public class ProjectController extends BaseController {
*/
@SaCheckPermission("project:project:query")
@GetMapping("/{id}")
public R<ProjectVo> getInfo(@NotNull(message = "主键不能为空")
public R<BusProjectVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(projectService.queryById(id));
}

View File

@ -17,14 +17,14 @@ import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.common.web.core.BaseController;
import org.dromara.project.domain.UserProjectRelevancy;
import org.dromara.project.domain.BusUserProjectRelevancy;
import org.dromara.project.domain.req.project.ProjectBatchByProjectListReq;
import org.dromara.project.domain.req.userprojectrelevancy.UserProjectRelevancyCreateReq;
import org.dromara.project.domain.req.userprojectrelevancy.UserProjectRelevancyQueryReq;
import org.dromara.project.domain.req.userprojectrelevancy.UserProjectRelevancyUpdateReq;
import org.dromara.project.domain.resp.userprojectrelevancy.LoginUserProjectRelevancyResp;
import org.dromara.project.domain.vo.UserProjectRelevancyVo;
import org.dromara.project.service.IUserProjectRelevancyService;
import org.dromara.project.domain.vo.BusUserProjectRelevancyVo;
import org.dromara.project.service.IBusUserProjectRelevancyService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@ -40,9 +40,9 @@ import java.util.List;
@RequiredArgsConstructor
@RestController
@RequestMapping("/project/projectRelevancy")
public class UserProjectRelevancyController extends BaseController {
public class BusUserProjectRelevancyController extends BaseController {
private final IUserProjectRelevancyService userProjectRelevancyService;
private final IBusUserProjectRelevancyService userProjectRelevancyService;
/**
* 查询系统用户与项目关联列表
@ -50,7 +50,7 @@ public class UserProjectRelevancyController extends BaseController {
@Tag(name = "查询用户与项目关联列表")
@SaCheckPermission("project:projectRelevancy:list")
@GetMapping("/list")
public Page<UserProjectRelevancyVo> list(UserProjectRelevancyQueryReq req) {
public Page<BusUserProjectRelevancyVo> list(UserProjectRelevancyQueryReq req) {
return userProjectRelevancyService.queryPageList(req);
}
@ -71,7 +71,7 @@ public class UserProjectRelevancyController extends BaseController {
@Tag(name = "查询登录用户与项目关联分页")
@SaCheckPermission("project:projectRelevancy:list")
@GetMapping("/login/page")
public R<Page<UserProjectRelevancyVo>> pageByLoginUser(UserProjectRelevancyQueryReq req) {
public R<Page<BusUserProjectRelevancyVo>> pageByLoginUser(UserProjectRelevancyQueryReq req) {
Long userId = LoginHelper.getUserId();
return R.ok(userProjectRelevancyService.queryPageByUserId(userId, req));
}
@ -84,8 +84,8 @@ public class UserProjectRelevancyController extends BaseController {
@Log(title = "系统用户与项目关联", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(UserProjectRelevancyQueryReq req, HttpServletResponse response) {
List<UserProjectRelevancyVo> list = userProjectRelevancyService.queryList(req);
ExcelUtil.exportExcel(list, "系统用户与项目关联", UserProjectRelevancyVo.class, response);
List<BusUserProjectRelevancyVo> list = userProjectRelevancyService.queryList(req);
ExcelUtil.exportExcel(list, "系统用户与项目关联", BusUserProjectRelevancyVo.class, response);
}
/**
@ -96,7 +96,7 @@ public class UserProjectRelevancyController extends BaseController {
@Tag(name = "获取用户与项目关联详细信息")
@SaCheckPermission("project:projectRelevancy:query")
@GetMapping("/{id}")
public R<UserProjectRelevancyVo> getInfo(@NotNull(message = "主键不能为空")
public R<BusUserProjectRelevancyVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(userProjectRelevancyService.queryById(id));
}
@ -137,7 +137,7 @@ public class UserProjectRelevancyController extends BaseController {
public R<Boolean> removeBatchByProjectList(@RequestBody ProjectBatchByProjectListReq req) {
Long userId = req.getUserId();
Long[] projectIdList = req.getProjectIdList();
QueryWrapper<UserProjectRelevancy> wrapper = new QueryWrapper<>();
QueryWrapper<BusUserProjectRelevancy> wrapper = new QueryWrapper<>();
wrapper.eq("user_id", userId).in("project_id", (Object[]) projectIdList);
boolean result = userProjectRelevancyService.remove(wrapper);
/* List<UserProjectRelevancy> userProjectRelevancyList = Arrays.stream(projectIdList).map(projectId -> {

View File

@ -1,13 +1,14 @@
package org.dromara.project.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import java.io.Serial;
import java.util.Date;
/**
* 施工人员对象 bus_construction_user

View File

@ -1,13 +1,14 @@
package org.dromara.project.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import java.io.Serial;
import java.util.Date;
/**
* 分包单位对象 bus_contractor

View File

@ -18,8 +18,8 @@ import java.util.Date;
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("project")
public class Project extends BaseEntity {
@TableName("bus_project")
public class BusProject extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;

View File

@ -1,15 +1,14 @@
package org.dromara.project.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import java.io.Serial;
import java.util.Date;
/**
* 项目班组对象 bus_project_team

View File

@ -1,13 +1,13 @@
package org.dromara.project.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import java.io.Serial;
import java.util.Date;
/**
* 项目班组下的成员对象 bus_project_team_member

View File

@ -1,11 +1,10 @@
package org.dromara.project.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import java.io.Serial;
@ -17,8 +16,8 @@ import java.io.Serial;
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("user_project_relevancy")
public class UserProjectRelevancy extends BaseEntity {
@TableName("bus_user_project_relevancy")
public class BusUserProjectRelevancy extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;

View File

@ -1,169 +0,0 @@
package org.dromara.project.domain.bo;
import org.dromara.project.domain.BusConstructionUser;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 施工人员业务对象 bus_construction_user
*
* @author lcj
* @date 2025-03-07
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = BusConstructionUser.class, reverseConvertGenerate = false)
public class BusConstructionUserBo extends BaseEntity {
/**
* 主键id
*/
@NotNull(message = "主键id不能为空", groups = { EditGroup.class })
private Long id;
/**
* 微信id
*/
private String openid;
/**
* 微信名称
*/
private String nickName;
/**
* 人脸照
*/
private String pacePhoto;
/**
* 人员姓名
*/
private String userName;
/**
* 项目id
*/
private Long projectId;
/**
* 分包公司id
*/
private Long contractorId;
/**
* 班组id
*/
private Long teamId;
/**
* 状态0在职 1离职
*/
private Long status;
/**
* 是否代打
*/
private Long isPinch;
/**
* 联系电话
*/
private String phone;
/**
* 0:保密 1:男 2女
*/
@NotNull(message = "0:保密 1:男 2女不能为空", groups = { AddGroup.class, EditGroup.class })
private Long sex;
/**
* 民族
*/
private String nation;
/**
* 身份证号码
*/
private String sfzNumber;
/**
* 身份证有效开始期
*/
private String sfzStart;
/**
* 身份证有效结束期
*/
private String sfzEnd;
/**
* 身份证地址
*/
private String sfzSite;
/**
* 身份证出生日期
*/
private String sfzBirth;
/**
* 籍贯
*/
private String nativePlace;
/**
* 银行卡号
*/
private String yhkNumber;
/**
* 开户行
*/
private String yhkOpeningBank;
/**
* 持卡人
*/
private String yhkCardholder;
/**
* 工种(字典type_of_work)
*/
private Long typeOfWork;
/**
* 打卡(0启用打卡 1禁止打卡)
*/
@NotNull(message = "打卡(0启用打卡 1禁止打卡)不能为空", groups = { AddGroup.class, EditGroup.class })
private Long clock;
/**
* 入场时间
*/
private String entryDate;
/**
* 离场时间
*/
private String leaveDate;
/**
* 薪水
*/
private Long salary;
/**
* 备注
*/
private String remark;
}

View File

@ -1,53 +0,0 @@
package org.dromara.project.domain.bo;
import org.dromara.project.domain.BusProjectTeam;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 项目班组业务对象 bus_project_team
*
* @author lcj
* @date 2025-03-07
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = BusProjectTeam.class, reverseConvertGenerate = false)
public class BusProjectTeamBo extends BaseEntity {
/**
* 主键id
*/
@NotNull(message = "主键id不能为空", groups = { EditGroup.class })
private Long id;
/**
* 项目id
*/
private Long projectId;
/**
* 班组名称
*/
private String teamName;
/**
* 范围内打卡0范围内打卡 1任何地点打卡默认为1
*/
@NotNull(message = "范围内打卡0范围内打卡 1任何地点打卡默认为1不能为空", groups = { AddGroup.class, EditGroup.class })
private Long isClockIn;
/**
* 备注
*/
private String remark;
}

View File

@ -1,57 +0,0 @@
package org.dromara.project.domain.bo;
import org.dromara.project.domain.BusProjectTeamMember;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 项目班组下的成员业务对象 bus_project_team_member
*
* @author lcj
* @date 2025-03-07
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = BusProjectTeamMember.class, reverseConvertGenerate = false)
public class BusProjectTeamMemberBo extends BaseEntity {
/**
* 主键id
*/
@NotNull(message = "主键id不能为空", groups = { EditGroup.class })
private Long id;
/**
* 班组id
*/
private Long teamId;
/**
* 项目id
*/
private Long projectId;
/**
* 施工人员id
*/
private Long memberId;
/**
* 岗位默认为0普通员工1组长
*/
private Long postId;
/**
* 备注
*/
private String remark;
}

View File

@ -6,7 +6,7 @@ import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import org.dromara.project.domain.Project;
import org.dromara.project.domain.BusProject;
import java.io.Serial;
import java.io.Serializable;
@ -20,8 +20,8 @@ import java.io.Serializable;
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = Project.class)
public class ProjectVo implements Serializable {
@AutoMapper(target = BusProject.class)
public class BusProjectVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;

View File

@ -4,7 +4,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.project.domain.UserProjectRelevancy;
import org.dromara.project.domain.BusUserProjectRelevancy;
import java.io.Serial;
import java.io.Serializable;
@ -18,8 +18,8 @@ import java.io.Serializable;
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = UserProjectRelevancy.class)
public class UserProjectRelevancyVo implements Serializable {
@AutoMapper(target = BusUserProjectRelevancy.class)
public class BusUserProjectRelevancyVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@ -46,6 +46,6 @@ public class UserProjectRelevancyVo implements Serializable {
* 项目详情
*/
@ExcelProperty(value = "项目详情")
private ProjectVo project;
private BusProjectVo project;
}

View File

@ -0,0 +1,15 @@
package org.dromara.project.mapper;
import org.dromara.project.domain.BusProject;
import org.dromara.project.domain.vo.BusProjectVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 项目Mapper接口
*
* @author lcj
* @date 2025-03-04
*/
public interface BusProjectMapper extends BaseMapperPlus<BusProject, BusProjectVo> {
}

View File

@ -0,0 +1,15 @@
package org.dromara.project.mapper;
import org.dromara.project.domain.BusUserProjectRelevancy;
import org.dromara.project.domain.vo.BusUserProjectRelevancyVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 系统用户与项目关联Mapper接口
*
* @author lcj
* @date 2025-03-04
*/
public interface BusUserProjectRelevancyMapper extends BaseMapperPlus<BusUserProjectRelevancy, BusUserProjectRelevancyVo> {
}

View File

@ -1,15 +0,0 @@
package org.dromara.project.mapper;
import org.dromara.project.domain.Project;
import org.dromara.project.domain.vo.ProjectVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 项目Mapper接口
*
* @author lcj
* @date 2025-03-04
*/
public interface ProjectMapper extends BaseMapperPlus<Project, ProjectVo> {
}

View File

@ -1,15 +0,0 @@
package org.dromara.project.mapper;
import org.dromara.project.domain.UserProjectRelevancy;
import org.dromara.project.domain.vo.UserProjectRelevancyVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 系统用户与项目关联Mapper接口
*
* @author lcj
* @date 2025-03-04
*/
public interface UserProjectRelevancyMapper extends BaseMapperPlus<UserProjectRelevancy, UserProjectRelevancyVo> {
}

View File

@ -3,11 +3,11 @@ package org.dromara.project.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.dromara.project.domain.Project;
import org.dromara.project.domain.BusProject;
import org.dromara.project.domain.req.project.ProjectCreateReq;
import org.dromara.project.domain.req.project.ProjectQueryReq;
import org.dromara.project.domain.req.project.ProjectUpdateReq;
import org.dromara.project.domain.vo.ProjectVo;
import org.dromara.project.domain.vo.BusProjectVo;
import java.util.Collection;
import java.util.List;
@ -18,7 +18,7 @@ import java.util.List;
* @author lcj
* @date 2025-03-04
*/
public interface IProjectService extends IService<Project> {
public interface IBusProjectService extends IService<BusProject> {
/**
* 查询项目
@ -26,7 +26,7 @@ public interface IProjectService extends IService<Project> {
* @param id 主键
* @return 项目
*/
ProjectVo queryById(Long id);
BusProjectVo queryById(Long id);
/**
* 分页查询项目列表
@ -34,7 +34,7 @@ public interface IProjectService extends IService<Project> {
* @param req 查询条件
* @return 项目分页列表
*/
Page<ProjectVo> queryPageList(ProjectQueryReq req);
Page<BusProjectVo> queryPageList(ProjectQueryReq req);
/**
* 查询符合条件的项目列表
@ -42,7 +42,7 @@ public interface IProjectService extends IService<Project> {
* @param req 查询条件
* @return 项目列表
*/
List<ProjectVo> queryList(ProjectQueryReq req);
List<BusProjectVo> queryList(ProjectQueryReq req);
/**
* 新增项目
@ -75,7 +75,7 @@ public interface IProjectService extends IService<Project> {
* @param project 项目对象
* @return 项目视图对象
*/
ProjectVo getProjectVo(Project project);
BusProjectVo getProjectVo(BusProject project);
/**
* 获取项目查询条件封装
@ -83,7 +83,7 @@ public interface IProjectService extends IService<Project> {
* @param req 查询条件
* @return 查询条件封装
*/
QueryWrapper<Project> getQueryWrapper(ProjectQueryReq req);
QueryWrapper<BusProject> getQueryWrapper(ProjectQueryReq req);
/**
* 获取项目分页对象视图
@ -91,6 +91,6 @@ public interface IProjectService extends IService<Project> {
* @param projectPage 项目分页对象
* @return 项目分页对象视图
*/
Page<ProjectVo> getVoPage(Page<Project> projectPage);
Page<BusProjectVo> getVoPage(Page<BusProject> projectPage);
}

View File

@ -3,13 +3,13 @@ package org.dromara.project.service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.dromara.project.domain.UserProjectRelevancy;
import org.dromara.project.domain.BusUserProjectRelevancy;
import org.dromara.project.domain.req.project.ProjectBatchByProjectListReq;
import org.dromara.project.domain.req.userprojectrelevancy.UserProjectRelevancyCreateReq;
import org.dromara.project.domain.req.userprojectrelevancy.UserProjectRelevancyQueryReq;
import org.dromara.project.domain.req.userprojectrelevancy.UserProjectRelevancyUpdateReq;
import org.dromara.project.domain.resp.userprojectrelevancy.LoginUserProjectRelevancyResp;
import org.dromara.project.domain.vo.UserProjectRelevancyVo;
import org.dromara.project.domain.vo.BusUserProjectRelevancyVo;
import java.util.Collection;
import java.util.List;
@ -20,7 +20,7 @@ import java.util.List;
* @author lcj
* @date 2025-03-04
*/
public interface IUserProjectRelevancyService extends IService<UserProjectRelevancy> {
public interface IBusUserProjectRelevancyService extends IService<BusUserProjectRelevancy> {
/**
* 查询系统用户与项目关联
@ -28,7 +28,7 @@ public interface IUserProjectRelevancyService extends IService<UserProjectReleva
* @param id 主键
* @return 系统用户与项目关联
*/
UserProjectRelevancyVo queryById(Long id);
BusUserProjectRelevancyVo queryById(Long id);
/**
* 分页查询系统用户与项目关联列表
@ -36,7 +36,7 @@ public interface IUserProjectRelevancyService extends IService<UserProjectReleva
* @param req 查询条件
* @return 系统用户与项目关联分页列表
*/
Page<UserProjectRelevancyVo> queryPageList(UserProjectRelevancyQueryReq req);
Page<BusUserProjectRelevancyVo> queryPageList(UserProjectRelevancyQueryReq req);
/**
* 查询符合条件的系统用户与项目关联列表
@ -44,7 +44,7 @@ public interface IUserProjectRelevancyService extends IService<UserProjectReleva
* @param req 查询条件
* @return 系统用户与项目关联列表
*/
List<UserProjectRelevancyVo> queryList(UserProjectRelevancyQueryReq req);
List<BusUserProjectRelevancyVo> queryList(UserProjectRelevancyQueryReq req);
/**
* 新增系统用户与项目关联
@ -86,7 +86,7 @@ public interface IUserProjectRelevancyService extends IService<UserProjectReleva
* @param req 分页查询条件
* @return 当前登录用户项目分页
*/
Page<UserProjectRelevancyVo> queryPageByUserId(Long userId, UserProjectRelevancyQueryReq req);
Page<BusUserProjectRelevancyVo> queryPageByUserId(Long userId, UserProjectRelevancyQueryReq req);
/**
* 批量新增用户和项目关联
@ -102,7 +102,7 @@ public interface IUserProjectRelevancyService extends IService<UserProjectReleva
* @param userProjectRelevancy 系统用户与项目关联
* @return 系统用户与项目关联视图
*/
UserProjectRelevancyVo getVo(UserProjectRelevancy userProjectRelevancy);
BusUserProjectRelevancyVo getVo(BusUserProjectRelevancy userProjectRelevancy);
/**
* 获取用户和项目关联对象查询条件封装
@ -110,7 +110,7 @@ public interface IUserProjectRelevancyService extends IService<UserProjectReleva
* @param req 查询条件
* @return 查询条件封装
*/
QueryWrapper<UserProjectRelevancy> getQueryWrapper(UserProjectRelevancyQueryReq req);
QueryWrapper<BusUserProjectRelevancy> getQueryWrapper(UserProjectRelevancyQueryReq req);
/**
* 获取系统用户与项目关联分页视图
@ -118,6 +118,6 @@ public interface IUserProjectRelevancyService extends IService<UserProjectReleva
* @param userProjectRelevancyPage 系统用户与项目关联分页
* @return 系统用户与项目关联分页视图
*/
Page<UserProjectRelevancyVo> getVoPage(Page<UserProjectRelevancy> userProjectRelevancyPage);
Page<BusUserProjectRelevancyVo> getVoPage(Page<BusUserProjectRelevancy> userProjectRelevancyPage);
}

View File

@ -22,7 +22,7 @@ import org.dromara.project.domain.vo.BusContractorVo;
import org.dromara.project.mapper.BusConstructionUserMapper;
import org.dromara.project.service.IBusConstructionUserService;
import org.dromara.project.service.IBusContractorService;
import org.dromara.project.service.IProjectService;
import org.dromara.project.service.IBusProjectService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -44,7 +44,7 @@ public class BusConstructionUserServiceImpl extends ServiceImpl<BusConstructionU
implements IBusConstructionUserService {
@Resource
private IProjectService projectService;
private IBusProjectService projectService;
@Resource
private IBusContractorService contractorService;

View File

@ -13,15 +13,15 @@ import org.dromara.common.core.utils.ObjectUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.core.utils.sql.SqlUtil;
import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.project.domain.Project;
import org.dromara.project.domain.UserProjectRelevancy;
import org.dromara.project.domain.BusProject;
import org.dromara.project.domain.BusUserProjectRelevancy;
import org.dromara.project.domain.req.project.ProjectCreateReq;
import org.dromara.project.domain.req.project.ProjectQueryReq;
import org.dromara.project.domain.req.project.ProjectUpdateReq;
import org.dromara.project.domain.vo.ProjectVo;
import org.dromara.project.mapper.ProjectMapper;
import org.dromara.project.service.IProjectService;
import org.dromara.project.service.IUserProjectRelevancyService;
import org.dromara.project.domain.vo.BusProjectVo;
import org.dromara.project.mapper.BusProjectMapper;
import org.dromara.project.service.IBusProjectService;
import org.dromara.project.service.IBusUserProjectRelevancyService;
import org.springframework.beans.BeanUtils;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
@ -36,15 +36,15 @@ import java.util.List;
* @date 2025-03-04
*/
@Service
public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project>
implements IProjectService {
public class BusProjectServiceImpl extends ServiceImpl<BusProjectMapper, BusProject>
implements IBusProjectService {
@Resource
private ProjectMapper baseMapper;
private BusProjectMapper baseMapper;
@Lazy
@Resource
private IUserProjectRelevancyService userProjectRelevancyService;
private IBusUserProjectRelevancyService userProjectRelevancyService;
/**
* 查询项目
@ -53,7 +53,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project>
* @return 项目
*/
@Override
public ProjectVo queryById(Long id) {
public BusProjectVo queryById(Long id) {
return baseMapper.selectVoById(id);
}
@ -64,11 +64,11 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project>
* @return 项目分页列表
*/
@Override
public Page<ProjectVo> queryPageList(ProjectQueryReq req) {
public Page<BusProjectVo> queryPageList(ProjectQueryReq req) {
long current = req.getCurrent();
long size = req.getPageSize();
// 查询数据库
Page<Project> result = this.page(new Page<>(current, size), this.getQueryWrapper(req));
Page<BusProject> result = this.page(new Page<>(current, size), this.getQueryWrapper(req));
return this.getVoPage(result);
}
@ -79,8 +79,8 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project>
* @return 项目列表
*/
@Override
public List<ProjectVo> queryList(ProjectQueryReq req) {
QueryWrapper<Project> queryWrapper = this.getQueryWrapper(req);
public List<BusProjectVo> queryList(ProjectQueryReq req) {
QueryWrapper<BusProject> queryWrapper = this.getQueryWrapper(req);
return baseMapper.selectVoList(queryWrapper);
}
@ -93,7 +93,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project>
@Override
public Long insertByBo(ProjectCreateReq dto) {
// 将实体类和 DTO 进行转换
Project project = new Project();
BusProject project = new BusProject();
BeanUtils.copyProperties(dto, project);
// 数据校验
validEntityBeforeSave(project);
@ -105,7 +105,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project>
Long projectId = project.getId();
Long userId = LoginHelper.getUserId();
// 同步保存用户与项目关联
UserProjectRelevancy userProjectRelevancy = new UserProjectRelevancy();
BusUserProjectRelevancy userProjectRelevancy = new BusUserProjectRelevancy();
userProjectRelevancy.setUserId(userId);
userProjectRelevancy.setProjectId(projectId);
boolean saveRelevancy = userProjectRelevancyService.save(userProjectRelevancy);
@ -125,14 +125,14 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project>
@Override
public Boolean updateByBo(ProjectUpdateReq req) {
// 将实体类和 DTO 进行转换
Project project = new Project();
BusProject project = new BusProject();
BeanUtils.copyProperties(req, project);
// 数据校验
validEntityBeforeSave(project);
// 权限校验
validPermission(project);
// 判断是否存在
Project oldProject = this.getById(project.getId());
BusProject oldProject = this.getById(project.getId());
if (oldProject == null) {
throw new ServiceException("修改项目失败,数据不存在", HttpStatus.NOT_FOUND);
}
@ -143,7 +143,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project>
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(Project entity) {
private void validEntityBeforeSave(BusProject entity) {
// TODO 做一些数据校验,如唯一约束
String projectName = entity.getProjectName();
if (StringUtils.isBlank(projectName)) {
@ -154,12 +154,12 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project>
/**
* 权限判断
*/
private void validPermission(Project entity) {
private void validPermission(BusProject entity) {
Long entityId = entity.getId();
// 获取当前登录用户
Long userId = LoginHelper.getUserId();
// 判断是否存在项目与登录用户关联
QueryWrapper<UserProjectRelevancy> queryWrapper = new QueryWrapper<>();
QueryWrapper<BusUserProjectRelevancy> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("project_id", entityId);
queryWrapper.eq("user_id", userId);
if (userProjectRelevancyService.count(queryWrapper) <= 0) {
@ -190,12 +190,12 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project>
* @return 项目视图对象
*/
@Override
public ProjectVo getProjectVo(Project project) {
public BusProjectVo getProjectVo(BusProject project) {
if (project == null) {
return null;
}
// 对象转封装类
ProjectVo projectVo = new ProjectVo();
BusProjectVo projectVo = new BusProjectVo();
BeanUtils.copyProperties(project, projectVo);
return projectVo;
}
@ -207,8 +207,8 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project>
* @return 查询条件封装
*/
@Override
public QueryWrapper<Project> getQueryWrapper(ProjectQueryReq req) {
QueryWrapper<Project> queryWrapper = new QueryWrapper<>();
public QueryWrapper<BusProject> getQueryWrapper(ProjectQueryReq req) {
QueryWrapper<BusProject> queryWrapper = new QueryWrapper<>();
if (req == null) {
return queryWrapper;
}
@ -261,14 +261,14 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project>
@Override
public Page<ProjectVo> getVoPage(Page<Project> projectPage) {
List<Project> projectList = projectPage.getRecords();
Page<ProjectVo> projectVoPage = new Page<>(projectPage.getCurrent(), projectPage.getSize(), projectPage.getTotal());
public Page<BusProjectVo> getVoPage(Page<BusProject> projectPage) {
List<BusProject> projectList = projectPage.getRecords();
Page<BusProjectVo> projectVoPage = new Page<>(projectPage.getCurrent(), projectPage.getSize(), projectPage.getTotal());
if (CollUtil.isEmpty(projectList)) {
return projectVoPage;
}
// 对象列表 => 封装对象列表
List<ProjectVo> projectVoList = projectList.stream().map(this::getProjectVo).toList();
List<BusProjectVo> projectVoList = projectList.stream().map(this::getProjectVo).toList();
projectVoPage.setRecords(projectVoList);
return projectVoPage;
}

View File

@ -24,7 +24,7 @@ import org.dromara.project.mapper.BusProjectTeamMemberMapper;
import org.dromara.project.service.IBusConstructionUserService;
import org.dromara.project.service.IBusProjectTeamMemberService;
import org.dromara.project.service.IBusProjectTeamService;
import org.dromara.project.service.IProjectService;
import org.dromara.project.service.IBusProjectService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -52,7 +52,7 @@ public class BusProjectTeamMemberServiceImpl extends ServiceImpl<BusProjectTeamM
private IBusProjectTeamService projectTeamService;
@Resource
private IProjectService projectService;
private IBusProjectService projectService;
/**
* 查询项目班组下的成员

View File

@ -20,7 +20,7 @@ import org.dromara.project.domain.req.projectteam.ProjectTeamUpdateReq;
import org.dromara.project.domain.vo.BusProjectTeamVo;
import org.dromara.project.mapper.BusProjectTeamMapper;
import org.dromara.project.service.IBusProjectTeamService;
import org.dromara.project.service.IProjectService;
import org.dromara.project.service.IBusProjectService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -39,7 +39,7 @@ public class BusProjectTeamServiceImpl extends ServiceImpl<BusProjectTeamMapper,
implements IBusProjectTeamService {
@Resource
private IProjectService projectService;
private IBusProjectService projectService;
/**
* 查询项目班组

View File

@ -13,17 +13,17 @@ import org.dromara.common.core.constant.HttpStatus;
import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.utils.ObjectUtils;
import org.dromara.common.core.utils.sql.SqlUtil;
import org.dromara.project.domain.Project;
import org.dromara.project.domain.UserProjectRelevancy;
import org.dromara.project.domain.BusProject;
import org.dromara.project.domain.BusUserProjectRelevancy;
import org.dromara.project.domain.req.project.ProjectBatchByProjectListReq;
import org.dromara.project.domain.req.userprojectrelevancy.UserProjectRelevancyCreateReq;
import org.dromara.project.domain.req.userprojectrelevancy.UserProjectRelevancyQueryReq;
import org.dromara.project.domain.req.userprojectrelevancy.UserProjectRelevancyUpdateReq;
import org.dromara.project.domain.resp.userprojectrelevancy.LoginUserProjectRelevancyResp;
import org.dromara.project.domain.vo.UserProjectRelevancyVo;
import org.dromara.project.mapper.UserProjectRelevancyMapper;
import org.dromara.project.service.IProjectService;
import org.dromara.project.service.IUserProjectRelevancyService;
import org.dromara.project.domain.vo.BusUserProjectRelevancyVo;
import org.dromara.project.mapper.BusUserProjectRelevancyMapper;
import org.dromara.project.service.IBusProjectService;
import org.dromara.project.service.IBusUserProjectRelevancyService;
import org.dromara.system.service.ISysUserService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@ -41,14 +41,14 @@ import java.util.Objects;
* @date 2025-03-04
*/
@Service
public class UserProjectRelevancyServiceImpl extends ServiceImpl<UserProjectRelevancyMapper, UserProjectRelevancy>
implements IUserProjectRelevancyService {
public class BusUserProjectRelevancyServiceImpl extends ServiceImpl<BusUserProjectRelevancyMapper, BusUserProjectRelevancy>
implements IBusUserProjectRelevancyService {
@Resource
private UserProjectRelevancyMapper baseMapper;
private BusUserProjectRelevancyMapper baseMapper;
@Resource
private IProjectService projectService;
private IBusProjectService projectService;
@Resource
private ISysUserService userService;
@ -60,9 +60,9 @@ public class UserProjectRelevancyServiceImpl extends ServiceImpl<UserProjectRele
* @return 系统用户与项目关联
*/
@Override
public UserProjectRelevancyVo queryById(Long id) {
public BusUserProjectRelevancyVo queryById(Long id) {
// 查询数据
UserProjectRelevancy userProjectRelevancy = this.getById(id);
BusUserProjectRelevancy userProjectRelevancy = this.getById(id);
// 封装并返回
return this.getVo(userProjectRelevancy);
}
@ -74,12 +74,12 @@ public class UserProjectRelevancyServiceImpl extends ServiceImpl<UserProjectRele
* @return 系统用户与项目关联分页列表
*/
@Override
public Page<UserProjectRelevancyVo> queryPageList(UserProjectRelevancyQueryReq req) {
public Page<BusUserProjectRelevancyVo> queryPageList(UserProjectRelevancyQueryReq req) {
long current = req.getCurrent();
long size = req.getPageSize();
QueryWrapper<UserProjectRelevancy> queryWrapper = this.getQueryWrapper(req);
QueryWrapper<BusUserProjectRelevancy> queryWrapper = this.getQueryWrapper(req);
// 查询数据库
Page<UserProjectRelevancy> result = this.page(new Page<>(current, size), this.getQueryWrapper(req));
Page<BusUserProjectRelevancy> result = this.page(new Page<>(current, size), this.getQueryWrapper(req));
return this.getVoPage(result);
}
@ -90,8 +90,8 @@ public class UserProjectRelevancyServiceImpl extends ServiceImpl<UserProjectRele
* @return 系统用户与项目关联列表
*/
@Override
public List<UserProjectRelevancyVo> queryList(UserProjectRelevancyQueryReq req) {
QueryWrapper<UserProjectRelevancy> queryWrapper = this.getQueryWrapper(req);
public List<BusUserProjectRelevancyVo> queryList(UserProjectRelevancyQueryReq req) {
QueryWrapper<BusUserProjectRelevancy> queryWrapper = this.getQueryWrapper(req);
return baseMapper.selectVoList(queryWrapper);
}
@ -104,14 +104,14 @@ public class UserProjectRelevancyServiceImpl extends ServiceImpl<UserProjectRele
@Override
public Long insertByBo(UserProjectRelevancyCreateReq req) {
// 将实体类和 DTO 进行转换
UserProjectRelevancy userProjectRelevancy = new UserProjectRelevancy();
BusUserProjectRelevancy userProjectRelevancy = new BusUserProjectRelevancy();
BeanUtils.copyProperties(req, userProjectRelevancy);
// 数据校验
validEntityBeforeSave(userProjectRelevancy);
// 判断对应的用户与项目关联是否存在
if (this.getOne(new LambdaQueryWrapper<UserProjectRelevancy>()
.eq(UserProjectRelevancy::getUserId, userProjectRelevancy.getUserId())
.eq(UserProjectRelevancy::getProjectId, userProjectRelevancy.getProjectId())) != null) {
if (this.getOne(new LambdaQueryWrapper<BusUserProjectRelevancy>()
.eq(BusUserProjectRelevancy::getUserId, userProjectRelevancy.getUserId())
.eq(BusUserProjectRelevancy::getProjectId, userProjectRelevancy.getProjectId())) != null) {
throw new ServiceException("用户和项目关联已存在", HttpStatus.CONFLICT);
}
// 写入数据库
@ -132,12 +132,12 @@ public class UserProjectRelevancyServiceImpl extends ServiceImpl<UserProjectRele
@Override
public Boolean updateByBo(UserProjectRelevancyUpdateReq req) {
// 将实体类和 DTO 进行转换
UserProjectRelevancy userProjectRelevancy = new UserProjectRelevancy();
BusUserProjectRelevancy userProjectRelevancy = new BusUserProjectRelevancy();
BeanUtils.copyProperties(req, userProjectRelevancy);
// 数据校验
validEntityBeforeSave(userProjectRelevancy);
// 判断是否存在
UserProjectRelevancy oldUserProjectRelevancy = this.getById(userProjectRelevancy.getId());
BusUserProjectRelevancy oldUserProjectRelevancy = this.getById(userProjectRelevancy.getId());
if (oldUserProjectRelevancy == null) {
throw new ServiceException("修改用户和项目关联失败,数据不存在", HttpStatus.NOT_FOUND);
}
@ -148,7 +148,7 @@ public class UserProjectRelevancyServiceImpl extends ServiceImpl<UserProjectRele
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(UserProjectRelevancy entity) {
private void validEntityBeforeSave(BusUserProjectRelevancy entity) {
// TODO 做一些数据校验,如唯一约束
Long projectId = entity.getProjectId();
Long userId = entity.getUserId();
@ -192,17 +192,17 @@ public class UserProjectRelevancyServiceImpl extends ServiceImpl<UserProjectRele
@Override
public List<LoginUserProjectRelevancyResp> queryListByUserId(Long userId) {
// 添加查询条件根据当前用户获取数据
LambdaQueryWrapper<UserProjectRelevancy> queryWrapper = Wrappers.lambdaQuery();
queryWrapper.eq(UserProjectRelevancy::getUserId, userId);
LambdaQueryWrapper<BusUserProjectRelevancy> queryWrapper = Wrappers.lambdaQuery();
queryWrapper.eq(BusUserProjectRelevancy::getUserId, userId);
// 查询数据库获取数据
List<UserProjectRelevancy> list = this.list(queryWrapper);
List<BusUserProjectRelevancy> list = this.list(queryWrapper);
// 获取封装
return list.stream()
.map(userProjectRelevancy -> {
Long projectId = userProjectRelevancy.getProjectId();
QueryWrapper<Project> projectQueryWrapper = new QueryWrapper<>();
QueryWrapper<BusProject> projectQueryWrapper = new QueryWrapper<>();
projectQueryWrapper.eq("id", projectId);
Project project = projectService.getOne(projectQueryWrapper);
BusProject project = projectService.getOne(projectQueryWrapper);
if (project != null) {
LoginUserProjectRelevancyResp loginUserProjectRelevancy = new LoginUserProjectRelevancyResp();
loginUserProjectRelevancy.setId(userProjectRelevancy.getId());
@ -226,14 +226,14 @@ public class UserProjectRelevancyServiceImpl extends ServiceImpl<UserProjectRele
* @return 当前登录用户项目分页
*/
@Override
public Page<UserProjectRelevancyVo> queryPageByUserId(Long userId, UserProjectRelevancyQueryReq req) {
public Page<BusUserProjectRelevancyVo> queryPageByUserId(Long userId, UserProjectRelevancyQueryReq req) {
long current = req.getCurrent();
long size = req.getPageSize();
// 添加查询条件
req.setUserId(userId);
QueryWrapper<UserProjectRelevancy> queryWrapper = this.getQueryWrapper(req);
QueryWrapper<BusUserProjectRelevancy> queryWrapper = this.getQueryWrapper(req);
// 查询数据库
Page<UserProjectRelevancy> result = this.page(new Page<>(current, size), queryWrapper);
Page<BusUserProjectRelevancy> result = this.page(new Page<>(current, size), queryWrapper);
return this.getVoPage(result);
}
@ -248,20 +248,20 @@ public class UserProjectRelevancyServiceImpl extends ServiceImpl<UserProjectRele
public Boolean insertBatchByProjectList(ProjectBatchByProjectListReq req) {
Long userId = req.getUserId();
Long[] projectIdList = req.getProjectIdList();
long count = projectService.count(new QueryWrapper<Project>().in("id", (Object[]) projectIdList));
long count = projectService.count(new QueryWrapper<BusProject>().in("id", (Object[]) projectIdList));
if (count < projectIdList.length) {
throw new ServiceException("项目ID列表错误一个或多个项目不存在", HttpStatus.NOT_FOUND);
}
List<UserProjectRelevancy> userProjectRelevancyList = Arrays.stream(projectIdList).map(projectId -> {
UserProjectRelevancy userProjectRelevancy = new UserProjectRelevancy();
List<BusUserProjectRelevancy> userProjectRelevancyList = Arrays.stream(projectIdList).map(projectId -> {
BusUserProjectRelevancy userProjectRelevancy = new BusUserProjectRelevancy();
userProjectRelevancy.setUserId(userId);
userProjectRelevancy.setProjectId(projectId);
// 查询对应用户与项目关联信息是否存在
QueryWrapper<UserProjectRelevancy> queryWrapper = new QueryWrapper<>();
QueryWrapper<BusUserProjectRelevancy> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("user_id", userId);
queryWrapper.eq("project_id", projectId);
// 如果存在则不保存
UserProjectRelevancy one = this.getOne(queryWrapper);
BusUserProjectRelevancy one = this.getOne(queryWrapper);
if (one != null) {
return null;
}
@ -281,9 +281,9 @@ public class UserProjectRelevancyServiceImpl extends ServiceImpl<UserProjectRele
* @return 系统用户与项目关联视图
*/
@Override
public UserProjectRelevancyVo getVo(UserProjectRelevancy userProjectRelevancy) {
public BusUserProjectRelevancyVo getVo(BusUserProjectRelevancy userProjectRelevancy) {
// 对象转封装类
UserProjectRelevancyVo userProjectRelevancyVo = new UserProjectRelevancyVo();
BusUserProjectRelevancyVo userProjectRelevancyVo = new BusUserProjectRelevancyVo();
if (userProjectRelevancy == null) {
return userProjectRelevancyVo;
}
@ -303,8 +303,8 @@ public class UserProjectRelevancyServiceImpl extends ServiceImpl<UserProjectRele
* @return 查询条件封装
*/
@Override
public QueryWrapper<UserProjectRelevancy> getQueryWrapper(UserProjectRelevancyQueryReq req) {
QueryWrapper<UserProjectRelevancy> queryWrapper = new QueryWrapper<>();
public QueryWrapper<BusUserProjectRelevancy> getQueryWrapper(UserProjectRelevancyQueryReq req) {
QueryWrapper<BusUserProjectRelevancy> queryWrapper = new QueryWrapper<>();
if (req == null) {
return queryWrapper;
}
@ -333,9 +333,9 @@ public class UserProjectRelevancyServiceImpl extends ServiceImpl<UserProjectRele
* @return 系统用户与项目关联分页视图
*/
@Override
public Page<UserProjectRelevancyVo> getVoPage(Page<UserProjectRelevancy> userProjectRelevancyPage) {
List<UserProjectRelevancy> userProjectRelevancyList = userProjectRelevancyPage.getRecords();
Page<UserProjectRelevancyVo> userProjectRelevancyVoPage = new Page<>(
public Page<BusUserProjectRelevancyVo> getVoPage(Page<BusUserProjectRelevancy> userProjectRelevancyPage) {
List<BusUserProjectRelevancy> userProjectRelevancyList = userProjectRelevancyPage.getRecords();
Page<BusUserProjectRelevancyVo> userProjectRelevancyVoPage = new Page<>(
userProjectRelevancyPage.getCurrent(),
userProjectRelevancyPage.getSize(),
userProjectRelevancyPage.getTotal());
@ -343,7 +343,7 @@ public class UserProjectRelevancyServiceImpl extends ServiceImpl<UserProjectRele
return userProjectRelevancyVoPage;
}
// 对象列表 => 封装对象列表
List<UserProjectRelevancyVo> userProjectRelevancyVoList = userProjectRelevancyList.stream().map(this::getVo).toList();
List<BusUserProjectRelevancyVo> userProjectRelevancyVoList = userProjectRelevancyList.stream().map(this::getVo).toList();
userProjectRelevancyVoPage.setRecords(userProjectRelevancyVoList);
return userProjectRelevancyVoPage;
}

View File

@ -2,6 +2,6 @@
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.project.mapper.UserProjectRelevancyMapper">
<mapper namespace="org.dromara.machinery.mapper.BusMachineryDetailMapper">
</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.machinery.mapper.BusMachineryMapper">
</mapper>

View File

@ -2,6 +2,6 @@
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.project.mapper.ProjectMapper">
<mapper namespace="org.dromara.project.mapper.BusProjectMapper">
</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.project.mapper.BusUserProjectRelevancyMapper">
</mapper>

View File

@ -237,3 +237,43 @@ values(1897844023242051590, '施工人员删除', 1897844023242051586, '4', '#'
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
values(1897844023242051591, '施工人员导出', 1897844023242051586, '5', '#', '', 1, 0, 'F', '0', '0', 'project:constructionUser:export', '#', 103, 1, sysdate(), null, null, '');
-- 菜单 SQL
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
values(1897935931448537090, '机械', '1', '1', 'machinery', 'machinery/machinery/index', 1, 0, 'C', '0', '0', 'machinery:machinery:list', '#', 103, 1, sysdate(), null, null, '机械菜单');
-- 按钮 SQL
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
values(1897935931448537091, '机械查询', 1897935931448537090, '1', '#', '', 1, 0, 'F', '0', '0', 'machinery:machinery:query', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
values(1897935931448537092, '机械新增', 1897935931448537090, '2', '#', '', 1, 0, 'F', '0', '0', 'machinery:machinery:add', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
values(1897935931448537093, '机械修改', 1897935931448537090, '3', '#', '', 1, 0, 'F', '0', '0', 'machinery:machinery:edit', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
values(1897935931448537094, '机械删除', 1897935931448537090, '4', '#', '', 1, 0, 'F', '0', '0', 'machinery:machinery:remove', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
values(1897935931448537095, '机械导出', 1897935931448537090, '5', '#', '', 1, 0, 'F', '0', '0', 'machinery:machinery:export', '#', 103, 1, sysdate(), null, null, '');
-- 菜单 SQL
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
values(1897935932513890306, '机械详情', '1', '1', 'machineryDetail', 'machinery/machineryDetail/index', 1, 0, 'C', '0', '0', 'machinery:machineryDetail:list', '#', 103, 1, sysdate(), null, null, '机械详情菜单');
-- 按钮 SQL
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
values(1897935932513890307, '机械详情查询', 1897935932513890306, '1', '#', '', 1, 0, 'F', '0', '0', 'machinery:machineryDetail:query', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
values(1897935932513890308, '机械详情新增', 1897935932513890306, '2', '#', '', 1, 0, 'F', '0', '0', 'machinery:machineryDetail:add', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
values(1897935932513890309, '机械详情修改', 1897935932513890306, '3', '#', '', 1, 0, 'F', '0', '0', 'machinery:machineryDetail:edit', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
values(1897935932513890310, '机械详情删除', 1897935932513890306, '4', '#', '', 1, 0, 'F', '0', '0', 'machinery:machineryDetail:remove', '#', 103, 1, sysdate(), null, null, '');
insert into sys_menu (menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark)
values(1897935932513890311, '机械详情导出', 1897935932513890306, '5', '#', '', 1, 0, 'F', '0', '0', 'machinery:machineryDetail:export', '#', 103, 1, sysdate(), null, null, '');

View File

@ -1,7 +1,7 @@
use energy;
drop table if exists `project`;
create table `project`
drop table if exists bus_project;
create table `bus_project`
(
`id` bigint not null auto_increment,
`project_name` varchar(64) null comment '项目名称',
@ -37,8 +37,8 @@ create table `project`
COLLATE = utf8mb4_general_ci comment = '项目表'
ROW_FORMAT = DYNAMIC;
DROP TABLE IF EXISTS `user_project_relevancy`;
CREATE TABLE `user_project_relevancy`
DROP TABLE IF EXISTS bus_user_project_relevancy;
CREATE TABLE `bus_user_project_relevancy`
(
`id` bigint not null AUTO_INCREMENT comment '主键ID',
`user_id` bigint not null comment '用户ID',
@ -243,10 +243,49 @@ CREATE TABLE `bus_project_team_member`
`update_time` datetime default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP comment '更新时间',
`deleted_at` datetime null comment '删除时间',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_team_id` (`team_id` ASC) USING BTREE COMMENT '班组id',
INDEX `idx_project_id` (`project_id` ASC) USING BTREE COMMENT '项目id',
INDEX `idx_member_id` (`member_id` ASC) USING BTREE COMMENT '施工人员id'
) ENGINE = InnoDB
CHARACTER SET = utf8mb4
COLLATE = utf8mb4_general_ci COMMENT = '项目班组下的成员'
ROW_FORMAT = DYNAMIC;
INDEX `idx_team_id` (`team_id` ASC) USING BTREE comment '班组id',
INDEX `idx_project_id` (`project_id` ASC) USING BTREE comment '项目id',
INDEX `idx_member_id` (`member_id` ASC) USING BTREE comment '施工人员id'
) comment = '项目班组下的成员' collate = utf8mb4_unicode_ci;
DROP TABLE IF EXISTS `bus_machinery`;
CREATE TABLE `bus_machinery`
(
`id` bigint not null auto_increment comment '主键id',
`machinery_name` varchar(16) null comment '机械名称',
`machinery_number` varchar(64) null comment '机械型号',
`project_id` bigint null comment '项目id',
`number` int null comment '数量',
`principal` varchar(20) null comment '负责人',
`remark` varchar(512) null comment '备注',
`create_by` varchar(64) null comment '创建者',
`update_by` varchar(64) null comment '更新者',
`create_time` datetime default CURRENT_TIMESTAMP null comment '创建时间',
`update_time` datetime default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP comment '更新时间',
`deleted_at` datetime null comment '删除时间',
`is_delete` tinyint(4) default 0 not null comment '是否删除0正常 1删除',
PRIMARY KEY (`id`) USING BTREE
) comment = '机械表' collate = utf8mb4_unicode_ci;
DROP TABLE IF EXISTS `bus_machinery_detail`;
CREATE TABLE `bus_machinery_detail`
(
`id` bigint not null auto_increment comment '主键id',
`checkout_number` varchar(64) null comment '检验证编号',
`checkout_unit` varchar(64) null comment '检验单位',
`checkout_date` varchar(64) null comment '检定日期/有效期',
`status` tinyint(4) default 0 null comment '施工类型状态0正常 1停用',
`type` tinyint(4) default 0 null null comment '0入场 1出场',
`entry_time` datetime null comment '入场时间',
`remark` varchar(512) null comment '备注',
`picture` varchar(512) null comment '图片(英文逗号分隔)',
`machinery_id` bigint null comment '机械主键id',
`create_by` varchar(64) null comment '创建者',
`update_by` varchar(64) null comment '更新者',
`create_time` datetime default CURRENT_TIMESTAMP null comment '创建时间',
`update_time` datetime default CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP comment '更新时间',
`deleted_at` datetime null comment '删除时间',
`is_delete` tinyint(4) default 0 not null comment '是否删除0正常 1删除',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_machinery_id` (`machinery_id` ASC) USING BTREE comment '机械主键id'
) comment = '机械详情' collate = utf8mb4_unicode_ci;