机械台账管理接口
This commit is contained in:
		| @ -0,0 +1,105 @@ | |||||||
|  | package org.dromara.mechanical.controller; | ||||||
|  |  | ||||||
|  | import java.util.List; | ||||||
|  |  | ||||||
|  | import lombok.RequiredArgsConstructor; | ||||||
|  | import jakarta.servlet.http.HttpServletResponse; | ||||||
|  | import jakarta.validation.constraints.*; | ||||||
|  | import cn.dev33.satoken.annotation.SaCheckPermission; | ||||||
|  | import org.springframework.web.bind.annotation.*; | ||||||
|  | import org.springframework.validation.annotation.Validated; | ||||||
|  | import org.dromara.common.idempotent.annotation.RepeatSubmit; | ||||||
|  | import org.dromara.common.log.annotation.Log; | ||||||
|  | import org.dromara.common.web.core.BaseController; | ||||||
|  | import org.dromara.common.mybatis.core.page.PageQuery; | ||||||
|  | import org.dromara.common.core.domain.R; | ||||||
|  | import org.dromara.common.core.validate.AddGroup; | ||||||
|  | import org.dromara.common.core.validate.EditGroup; | ||||||
|  | import org.dromara.common.log.enums.BusinessType; | ||||||
|  | import org.dromara.common.excel.utils.ExcelUtil; | ||||||
|  | import org.dromara.mechanical.domain.vo.BusMechanicalrewritingVo; | ||||||
|  | import org.dromara.mechanical.domain.bo.BusMechanicalrewritingBo; | ||||||
|  | import org.dromara.mechanical.service.IBusMechanicalrewritingService; | ||||||
|  | import org.dromara.common.mybatis.core.page.TableDataInfo; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 机械台账 | ||||||
|  |  * | ||||||
|  |  * @author Lion Li | ||||||
|  |  * @date 2025-09-12 | ||||||
|  |  */ | ||||||
|  | @Validated | ||||||
|  | @RequiredArgsConstructor | ||||||
|  | @RestController | ||||||
|  | @RequestMapping("/mechanical/mechanicalrewriting") | ||||||
|  | public class BusMechanicalrewritingController extends BaseController { | ||||||
|  |  | ||||||
|  |     private final IBusMechanicalrewritingService busMechanicalrewritingService; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 查询机械台账列表 | ||||||
|  |      */ | ||||||
|  |     @SaCheckPermission("mechanical:mechanicalrewriting:list") | ||||||
|  |     @GetMapping("/list") | ||||||
|  |     public TableDataInfo<BusMechanicalrewritingVo> list(BusMechanicalrewritingBo bo, PageQuery pageQuery) { | ||||||
|  |         return busMechanicalrewritingService.queryPageList(bo, pageQuery); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 导出机械台账列表 | ||||||
|  |      */ | ||||||
|  |     @SaCheckPermission("mechanical:mechanicalrewriting:export") | ||||||
|  |     @Log(title = "机械台账", businessType = BusinessType.EXPORT) | ||||||
|  |     @PostMapping("/export") | ||||||
|  |     public void export(BusMechanicalrewritingBo bo, HttpServletResponse response) { | ||||||
|  |         List<BusMechanicalrewritingVo> list = busMechanicalrewritingService.queryList(bo); | ||||||
|  |         ExcelUtil.exportExcel(list, "机械台账", BusMechanicalrewritingVo.class, response); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 获取机械台账详细信息 | ||||||
|  |      * | ||||||
|  |      * @param id 主键 | ||||||
|  |      */ | ||||||
|  |     @SaCheckPermission("mechanical:mechanicalrewriting:query") | ||||||
|  |     @GetMapping("/{id}") | ||||||
|  |     public R<BusMechanicalrewritingVo> getInfo(@NotNull(message = "主键不能为空") | ||||||
|  |                                      @PathVariable Long id) { | ||||||
|  |         return R.ok(busMechanicalrewritingService.queryById(id)); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 新增机械台账 | ||||||
|  |      */ | ||||||
|  |     @SaCheckPermission("mechanical:mechanicalrewriting:add") | ||||||
|  |     @Log(title = "机械台账", businessType = BusinessType.INSERT) | ||||||
|  |     @RepeatSubmit() | ||||||
|  |     @PostMapping() | ||||||
|  |     public R<Void> add(@Validated(AddGroup.class) @RequestBody BusMechanicalrewritingBo bo) { | ||||||
|  |         return toAjax(busMechanicalrewritingService.insertByBo(bo)); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 修改机械台账 | ||||||
|  |      */ | ||||||
|  |     @SaCheckPermission("mechanical:mechanicalrewriting:edit") | ||||||
|  |     @Log(title = "机械台账", businessType = BusinessType.UPDATE) | ||||||
|  |     @RepeatSubmit() | ||||||
|  |     @PutMapping() | ||||||
|  |     public R<Void> edit(@Validated(EditGroup.class) @RequestBody BusMechanicalrewritingBo bo) { | ||||||
|  |         return toAjax(busMechanicalrewritingService.updateByBo(bo)); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 删除机械台账 | ||||||
|  |      * | ||||||
|  |      * @param ids 主键串 | ||||||
|  |      */ | ||||||
|  |     @SaCheckPermission("mechanical:mechanicalrewriting:remove") | ||||||
|  |     @Log(title = "机械台账", businessType = BusinessType.DELETE) | ||||||
|  |     @DeleteMapping("/{ids}") | ||||||
|  |     public R<Void> remove(@NotEmpty(message = "主键不能为空") | ||||||
|  |                           @PathVariable Long[] ids) { | ||||||
|  |         return toAjax(busMechanicalrewritingService.deleteWithValidByIds(List.of(ids), true)); | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -0,0 +1,114 @@ | |||||||
|  | package org.dromara.mechanical.controller; | ||||||
|  |  | ||||||
|  | import java.util.List; | ||||||
|  |  | ||||||
|  | import lombok.RequiredArgsConstructor; | ||||||
|  | import jakarta.servlet.http.HttpServletResponse; | ||||||
|  | import jakarta.validation.constraints.*; | ||||||
|  | import cn.dev33.satoken.annotation.SaCheckPermission; | ||||||
|  | import org.springframework.web.bind.annotation.*; | ||||||
|  | import org.springframework.validation.annotation.Validated; | ||||||
|  | import org.dromara.common.idempotent.annotation.RepeatSubmit; | ||||||
|  | import org.dromara.common.log.annotation.Log; | ||||||
|  | import org.dromara.common.web.core.BaseController; | ||||||
|  | import org.dromara.common.mybatis.core.page.PageQuery; | ||||||
|  | import org.dromara.common.core.domain.R; | ||||||
|  | import org.dromara.common.core.validate.AddGroup; | ||||||
|  | import org.dromara.common.core.validate.EditGroup; | ||||||
|  | import org.dromara.common.log.enums.BusinessType; | ||||||
|  | import org.dromara.common.excel.utils.ExcelUtil; | ||||||
|  | import org.dromara.mechanical.domain.vo.BusMechanicaltypeVo; | ||||||
|  | import org.dromara.mechanical.domain.bo.BusMechanicaltypeBo; | ||||||
|  | import org.dromara.mechanical.service.IBusMechanicaltypeService; | ||||||
|  | import org.dromara.common.mybatis.core.page.TableDataInfo; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 设备类型 | ||||||
|  |  * | ||||||
|  |  * @author Lion Li | ||||||
|  |  * @date 2025-09-12 | ||||||
|  |  */ | ||||||
|  | @Validated | ||||||
|  | @RequiredArgsConstructor | ||||||
|  | @RestController | ||||||
|  | @RequestMapping("/mechanical/mechanicaltype") | ||||||
|  | public class BusMechanicaltypeController extends BaseController { | ||||||
|  |  | ||||||
|  |     private final IBusMechanicaltypeService busMechanicaltypeService; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 查询设备类型列表 | ||||||
|  |      */ | ||||||
|  |     @SaCheckPermission("mechanical:mechanicaltype:list") | ||||||
|  |     @GetMapping("/list") | ||||||
|  |     public TableDataInfo<BusMechanicaltypeVo> list(BusMechanicaltypeBo bo, PageQuery pageQuery) { | ||||||
|  |         return busMechanicaltypeService.queryPageList(bo, pageQuery); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 查询设备类型列表 | ||||||
|  |      */ | ||||||
|  | //    @SaCheckPermission("mechanical:mechanicaltype:getTree") | ||||||
|  |     @GetMapping("/getTree") | ||||||
|  |     public R<List<BusMechanicaltypeVo>> getTree(BusMechanicaltypeBo bo) { | ||||||
|  |         return R.ok(busMechanicaltypeService.getTree(bo)); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 导出设备类型列表 | ||||||
|  |      */ | ||||||
|  |     @SaCheckPermission("mechanical:mechanicaltype:export") | ||||||
|  |     @Log(title = "设备类型", businessType = BusinessType.EXPORT) | ||||||
|  |     @PostMapping("/export") | ||||||
|  |     public void export(BusMechanicaltypeBo bo, HttpServletResponse response) { | ||||||
|  |         List<BusMechanicaltypeVo> list = busMechanicaltypeService.queryList(bo); | ||||||
|  |         ExcelUtil.exportExcel(list, "设备类型", BusMechanicaltypeVo.class, response); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 获取设备类型详细信息 | ||||||
|  |      * | ||||||
|  |      * @param id 主键 | ||||||
|  |      */ | ||||||
|  |     @SaCheckPermission("mechanical:mechanicaltype:query") | ||||||
|  |     @GetMapping("/{id}") | ||||||
|  |     public R<BusMechanicaltypeVo> getInfo(@NotNull(message = "主键不能为空") | ||||||
|  |                                      @PathVariable Long id) { | ||||||
|  |         return R.ok(busMechanicaltypeService.queryById(id)); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 新增设备类型 | ||||||
|  |      */ | ||||||
|  |     @SaCheckPermission("mechanical:mechanicaltype:add") | ||||||
|  |     @Log(title = "设备类型", businessType = BusinessType.INSERT) | ||||||
|  |     @RepeatSubmit() | ||||||
|  |     @PostMapping() | ||||||
|  |     public R<Void> add(@Validated(AddGroup.class) @RequestBody BusMechanicaltypeBo bo) { | ||||||
|  |         return toAjax(busMechanicaltypeService.insertByBo(bo)); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 修改设备类型 | ||||||
|  |      */ | ||||||
|  |     @SaCheckPermission("mechanical:mechanicaltype:edit") | ||||||
|  |     @Log(title = "设备类型", businessType = BusinessType.UPDATE) | ||||||
|  |     @RepeatSubmit() | ||||||
|  |     @PutMapping() | ||||||
|  |     public R<Void> edit(@Validated(EditGroup.class) @RequestBody BusMechanicaltypeBo bo) { | ||||||
|  |         return toAjax(busMechanicaltypeService.updateByBo(bo)); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 删除设备类型 | ||||||
|  |      * | ||||||
|  |      * @param ids 主键串 | ||||||
|  |      */ | ||||||
|  |     @SaCheckPermission("mechanical:mechanicaltype:remove") | ||||||
|  |     @Log(title = "设备类型", businessType = BusinessType.DELETE) | ||||||
|  |     @DeleteMapping("/{ids}") | ||||||
|  |     public R<Void> remove(@NotEmpty(message = "主键不能为空") | ||||||
|  |                           @PathVariable Long[] ids) { | ||||||
|  |         return toAjax(busMechanicaltypeService.deleteWithValidByIds(List.of(ids), true)); | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -0,0 +1,140 @@ | |||||||
|  | package org.dromara.mechanical.domain; | ||||||
|  |  | ||||||
|  | import org.dromara.common.mybatis.core.domain.BaseEntity; | ||||||
|  | import com.baomidou.mybatisplus.annotation.*; | ||||||
|  | import lombok.Data; | ||||||
|  | import lombok.EqualsAndHashCode; | ||||||
|  |  | ||||||
|  | import java.time.LocalDate; | ||||||
|  | import java.util.Date; | ||||||
|  | import com.fasterxml.jackson.annotation.JsonFormat; | ||||||
|  |  | ||||||
|  | import java.io.Serial; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 机械台账对象 bus_mechanicalrewriting | ||||||
|  |  * | ||||||
|  |  * @author Lion Li | ||||||
|  |  * @date 2025-09-12 | ||||||
|  |  */ | ||||||
|  | @Data | ||||||
|  | @EqualsAndHashCode(callSuper = true) | ||||||
|  | @TableName("bus_mechanicalrewriting") | ||||||
|  | public class BusMechanicalrewriting extends BaseEntity { | ||||||
|  |  | ||||||
|  |     @Serial | ||||||
|  |     private static final long serialVersionUID = 1L; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 自增ID | ||||||
|  |      */ | ||||||
|  |     @TableId(value = "id") | ||||||
|  |     private Long id; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 项目ID | ||||||
|  |      */ | ||||||
|  |     private Long projectId; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 班组名称 | ||||||
|  |      */ | ||||||
|  |     private String teamName; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 设备名称 | ||||||
|  |      */ | ||||||
|  |     private String devicename; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 设备类型 | ||||||
|  |      */ | ||||||
|  |     private String deviceType; | ||||||
|  |  | ||||||
|  |     private String devicePath; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 设备编号 | ||||||
|  |      */ | ||||||
|  |     private String deviceNumber; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 入场日期 | ||||||
|  |      */ | ||||||
|  |     private LocalDate entryTime; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 规格型号 | ||||||
|  |      */ | ||||||
|  |     private String specification; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 生产能力 | ||||||
|  |      */ | ||||||
|  |     private String production; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 车牌号码 | ||||||
|  |      */ | ||||||
|  |     private String plateNumber; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 设备管理员 | ||||||
|  |      */ | ||||||
|  |     private String deviceKeeper; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 车辆行驶证 | ||||||
|  |      */ | ||||||
|  |     private String drivingLicence; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 新旧程度 | ||||||
|  |      */ | ||||||
|  |     private String degree; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 车辆容量 | ||||||
|  |      */ | ||||||
|  |     private String vehicleCapacity; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 车辆净重 | ||||||
|  |      */ | ||||||
|  |     private String suttle; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 铭牌 | ||||||
|  |      */ | ||||||
|  |     private String nameplate; | ||||||
|  |  | ||||||
|  |     private Long nameplateId; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 合格证书 | ||||||
|  |      */ | ||||||
|  |     private String qualification; | ||||||
|  |  | ||||||
|  |     private Long qualificationId; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 设备照片 | ||||||
|  |      */ | ||||||
|  |     private String equipmentPhoto; | ||||||
|  |  | ||||||
|  |     private Long equipmentPhotoId; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 检验报告 | ||||||
|  |      */ | ||||||
|  |     private String verificationReport; | ||||||
|  |  | ||||||
|  |     private Long verificationReportId; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 备注 | ||||||
|  |      */ | ||||||
|  |     private String remark; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | } | ||||||
| @ -0,0 +1,66 @@ | |||||||
|  | package org.dromara.mechanical.domain; | ||||||
|  |  | ||||||
|  | import org.dromara.common.mybatis.core.domain.BaseEntity; | ||||||
|  | import com.baomidou.mybatisplus.annotation.*; | ||||||
|  | import lombok.Data; | ||||||
|  | import lombok.EqualsAndHashCode; | ||||||
|  |  | ||||||
|  | import java.io.Serial; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 设备类型对象 bus_mechanicaltype | ||||||
|  |  * | ||||||
|  |  * @author Lion Li | ||||||
|  |  * @date 2025-09-12 | ||||||
|  |  */ | ||||||
|  | @Data | ||||||
|  | @EqualsAndHashCode(callSuper = true) | ||||||
|  | @TableName("bus_mechanicaltype") | ||||||
|  | public class BusMechanicaltype extends BaseEntity { | ||||||
|  |  | ||||||
|  |     @Serial | ||||||
|  |     private static final long serialVersionUID = 1L; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 自增ID | ||||||
|  |      */ | ||||||
|  |     @TableId(value = "id") | ||||||
|  |     private Long id; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 编码 | ||||||
|  |      */ | ||||||
|  |     private String code; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 父编码 | ||||||
|  |      */ | ||||||
|  |     private String pcode; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 大 | ||||||
|  |      */ | ||||||
|  |     private String largeclass; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 中 | ||||||
|  |      */ | ||||||
|  |     private String middleclass; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 子类 | ||||||
|  |      */ | ||||||
|  |     private String subclass; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 备注 | ||||||
|  |      */ | ||||||
|  |     private String remark; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 全名 | ||||||
|  |      */ | ||||||
|  |     private String fullName; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | } | ||||||
| @ -0,0 +1,149 @@ | |||||||
|  | package org.dromara.mechanical.domain.bo; | ||||||
|  |  | ||||||
|  | import org.dromara.mechanical.domain.BusMechanicalrewriting; | ||||||
|  | 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.time.LocalDate; | ||||||
|  | import java.util.Date; | ||||||
|  | import com.fasterxml.jackson.annotation.JsonFormat; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 机械台账业务对象 bus_mechanicalrewriting | ||||||
|  |  * | ||||||
|  |  * @author Lion Li | ||||||
|  |  * @date 2025-09-12 | ||||||
|  |  */ | ||||||
|  | @Data | ||||||
|  | @EqualsAndHashCode(callSuper = true) | ||||||
|  | @AutoMapper(target = BusMechanicalrewriting.class, reverseConvertGenerate = false) | ||||||
|  | public class BusMechanicalrewritingBo extends BaseEntity { | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 自增ID | ||||||
|  |      */ | ||||||
|  |     @NotNull(message = "自增ID不能为空", groups = { EditGroup.class }) | ||||||
|  |     private Long id; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 项目ID | ||||||
|  |      */ | ||||||
|  |     @NotNull(message = "项目ID不能为空", groups = {AddGroup.class, EditGroup.class }) | ||||||
|  |     private Long projectId; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 班组名称 | ||||||
|  |      */ | ||||||
|  |     @NotBlank(message = "班组名称不能为空",groups = {AddGroup.class, EditGroup.class}) | ||||||
|  |     private String teamName; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 设备名称 | ||||||
|  |      */ | ||||||
|  |     @NotBlank(message = "设备名称不能为空",groups = {AddGroup.class, EditGroup.class}) | ||||||
|  |     private String devicename; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 设备类型 | ||||||
|  |      */ | ||||||
|  |     @NotBlank(message = "设备类型不能为空",groups = {AddGroup.class, EditGroup.class}) | ||||||
|  |     private String deviceType; | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     private String devicePath; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 设备编号 | ||||||
|  |      */ | ||||||
|  |     @NotBlank(message = "设备编号不能为空",groups = {AddGroup.class, EditGroup.class}) | ||||||
|  |     private String deviceNumber; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 入场日期 | ||||||
|  |      */ | ||||||
|  |     @NotNull(message = "入场日期不能为空",groups = {AddGroup.class, EditGroup.class}) | ||||||
|  |     private LocalDate entryTime; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 规格型号 | ||||||
|  |      */ | ||||||
|  |     @NotBlank(message = "规格型号不能为空",groups = {AddGroup.class, EditGroup.class}) | ||||||
|  |     private String specification; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 生产能力 | ||||||
|  |      */ | ||||||
|  |     @NotBlank(message = "生产能力不能为空",groups = {AddGroup.class, EditGroup.class}) | ||||||
|  |     private String production; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 车牌号码 | ||||||
|  |      */ | ||||||
|  |     private String plateNumber; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 设备管理员 | ||||||
|  |      */ | ||||||
|  |     private String deviceKeeper; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 车辆行驶证 | ||||||
|  |      */ | ||||||
|  |     private String drivingLicence; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 新旧程度 | ||||||
|  |      */ | ||||||
|  |     @NotBlank(message = "设备编号不能为空",groups = {AddGroup.class, EditGroup.class}) | ||||||
|  |     private String degree; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 车辆容量 | ||||||
|  |      */ | ||||||
|  |     private String vehicleCapacity; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 车辆净重 | ||||||
|  |      */ | ||||||
|  |     private String suttle; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 铭牌 | ||||||
|  |      */ | ||||||
|  |     private String nameplate; | ||||||
|  |  | ||||||
|  |     private Long nameplateId; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 合格证书 | ||||||
|  |      */ | ||||||
|  |     private String qualification; | ||||||
|  |  | ||||||
|  |     private Long qualificationId; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 设备照片 | ||||||
|  |      */ | ||||||
|  |     private String equipmentPhoto; | ||||||
|  |  | ||||||
|  |     private Long equipmentPhotoId; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 检验报告 | ||||||
|  |      */ | ||||||
|  |     private String verificationReport; | ||||||
|  |  | ||||||
|  |     private Long verificationReportId; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 备注 | ||||||
|  |      */ | ||||||
|  |     private String remark; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | } | ||||||
| @ -0,0 +1,67 @@ | |||||||
|  | package org.dromara.mechanical.domain.bo; | ||||||
|  |  | ||||||
|  | import org.dromara.mechanical.domain.BusMechanicaltype; | ||||||
|  | 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.*; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 设备类型业务对象 bus_mechanicaltype | ||||||
|  |  * | ||||||
|  |  * @author Lion Li | ||||||
|  |  * @date 2025-09-12 | ||||||
|  |  */ | ||||||
|  | @Data | ||||||
|  | @EqualsAndHashCode(callSuper = true) | ||||||
|  | @AutoMapper(target = BusMechanicaltype.class, reverseConvertGenerate = false) | ||||||
|  | public class BusMechanicaltypeBo extends BaseEntity { | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 自增ID | ||||||
|  |      */ | ||||||
|  |     @NotNull(message = "自增ID不能为空", groups = { EditGroup.class }) | ||||||
|  |     private Long id; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 编码 | ||||||
|  |      */ | ||||||
|  |     @NotBlank(message = "编码不能为空", groups = { AddGroup.class, EditGroup.class }) | ||||||
|  |     private String code; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 父编码 | ||||||
|  |      */ | ||||||
|  |     @NotBlank(message = "父编码不能为空", groups = { AddGroup.class, EditGroup.class }) | ||||||
|  |     private String pcode; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 大 | ||||||
|  |      */ | ||||||
|  |     private String largeclass; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 中 | ||||||
|  |      */ | ||||||
|  |     private String middleclass; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 子类 | ||||||
|  |      */ | ||||||
|  |     private String subclass; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 备注 | ||||||
|  |      */ | ||||||
|  |     private String remark; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 全名 | ||||||
|  |      */ | ||||||
|  |     private String fullName; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | } | ||||||
| @ -0,0 +1,165 @@ | |||||||
|  | package org.dromara.mechanical.domain.vo; | ||||||
|  |  | ||||||
|  | import java.time.LocalDate; | ||||||
|  | import java.util.Date; | ||||||
|  | import com.fasterxml.jackson.annotation.JsonFormat; | ||||||
|  | import org.dromara.mechanical.domain.BusMechanicalrewriting; | ||||||
|  | import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; | ||||||
|  | import com.alibaba.excel.annotation.ExcelProperty; | ||||||
|  | import org.dromara.common.excel.annotation.ExcelDictFormat; | ||||||
|  | import org.dromara.common.excel.convert.ExcelDictConvert; | ||||||
|  | import io.github.linpeilie.annotations.AutoMapper; | ||||||
|  | import lombok.Data; | ||||||
|  |  | ||||||
|  | import java.io.Serial; | ||||||
|  | import java.io.Serializable; | ||||||
|  | import java.util.Date; | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 机械台账视图对象 bus_mechanicalrewriting | ||||||
|  |  * | ||||||
|  |  * @author Lion Li | ||||||
|  |  * @date 2025-09-12 | ||||||
|  |  */ | ||||||
|  | @Data | ||||||
|  | @ExcelIgnoreUnannotated | ||||||
|  | @AutoMapper(target = BusMechanicalrewriting.class) | ||||||
|  | public class BusMechanicalrewritingVo implements Serializable { | ||||||
|  |  | ||||||
|  |     @Serial | ||||||
|  |     private static final long serialVersionUID = 1L; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 自增ID | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "自增ID") | ||||||
|  |     private Long id; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 项目ID | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "项目ID") | ||||||
|  |     private Long projectId; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 班组名称 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "班组名称") | ||||||
|  |     private String teamName; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 设备名称 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "设备名称") | ||||||
|  |     private String devicename; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 设备类型 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "设备类型") | ||||||
|  |     private String deviceType; | ||||||
|  |  | ||||||
|  |     private String devicePath; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 设备编号 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "设备编号") | ||||||
|  |     private String deviceNumber; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 入场日期 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "入场日期") | ||||||
|  |     private LocalDate entryTime; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 规格型号 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "规格型号") | ||||||
|  |     private String specification; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 生产能力 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "生产能力") | ||||||
|  |     private String production; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 车牌号码 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "车牌号码") | ||||||
|  |     private String plateNumber; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 设备管理员 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "设备管理员") | ||||||
|  |     private String deviceKeeper; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 车辆行驶证 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "车辆行驶证") | ||||||
|  |     private String drivingLicence; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 新旧程度 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "新旧程度") | ||||||
|  |     private String degree; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 车辆容量 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "车辆容量") | ||||||
|  |     private String vehicleCapacity; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 车辆净重 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "车辆净重") | ||||||
|  |     private String suttle; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 铭牌 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "铭牌") | ||||||
|  |     private String nameplate; | ||||||
|  |  | ||||||
|  |     private Long nameplateId; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 合格证书 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "合格证书") | ||||||
|  |     private String qualification; | ||||||
|  |  | ||||||
|  |     private Long qualificationId; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 设备照片 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "设备照片") | ||||||
|  |     private String equipmentPhoto; | ||||||
|  |  | ||||||
|  |     private Long equipmentPhotoId; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 检验报告 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "检验报告") | ||||||
|  |     private String verificationReport; | ||||||
|  |  | ||||||
|  |     private Long verificationReportId; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 备注 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "备注") | ||||||
|  |     private String remark; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | } | ||||||
| @ -0,0 +1,84 @@ | |||||||
|  | package org.dromara.mechanical.domain.vo; | ||||||
|  |  | ||||||
|  | import org.dromara.mechanical.domain.BusMechanicaltype; | ||||||
|  | import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; | ||||||
|  | import com.alibaba.excel.annotation.ExcelProperty; | ||||||
|  | import io.github.linpeilie.annotations.AutoMapper; | ||||||
|  | import lombok.Data; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | import java.io.Serial; | ||||||
|  | import java.io.Serializable; | ||||||
|  | import java.util.ArrayList; | ||||||
|  | import java.util.List; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 设备类型视图对象 bus_mechanicaltype | ||||||
|  |  * | ||||||
|  |  * @author Lion Li | ||||||
|  |  * @date 2025-09-12 | ||||||
|  |  */ | ||||||
|  | @Data | ||||||
|  | @ExcelIgnoreUnannotated | ||||||
|  | @AutoMapper(target = BusMechanicaltype.class) | ||||||
|  | public class BusMechanicaltypeVo implements Serializable { | ||||||
|  |  | ||||||
|  |     @Serial | ||||||
|  |     private static final long serialVersionUID = 1L; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 自增ID | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "自增ID") | ||||||
|  |     private Long id; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 编码 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "编码") | ||||||
|  |     private String code; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 父编码 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "父编码") | ||||||
|  |     private String pcode; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 大 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "大") | ||||||
|  |     private String largeclass; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 中 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "中") | ||||||
|  |     private String middleclass; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 子类 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "子类") | ||||||
|  |     private String subclass; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 备注 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "备注") | ||||||
|  |     private String remark; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 全名 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "全名") | ||||||
|  |     private String fullName; | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 子节点 | ||||||
|  |      */ | ||||||
|  |     private List<BusMechanicaltypeVo> children = new ArrayList<>(); | ||||||
|  |  | ||||||
|  | } | ||||||
| @ -0,0 +1,15 @@ | |||||||
|  | package org.dromara.mechanical.mapper; | ||||||
|  |  | ||||||
|  | import org.dromara.mechanical.domain.BusMechanicalrewriting; | ||||||
|  | import org.dromara.mechanical.domain.vo.BusMechanicalrewritingVo; | ||||||
|  | import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 机械台账Mapper接口 | ||||||
|  |  * | ||||||
|  |  * @author Lion Li | ||||||
|  |  * @date 2025-09-12 | ||||||
|  |  */ | ||||||
|  | public interface BusMechanicalrewritingMapper extends BaseMapperPlus<BusMechanicalrewriting, BusMechanicalrewritingVo> { | ||||||
|  |  | ||||||
|  | } | ||||||
| @ -0,0 +1,15 @@ | |||||||
|  | package org.dromara.mechanical.mapper; | ||||||
|  |  | ||||||
|  | import org.dromara.mechanical.domain.BusMechanicaltype; | ||||||
|  | import org.dromara.mechanical.domain.vo.BusMechanicaltypeVo; | ||||||
|  | import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 设备类型Mapper接口 | ||||||
|  |  * | ||||||
|  |  * @author Lion Li | ||||||
|  |  * @date 2025-09-12 | ||||||
|  |  */ | ||||||
|  | public interface BusMechanicaltypeMapper extends BaseMapperPlus<BusMechanicaltype, BusMechanicaltypeVo> { | ||||||
|  |  | ||||||
|  | } | ||||||
| @ -0,0 +1,70 @@ | |||||||
|  | package org.dromara.mechanical.service; | ||||||
|  |  | ||||||
|  | import org.dromara.mechanical.domain.vo.BusMechanicalrewritingVo; | ||||||
|  | import org.dromara.mechanical.domain.bo.BusMechanicalrewritingBo; | ||||||
|  | import org.dromara.mechanical.domain.BusMechanicalrewriting; | ||||||
|  | import org.dromara.common.mybatis.core.page.TableDataInfo; | ||||||
|  | import org.dromara.common.mybatis.core.page.PageQuery; | ||||||
|  |  | ||||||
|  | import com.baomidou.mybatisplus.extension.service.IService; | ||||||
|  | import java.util.Collection; | ||||||
|  | import java.util.List; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 机械台账Service接口 | ||||||
|  |  * | ||||||
|  |  * @author Lion Li | ||||||
|  |  * @date 2025-09-12 | ||||||
|  |  */ | ||||||
|  | public interface IBusMechanicalrewritingService extends IService<BusMechanicalrewriting>{ | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 查询机械台账 | ||||||
|  |      * | ||||||
|  |      * @param id 主键 | ||||||
|  |      * @return 机械台账 | ||||||
|  |      */ | ||||||
|  |     BusMechanicalrewritingVo queryById(Long id); | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 分页查询机械台账列表 | ||||||
|  |      * | ||||||
|  |      * @param bo        查询条件 | ||||||
|  |      * @param pageQuery 分页参数 | ||||||
|  |      * @return 机械台账分页列表 | ||||||
|  |      */ | ||||||
|  |     TableDataInfo<BusMechanicalrewritingVo> queryPageList(BusMechanicalrewritingBo bo, PageQuery pageQuery); | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 查询符合条件的机械台账列表 | ||||||
|  |      * | ||||||
|  |      * @param bo 查询条件 | ||||||
|  |      * @return 机械台账列表 | ||||||
|  |      */ | ||||||
|  |     List<BusMechanicalrewritingVo> queryList(BusMechanicalrewritingBo bo); | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 新增机械台账 | ||||||
|  |      * | ||||||
|  |      * @param bo 机械台账 | ||||||
|  |      * @return 是否新增成功 | ||||||
|  |      */ | ||||||
|  |     Boolean insertByBo(BusMechanicalrewritingBo bo); | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 修改机械台账 | ||||||
|  |      * | ||||||
|  |      * @param bo 机械台账 | ||||||
|  |      * @return 是否修改成功 | ||||||
|  |      */ | ||||||
|  |     Boolean updateByBo(BusMechanicalrewritingBo bo); | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 校验并批量删除机械台账信息 | ||||||
|  |      * | ||||||
|  |      * @param ids     待删除的主键集合 | ||||||
|  |      * @param isValid 是否进行有效性校验 | ||||||
|  |      * @return 是否删除成功 | ||||||
|  |      */ | ||||||
|  |     Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid); | ||||||
|  | } | ||||||
| @ -0,0 +1,72 @@ | |||||||
|  | package org.dromara.mechanical.service; | ||||||
|  |  | ||||||
|  | import org.dromara.mechanical.domain.vo.BusMechanicaltypeVo; | ||||||
|  | import org.dromara.mechanical.domain.bo.BusMechanicaltypeBo; | ||||||
|  | import org.dromara.mechanical.domain.BusMechanicaltype; | ||||||
|  | import org.dromara.common.mybatis.core.page.TableDataInfo; | ||||||
|  | import org.dromara.common.mybatis.core.page.PageQuery; | ||||||
|  |  | ||||||
|  | import com.baomidou.mybatisplus.extension.service.IService; | ||||||
|  | import java.util.Collection; | ||||||
|  | import java.util.List; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 设备类型Service接口 | ||||||
|  |  * | ||||||
|  |  * @author Lion Li | ||||||
|  |  * @date 2025-09-12 | ||||||
|  |  */ | ||||||
|  | public interface IBusMechanicaltypeService extends IService<BusMechanicaltype>{ | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 查询设备类型 | ||||||
|  |      * | ||||||
|  |      * @param id 主键 | ||||||
|  |      * @return 设备类型 | ||||||
|  |      */ | ||||||
|  |     BusMechanicaltypeVo queryById(Long id); | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 分页查询设备类型列表 | ||||||
|  |      * | ||||||
|  |      * @param bo        查询条件 | ||||||
|  |      * @param pageQuery 分页参数 | ||||||
|  |      * @return 设备类型分页列表 | ||||||
|  |      */ | ||||||
|  |     TableDataInfo<BusMechanicaltypeVo> queryPageList(BusMechanicaltypeBo bo, PageQuery pageQuery); | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 查询符合条件的设备类型列表 | ||||||
|  |      * | ||||||
|  |      * @param bo 查询条件 | ||||||
|  |      * @return 设备类型列表 | ||||||
|  |      */ | ||||||
|  |     List<BusMechanicaltypeVo> queryList(BusMechanicaltypeBo bo); | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 新增设备类型 | ||||||
|  |      * | ||||||
|  |      * @param bo 设备类型 | ||||||
|  |      * @return 是否新增成功 | ||||||
|  |      */ | ||||||
|  |     Boolean insertByBo(BusMechanicaltypeBo bo); | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 修改设备类型 | ||||||
|  |      * | ||||||
|  |      * @param bo 设备类型 | ||||||
|  |      * @return 是否修改成功 | ||||||
|  |      */ | ||||||
|  |     Boolean updateByBo(BusMechanicaltypeBo bo); | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 校验并批量删除设备类型信息 | ||||||
|  |      * | ||||||
|  |      * @param ids     待删除的主键集合 | ||||||
|  |      * @param isValid 是否进行有效性校验 | ||||||
|  |      * @return 是否删除成功 | ||||||
|  |      */ | ||||||
|  |     Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid); | ||||||
|  |  | ||||||
|  |     List<BusMechanicaltypeVo> getTree(BusMechanicaltypeBo bo); | ||||||
|  | } | ||||||
| @ -0,0 +1,187 @@ | |||||||
|  | package org.dromara.mechanical.service.impl; | ||||||
|  |  | ||||||
|  | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | ||||||
|  | import org.dromara.common.core.exception.ServiceException; | ||||||
|  | import org.dromara.common.core.utils.MapstructUtils; | ||||||
|  | import org.dromara.common.core.utils.StringUtils; | ||||||
|  | import org.dromara.common.mybatis.core.page.TableDataInfo; | ||||||
|  | import org.dromara.common.mybatis.core.page.PageQuery; | ||||||
|  | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | ||||||
|  | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | ||||||
|  | import com.baomidou.mybatisplus.core.toolkit.Wrappers; | ||||||
|  | import lombok.RequiredArgsConstructor; | ||||||
|  | import org.dromara.system.domain.vo.SysOssVo; | ||||||
|  | import org.dromara.system.service.ISysOssService; | ||||||
|  | import org.springframework.stereotype.Service; | ||||||
|  | import org.dromara.mechanical.domain.bo.BusMechanicalrewritingBo; | ||||||
|  | import org.dromara.mechanical.domain.vo.BusMechanicalrewritingVo; | ||||||
|  | import org.dromara.mechanical.domain.BusMechanicalrewriting; | ||||||
|  | import org.dromara.mechanical.mapper.BusMechanicalrewritingMapper; | ||||||
|  | import org.dromara.mechanical.service.IBusMechanicalrewritingService; | ||||||
|  |  | ||||||
|  | import java.util.List; | ||||||
|  | import java.util.Map; | ||||||
|  | import java.util.Collection; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 机械台账Service业务层处理 | ||||||
|  |  * | ||||||
|  |  * @author Lion Li | ||||||
|  |  * @date 2025-09-12 | ||||||
|  |  */ | ||||||
|  | @RequiredArgsConstructor | ||||||
|  | @Service | ||||||
|  | public class BusMechanicalrewritingServiceImpl extends ServiceImpl<BusMechanicalrewritingMapper, BusMechanicalrewriting> implements IBusMechanicalrewritingService { | ||||||
|  |  | ||||||
|  |     private final BusMechanicalrewritingMapper baseMapper; | ||||||
|  |     private final ISysOssService sysOssService; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 查询机械台账 | ||||||
|  |      * | ||||||
|  |      * @param id 主键 | ||||||
|  |      * @return 机械台账 | ||||||
|  |      */ | ||||||
|  |     @Override | ||||||
|  |     public BusMechanicalrewritingVo queryById(Long id){ | ||||||
|  |         return baseMapper.selectVoById(id); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 分页查询机械台账列表 | ||||||
|  |      * | ||||||
|  |      * @param bo        查询条件 | ||||||
|  |      * @param pageQuery 分页参数 | ||||||
|  |      * @return 机械台账分页列表 | ||||||
|  |      */ | ||||||
|  |     @Override | ||||||
|  |     public TableDataInfo<BusMechanicalrewritingVo> queryPageList(BusMechanicalrewritingBo bo, PageQuery pageQuery) { | ||||||
|  |         LambdaQueryWrapper<BusMechanicalrewriting> lqw = buildQueryWrapper(bo); | ||||||
|  |         Page<BusMechanicalrewritingVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); | ||||||
|  |         return TableDataInfo.build(result); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 查询符合条件的机械台账列表 | ||||||
|  |      * | ||||||
|  |      * @param bo 查询条件 | ||||||
|  |      * @return 机械台账列表 | ||||||
|  |      */ | ||||||
|  |     @Override | ||||||
|  |     public List<BusMechanicalrewritingVo> queryList(BusMechanicalrewritingBo bo) { | ||||||
|  |         LambdaQueryWrapper<BusMechanicalrewriting> lqw = buildQueryWrapper(bo); | ||||||
|  |         return baseMapper.selectVoList(lqw); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     private LambdaQueryWrapper<BusMechanicalrewriting> buildQueryWrapper(BusMechanicalrewritingBo bo) { | ||||||
|  |         Map<String, Object> params = bo.getParams(); | ||||||
|  |         LambdaQueryWrapper<BusMechanicalrewriting> lqw = Wrappers.lambdaQuery(); | ||||||
|  |         lqw.orderByDesc(BusMechanicalrewriting::getId); | ||||||
|  |         lqw.eq(bo.getProjectId() != null, BusMechanicalrewriting::getProjectId, bo.getProjectId()); | ||||||
|  |         lqw.like(StringUtils.isNotBlank(bo.getTeamName()), BusMechanicalrewriting::getTeamName, bo.getTeamName()); | ||||||
|  |         lqw.like(StringUtils.isNotBlank(bo.getDevicename()), BusMechanicalrewriting::getDevicename, bo.getDevicename()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getDeviceType()), BusMechanicalrewriting::getDeviceType, bo.getDeviceType()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getDeviceNumber()), BusMechanicalrewriting::getDeviceNumber, bo.getDeviceNumber()); | ||||||
|  |         lqw.eq(bo.getEntryTime() != null, BusMechanicalrewriting::getEntryTime, bo.getEntryTime()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getSpecification()), BusMechanicalrewriting::getSpecification, bo.getSpecification()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getProduction()), BusMechanicalrewriting::getProduction, bo.getProduction()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getPlateNumber()), BusMechanicalrewriting::getPlateNumber, bo.getPlateNumber()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getDeviceKeeper()), BusMechanicalrewriting::getDeviceKeeper, bo.getDeviceKeeper()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getDrivingLicence()), BusMechanicalrewriting::getDrivingLicence, bo.getDrivingLicence()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getDegree()), BusMechanicalrewriting::getDegree, bo.getDegree()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getVehicleCapacity()), BusMechanicalrewriting::getVehicleCapacity, bo.getVehicleCapacity()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getSuttle()), BusMechanicalrewriting::getSuttle, bo.getSuttle()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getNameplate()), BusMechanicalrewriting::getNameplate, bo.getNameplate()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getQualification()), BusMechanicalrewriting::getQualification, bo.getQualification()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getEquipmentPhoto()), BusMechanicalrewriting::getEquipmentPhoto, bo.getEquipmentPhoto()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getVerificationReport()), BusMechanicalrewriting::getVerificationReport, bo.getVerificationReport()); | ||||||
|  |         return lqw; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 新增机械台账 | ||||||
|  |      * | ||||||
|  |      * @param bo 机械台账 | ||||||
|  |      * @return 是否新增成功 | ||||||
|  |      */ | ||||||
|  |     @Override | ||||||
|  |     public Boolean insertByBo(BusMechanicalrewritingBo bo) { | ||||||
|  |         if (bo.getNameplateId() == null) { | ||||||
|  |             throw new ServiceException("请上传铭牌"); | ||||||
|  |         } | ||||||
|  |         if (bo.getQualificationId() == null) { | ||||||
|  |             throw new ServiceException("请上传合格证书"); | ||||||
|  |         } | ||||||
|  |         if (bo.getEquipmentPhotoId() == null) { | ||||||
|  |             throw new ServiceException("请上传设备照片"); | ||||||
|  |         } | ||||||
|  |         if (bo.getVerificationReportId() != null) { | ||||||
|  |             SysOssVo ossVo3 = sysOssService.getById(bo.getVerificationReportId()); | ||||||
|  |             bo.setVerificationReport(ossVo3.getUrl()); | ||||||
|  |         } | ||||||
|  |         SysOssVo ossVo = sysOssService.getById(bo.getNameplateId()); | ||||||
|  |         bo.setNameplate(ossVo.getUrl()); | ||||||
|  |         SysOssVo ossVo1 = sysOssService.getById(bo.getQualificationId()); | ||||||
|  |         bo.setQualification(ossVo1.getUrl()); | ||||||
|  |         SysOssVo ossVo2 = sysOssService.getById(bo.getEquipmentPhotoId()); | ||||||
|  |         bo.setEquipmentPhoto(ossVo2.getUrl()); | ||||||
|  |         BusMechanicalrewriting add = MapstructUtils.convert(bo, BusMechanicalrewriting.class); | ||||||
|  |         validEntityBeforeSave(add); | ||||||
|  |         boolean flag = baseMapper.insert(add) > 0; | ||||||
|  |         if (flag) { | ||||||
|  |             bo.setId(add.getId()); | ||||||
|  |         } | ||||||
|  |         return flag; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 修改机械台账 | ||||||
|  |      * | ||||||
|  |      * @param bo 机械台账 | ||||||
|  |      * @return 是否修改成功 | ||||||
|  |      */ | ||||||
|  |     @Override | ||||||
|  |     public Boolean updateByBo(BusMechanicalrewritingBo bo) { | ||||||
|  |         if (bo.getNameplateId() != null) { | ||||||
|  |             SysOssVo ossVo = sysOssService.getById(bo.getNameplateId()); | ||||||
|  |             bo.setNameplate(ossVo.getUrl()); | ||||||
|  |         } | ||||||
|  |         if (bo.getQualificationId() != null) { | ||||||
|  |             SysOssVo ossVo1 = sysOssService.getById(bo.getQualificationId()); | ||||||
|  |             bo.setQualification(ossVo1.getUrl()); | ||||||
|  |         } | ||||||
|  |         if (bo.getEquipmentPhotoId() != null) { | ||||||
|  |             SysOssVo ossVo2 = sysOssService.getById(bo.getEquipmentPhotoId()); | ||||||
|  |             bo.setEquipmentPhoto(ossVo2.getUrl()); | ||||||
|  |         } | ||||||
|  |         if (bo.getVerificationReportId() != null) { | ||||||
|  |             SysOssVo ossVo3 = sysOssService.getById(bo.getVerificationReportId()); | ||||||
|  |             bo.setVerificationReport(ossVo3.getUrl()); | ||||||
|  |         } | ||||||
|  |         BusMechanicalrewriting update = MapstructUtils.convert(bo, BusMechanicalrewriting.class); | ||||||
|  |         validEntityBeforeSave(update); | ||||||
|  |         return baseMapper.updateById(update) > 0; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 保存前的数据校验 | ||||||
|  |      */ | ||||||
|  |     private void validEntityBeforeSave(BusMechanicalrewriting entity){ | ||||||
|  |         //TODO 做一些数据校验,如唯一约束 | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 校验并批量删除机械台账信息 | ||||||
|  |      * | ||||||
|  |      * @param ids     待删除的主键集合 | ||||||
|  |      * @param isValid 是否进行有效性校验 | ||||||
|  |      * @return 是否删除成功 | ||||||
|  |      */ | ||||||
|  |     @Override | ||||||
|  |     public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { | ||||||
|  |         if(isValid){ | ||||||
|  |             //TODO 做一些业务上的校验,判断是否需要校验 | ||||||
|  |         } | ||||||
|  |         return baseMapper.deleteByIds(ids) > 0; | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -0,0 +1,205 @@ | |||||||
|  | package org.dromara.mechanical.service.impl; | ||||||
|  |  | ||||||
|  | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | ||||||
|  | import org.dromara.common.core.exception.ServiceException; | ||||||
|  | import org.dromara.common.core.utils.MapstructUtils; | ||||||
|  | import org.dromara.common.core.utils.StringUtils; | ||||||
|  | import org.dromara.common.mybatis.core.page.TableDataInfo; | ||||||
|  | import org.dromara.common.mybatis.core.page.PageQuery; | ||||||
|  | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | ||||||
|  | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | ||||||
|  | import com.baomidou.mybatisplus.core.toolkit.Wrappers; | ||||||
|  | import lombok.RequiredArgsConstructor; | ||||||
|  | import org.dromara.tender.domain.vo.BusBillofquantitiesLimitListVo; | ||||||
|  | import org.springframework.stereotype.Service; | ||||||
|  | import org.dromara.mechanical.domain.bo.BusMechanicaltypeBo; | ||||||
|  | import org.dromara.mechanical.domain.vo.BusMechanicaltypeVo; | ||||||
|  | import org.dromara.mechanical.domain.BusMechanicaltype; | ||||||
|  | import org.dromara.mechanical.mapper.BusMechanicaltypeMapper; | ||||||
|  | import org.dromara.mechanical.service.IBusMechanicaltypeService; | ||||||
|  |  | ||||||
|  | import java.util.Collections; | ||||||
|  | import java.util.List; | ||||||
|  | import java.util.Map; | ||||||
|  | import java.util.Collection; | ||||||
|  | import java.util.stream.Collectors; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 设备类型Service业务层处理 | ||||||
|  |  * | ||||||
|  |  * @author Lion Li | ||||||
|  |  * @date 2025-09-12 | ||||||
|  |  */ | ||||||
|  | @RequiredArgsConstructor | ||||||
|  | @Service | ||||||
|  | public class BusMechanicaltypeServiceImpl extends ServiceImpl<BusMechanicaltypeMapper, BusMechanicaltype> implements IBusMechanicaltypeService { | ||||||
|  |  | ||||||
|  |     private final BusMechanicaltypeMapper baseMapper; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 查询设备类型 | ||||||
|  |      * | ||||||
|  |      * @param id 主键 | ||||||
|  |      * @return 设备类型 | ||||||
|  |      */ | ||||||
|  |     @Override | ||||||
|  |     public BusMechanicaltypeVo queryById(Long id){ | ||||||
|  |         return baseMapper.selectVoById(id); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 分页查询设备类型列表 | ||||||
|  |      * | ||||||
|  |      * @param bo        查询条件 | ||||||
|  |      * @param pageQuery 分页参数 | ||||||
|  |      * @return 设备类型分页列表 | ||||||
|  |      */ | ||||||
|  |     @Override | ||||||
|  |     public TableDataInfo<BusMechanicaltypeVo> queryPageList(BusMechanicaltypeBo bo, PageQuery pageQuery) { | ||||||
|  |         LambdaQueryWrapper<BusMechanicaltype> lqw = buildQueryWrapper(bo); | ||||||
|  |         Page<BusMechanicaltypeVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); | ||||||
|  |         return TableDataInfo.build(result); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 查询符合条件的设备类型列表 | ||||||
|  |      * | ||||||
|  |      * @param bo 查询条件 | ||||||
|  |      * @return 设备类型列表 | ||||||
|  |      */ | ||||||
|  |     @Override | ||||||
|  |     public List<BusMechanicaltypeVo> queryList(BusMechanicaltypeBo bo) { | ||||||
|  |         LambdaQueryWrapper<BusMechanicaltype> lqw = buildQueryWrapper(bo); | ||||||
|  |         return baseMapper.selectVoList(lqw); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     private LambdaQueryWrapper<BusMechanicaltype> buildQueryWrapper(BusMechanicaltypeBo bo) { | ||||||
|  |         Map<String, Object> params = bo.getParams(); | ||||||
|  |         LambdaQueryWrapper<BusMechanicaltype> lqw = Wrappers.lambdaQuery(); | ||||||
|  |         lqw.orderByAsc(BusMechanicaltype::getCreateTime); | ||||||
|  |         lqw.orderByAsc(BusMechanicaltype::getId); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getCode()), BusMechanicaltype::getCode, bo.getCode()); | ||||||
|  | //        lqw.eq(StringUtils.isNotBlank(bo.getPcode()), BusMechanicaltype::getPcode, bo.getPcode()); | ||||||
|  | //        lqw.eq(StringUtils.isNotBlank(bo.getLargeclass()), BusMechanicaltype::getLargeclass, bo.getLargeclass()); | ||||||
|  | //        lqw.eq(StringUtils.isNotBlank(bo.getMiddleclass()), BusMechanicaltype::getMiddleclass, bo.getMiddleclass()); | ||||||
|  | //        lqw.eq(StringUtils.isNotBlank(bo.getSubclass()), BusMechanicaltype::getSubclass, bo.getSubclass()); | ||||||
|  | //        lqw.like(StringUtils.isNotBlank(bo.getFullName()), BusMechanicaltype::getFullName, bo.getFullName()); | ||||||
|  |         return lqw; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 新增设备类型 | ||||||
|  |      * | ||||||
|  |      * @param bo 设备类型 | ||||||
|  |      * @return 是否新增成功 | ||||||
|  |      */ | ||||||
|  |     @Override | ||||||
|  |     public Boolean insertByBo(BusMechanicaltypeBo bo) { | ||||||
|  |         BusMechanicaltype add = MapstructUtils.convert(bo, BusMechanicaltype.class); | ||||||
|  |         validEntityBeforeSave(add); | ||||||
|  |         boolean flag = baseMapper.insert(add) > 0; | ||||||
|  |         if (flag) { | ||||||
|  |             bo.setId(add.getId()); | ||||||
|  |         } | ||||||
|  |         return flag; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 修改设备类型 | ||||||
|  |      * | ||||||
|  |      * @param bo 设备类型 | ||||||
|  |      * @return 是否修改成功 | ||||||
|  |      */ | ||||||
|  |     @Override | ||||||
|  |     public Boolean updateByBo(BusMechanicaltypeBo bo) { | ||||||
|  |         BusMechanicaltype update = MapstructUtils.convert(bo, BusMechanicaltype.class); | ||||||
|  |         validEntityBeforeSave(update); | ||||||
|  |         return baseMapper.updateById(update) > 0; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 保存前的数据校验 | ||||||
|  |      */ | ||||||
|  |     private void validEntityBeforeSave(BusMechanicaltype entity){ | ||||||
|  |         //TODO 做一些数据校验,如唯一约束 | ||||||
|  |         Long count = baseMapper.selectCount(new LambdaQueryWrapper<BusMechanicaltype>().eq(BusMechanicaltype::getCode, entity.getCode())); | ||||||
|  |         Long count1 = baseMapper.selectCount(new LambdaQueryWrapper<BusMechanicaltype>().eq(BusMechanicaltype::getCode, entity.getPcode())); | ||||||
|  |         if (entity.getId() == null){ | ||||||
|  |             if(count > 0){ | ||||||
|  |                 throw new ServiceException("编码已重复,请重新输入"); | ||||||
|  |             } | ||||||
|  |             if(count1 == 0 && !"0".equals(entity.getPcode())){ | ||||||
|  |                 throw new ServiceException("父编码不存在,请重新输入"); | ||||||
|  |             } | ||||||
|  |         }else { | ||||||
|  |             BusMechanicaltype busMechanicaltype = baseMapper.selectById(entity.getId()); | ||||||
|  |             if(!busMechanicaltype.getCode().equals(entity.getCode()) && count > 0){ | ||||||
|  |                 throw new ServiceException("编码已重复,请重新输入"); | ||||||
|  |             } | ||||||
|  |             if(!busMechanicaltype.getPcode().equals(entity.getPcode()) &&count1 == 0 && "0".equals(entity.getPcode())){ | ||||||
|  |                 throw new ServiceException("父编码不存在,请重新输入"); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         if ((entity.getLargeclass() != null && !entity.getLargeclass().isEmpty())||(entity.getMiddleclass() != null && !entity.getMiddleclass().isEmpty())){ | ||||||
|  |             if (entity.getFullName() != null && !entity.getFullName().isEmpty()) { | ||||||
|  |                 throw new ServiceException("当不为子类时,全名为空!"); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         if (entity.getSubclass() != null && !entity.getSubclass().isEmpty()) { | ||||||
|  |             if (entity.getFullName() == null || entity.getFullName().isEmpty()) { | ||||||
|  |                 throw new ServiceException("当为子类时,全名不能为空!"); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 校验并批量删除设备类型信息 | ||||||
|  |      * | ||||||
|  |      * @param ids     待删除的主键集合 | ||||||
|  |      * @param isValid 是否进行有效性校验 | ||||||
|  |      * @return 是否删除成功 | ||||||
|  |      */ | ||||||
|  |     @Override | ||||||
|  |     public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { | ||||||
|  |         if(isValid){ | ||||||
|  |             //TODO 做一些业务上的校验,判断是否需要校验 | ||||||
|  |         } | ||||||
|  |         return baseMapper.deleteByIds(ids) > 0; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     @Override | ||||||
|  |     public List<BusMechanicaltypeVo> getTree(BusMechanicaltypeBo bo) { | ||||||
|  |  | ||||||
|  |         List<BusMechanicaltypeVo> voList = queryList(bo); | ||||||
|  |         //构建父子映射 | ||||||
|  |         Map<String, List<BusMechanicaltypeVo>> parentMap = voList.stream() | ||||||
|  |             .collect(Collectors.groupingBy(BusMechanicaltypeVo::getPcode)); | ||||||
|  |         //递归组装树形结构 | ||||||
|  |         return buildTree("0", parentMap); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 递归构建树形结构 | ||||||
|  |      * | ||||||
|  |      * @param parentId  父节点ID(顶级节点为0) | ||||||
|  |      * @param parentMap 父子映射表(key=pid,value=子节点列表) | ||||||
|  |      * @return 组装好的子树列表 | ||||||
|  |      */ | ||||||
|  |     private List<BusMechanicaltypeVo> buildTree(String parentId, Map<String, List<BusMechanicaltypeVo>> parentMap) { | ||||||
|  |         // 获取当前父节点的所有直接子节点 | ||||||
|  |         List<BusMechanicaltypeVo> children = parentMap.getOrDefault(parentId, Collections.emptyList()); | ||||||
|  |         if (children.isEmpty()) { | ||||||
|  |             return Collections.emptyList(); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         // 为每个子节点递归设置其下一级子节点 | ||||||
|  |         for (BusMechanicaltypeVo child : children) { | ||||||
|  |             // 递归查询当前子节点的子节点,设置为它的子树 | ||||||
|  |             List<BusMechanicaltypeVo> subChildren = buildTree(child.getCode(), parentMap); | ||||||
|  |             // 注意:需要在Vo中添加子节点列表字段,用于存储子树 | ||||||
|  |             child.setChildren(subChildren); | ||||||
|  |         } | ||||||
|  |         return children; | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -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.mechanical.mapper.BusMechanicalrewritingMapper"> | ||||||
|  |  | ||||||
|  | </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.mechanical.mapper.BusMechanicaltypeMapper"> | ||||||
|  |  | ||||||
|  | </mapper> | ||||||
		Reference in New Issue
	
	Block a user