机械相关模块增删改查接口
This commit is contained in:
@ -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));
|
||||
}
|
||||
}
|
@ -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));
|
||||
}
|
||||
}
|
@ -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;
|
||||
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
@ -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;
|
||||
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
|
||||
}
|
@ -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> {
|
||||
|
||||
}
|
@ -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> {
|
||||
|
||||
}
|
@ -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);
|
||||
}
|
@ -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);
|
||||
}
|
@ -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;
|
||||
}
|
||||
}
|
@ -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;
|
||||
}
|
||||
}
|
@ -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;
|
||||
|
||||
/**
|
||||
* 查询公司
|
||||
|
@ -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;
|
||||
|
||||
/**
|
||||
* 查询材料出/入库
|
||||
|
@ -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;
|
||||
|
||||
/**
|
||||
* 查询材料名称
|
||||
|
@ -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));
|
||||
}
|
@ -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 -> {
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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;
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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;
|
@ -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;
|
||||
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
|
||||
}
|
@ -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;
|
||||
|
||||
|
||||
}
|
@ -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;
|
@ -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;
|
||||
|
||||
}
|
@ -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> {
|
||||
|
||||
}
|
@ -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> {
|
||||
|
||||
}
|
@ -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> {
|
||||
|
||||
}
|
@ -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> {
|
||||
|
||||
}
|
@ -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);
|
||||
|
||||
}
|
@ -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);
|
||||
|
||||
}
|
@ -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;
|
||||
|
@ -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;
|
||||
}
|
@ -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;
|
||||
|
||||
/**
|
||||
* 查询项目班组下的成员
|
||||
|
@ -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;
|
||||
|
||||
/**
|
||||
* 查询项目班组
|
||||
|
@ -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;
|
||||
}
|
@ -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>
|
@ -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>
|
@ -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>
|
@ -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>
|
@ -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, '');
|
||||
|
@ -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;
|
||||
|
Reference in New Issue
Block a user