diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/DmsBaseDeviceBomController.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/DmsBaseDeviceBomController.java new file mode 100644 index 0000000..e058ce9 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/DmsBaseDeviceBomController.java @@ -0,0 +1,117 @@ +package org.dromara.dms.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.dms.domain.vo.DmsBaseDeviceBomVo; +import org.dromara.dms.domain.bo.DmsBaseDeviceBomBo; +import org.dromara.dms.service.IDmsBaseDeviceBomService; + +/** + * 设备BOM信息 + * 前端访问路由地址为:/dms/dmsBaseDeviceBom + * + * @author zch + * @date 2025-03-20 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/dmsBaseDeviceBom") +public class DmsBaseDeviceBomController extends BaseController { + + private final IDmsBaseDeviceBomService dmsBaseDeviceBomService; + + /** + * 查询设备BOM信息列表 + */ + @SaCheckPermission("dms:dmsBaseDeviceBom:list") + @GetMapping("/list") + public R> list(DmsBaseDeviceBomBo bo) { + List list = dmsBaseDeviceBomService.queryList(bo); + return R.ok(list); + } + + /** + * 导出设备BOM信息列表 + */ + @SaCheckPermission("dms:dmsBaseDeviceBom:export") + @Log(title = "设备BOM信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(DmsBaseDeviceBomBo bo, HttpServletResponse response) { + List list = dmsBaseDeviceBomService.queryList(bo); + ExcelUtil.exportExcel(list, "设备BOM信息", DmsBaseDeviceBomVo.class, response); + } + + /** + * 获取设备BOM信息详细信息 + * + * @param deviceBomId 主键 + */ + @SaCheckPermission("dms:dmsBaseDeviceBom:query") + @GetMapping("/{deviceBomId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long deviceBomId) { + return R.ok(dmsBaseDeviceBomService.queryById(deviceBomId)); + } + + /** + * 新增设备BOM信息 + */ + @SaCheckPermission("dms:dmsBaseDeviceBom:add") + @Log(title = "设备BOM信息", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody DmsBaseDeviceBomBo bo) { + return toAjax(dmsBaseDeviceBomService.insertByBo(bo)); + } + + /** + * 修改设备BOM信息 + */ + @SaCheckPermission("dms:dmsBaseDeviceBom:edit") + @Log(title = "设备BOM信息", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody DmsBaseDeviceBomBo bo) { + return toAjax(dmsBaseDeviceBomService.updateByBo(bo)); + } + + /** + * 删除设备BOM信息 + * + * @param deviceBomIds 主键串 + */ + @SaCheckPermission("dms:dmsBaseDeviceBom:remove") + @Log(title = "设备BOM信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{deviceBomIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] deviceBomIds) { + return toAjax(dmsBaseDeviceBomService.deleteWithValidByIds(List.of(deviceBomIds), true)); + } + + + /** + * 下拉框查询设备BOM信息列表 + */ + + @GetMapping("/getDmsBaseDeviceBomList") + public R> getDmsBaseDeviceBomList(DmsBaseDeviceBomBo bo) { + List list = dmsBaseDeviceBomService.queryList(bo); + return R.ok(list); + } +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/DmsBaseDeviceDepreciationController.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/DmsBaseDeviceDepreciationController.java new file mode 100644 index 0000000..04c679e --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/DmsBaseDeviceDepreciationController.java @@ -0,0 +1,117 @@ +package org.dromara.dms.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.dms.domain.vo.DmsBaseDeviceDepreciationVo; +import org.dromara.dms.domain.bo.DmsBaseDeviceDepreciationBo; +import org.dromara.dms.service.IDmsBaseDeviceDepreciationService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 设备折旧信息 + * 前端访问路由地址为:/dms/dmsBaseDeviceDepreciation + * + * @author zch + * @date 2025-03-20 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/dmsBaseDeviceDepreciation") +public class DmsBaseDeviceDepreciationController extends BaseController { + + private final IDmsBaseDeviceDepreciationService dmsBaseDeviceDepreciationService; + + /** + * 查询设备折旧信息列表 + */ + @SaCheckPermission("dms:dmsBaseDeviceDepreciation:list") + @GetMapping("/list") + public TableDataInfo list(DmsBaseDeviceDepreciationBo bo, PageQuery pageQuery) { + return dmsBaseDeviceDepreciationService.queryPageList(bo, pageQuery); + } + + /** + * 导出设备折旧信息列表 + */ + @SaCheckPermission("dms:dmsBaseDeviceDepreciation:export") + @Log(title = "设备折旧信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(DmsBaseDeviceDepreciationBo bo, HttpServletResponse response) { + List list = dmsBaseDeviceDepreciationService.queryList(bo); + ExcelUtil.exportExcel(list, "设备折旧信息", DmsBaseDeviceDepreciationVo.class, response); + } + + /** + * 获取设备折旧信息详细信息 + * + * @param deviceDepreciationId 主键 + */ + @SaCheckPermission("dms:dmsBaseDeviceDepreciation:query") + @GetMapping("/{deviceDepreciationId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long deviceDepreciationId) { + return R.ok(dmsBaseDeviceDepreciationService.queryById(deviceDepreciationId)); + } + + /** + * 新增设备折旧信息 + */ + @SaCheckPermission("dms:dmsBaseDeviceDepreciation:add") + @Log(title = "设备折旧信息", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody DmsBaseDeviceDepreciationBo bo) { + return toAjax(dmsBaseDeviceDepreciationService.insertByBo(bo)); + } + + /** + * 修改设备折旧信息 + */ + @SaCheckPermission("dms:dmsBaseDeviceDepreciation:edit") + @Log(title = "设备折旧信息", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody DmsBaseDeviceDepreciationBo bo) { + return toAjax(dmsBaseDeviceDepreciationService.updateByBo(bo)); + } + + /** + * 删除设备折旧信息 + * + * @param deviceDepreciationIds 主键串 + */ + @SaCheckPermission("dms:dmsBaseDeviceDepreciation:remove") + @Log(title = "设备折旧信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{deviceDepreciationIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] deviceDepreciationIds) { + return toAjax(dmsBaseDeviceDepreciationService.deleteWithValidByIds(List.of(deviceDepreciationIds), true)); + } + + + /** + * 下拉框查询设备折旧信息列表 + */ + + @GetMapping("/getDmsBaseDeviceDepreciationList") + public R> getDmsBaseDeviceDepreciationList(DmsBaseDeviceDepreciationBo bo) { + List list = dmsBaseDeviceDepreciationService.queryList(bo); + return R.ok(list); + } +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/DmsBaseDeviceInstallController.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/DmsBaseDeviceInstallController.java new file mode 100644 index 0000000..a91da70 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/DmsBaseDeviceInstallController.java @@ -0,0 +1,118 @@ +package org.dromara.dms.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.transaction.annotation.Transactional; +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.dms.domain.vo.DmsBaseDeviceInstallVo; +import org.dromara.dms.domain.bo.DmsBaseDeviceInstallBo; +import org.dromara.dms.service.IDmsBaseDeviceInstallService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 设备安装信息 + * 前端访问路由地址为:/dms/dmsBaseDeviceInstall + * + * @author zch + * @date 2025-03-20 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/dmsBaseDeviceInstall") +public class DmsBaseDeviceInstallController extends BaseController { + + private final IDmsBaseDeviceInstallService dmsBaseDeviceInstallService; + + /** + * 查询设备安装信息列表 + */ + @SaCheckPermission("dms:dmsBaseDeviceInstall:list") + @GetMapping("/list") + public TableDataInfo list(DmsBaseDeviceInstallBo bo, PageQuery pageQuery) { + return dmsBaseDeviceInstallService.queryPageList(bo, pageQuery); + } + + /** + * 导出设备安装信息列表 + */ + @SaCheckPermission("dms:dmsBaseDeviceInstall:export") + @Log(title = "设备安装信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(DmsBaseDeviceInstallBo bo, HttpServletResponse response) { + List list = dmsBaseDeviceInstallService.queryList(bo); + ExcelUtil.exportExcel(list, "设备安装信息", DmsBaseDeviceInstallVo.class, response); + } + + /** + * 获取设备安装信息详细信息 + * + * @param deviceInstallId 主键 + */ + @SaCheckPermission("dms:dmsBaseDeviceInstall:query") + @GetMapping("/{deviceInstallId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long deviceInstallId) { + return R.ok(dmsBaseDeviceInstallService.queryById(deviceInstallId)); + } + + /** + * 新增设备安装信息 + */ + @SaCheckPermission("dms:dmsBaseDeviceInstall:add") + @Log(title = "设备安装信息", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody DmsBaseDeviceInstallBo bo) { + return toAjax(dmsBaseDeviceInstallService.insertByBo(bo)); + } + + /** + * 修改设备安装信息 + */ + @SaCheckPermission("dms:dmsBaseDeviceInstall:edit") + @Log(title = "设备安装信息", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody DmsBaseDeviceInstallBo bo) { + return toAjax(dmsBaseDeviceInstallService.updateByBo(bo)); + } + + /** + * 删除设备安装信息 + * + * @param deviceInstallIds 主键串 + */ + @SaCheckPermission("dms:dmsBaseDeviceInstall:remove") + @Log(title = "设备安装信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{deviceInstallIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] deviceInstallIds) { + return toAjax(dmsBaseDeviceInstallService.deleteWithValidByIds(List.of(deviceInstallIds), true)); + } + + + /** + * 下拉框查询设备安装信息列表 + */ + + @GetMapping("/getDmsBaseDeviceInstallList") + public R> getDmsBaseDeviceInstallList(DmsBaseDeviceInstallBo bo) { + List list = dmsBaseDeviceInstallService.queryList(bo); + return R.ok(list); + } +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/DmsBaseDevicePurchaseController.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/DmsBaseDevicePurchaseController.java new file mode 100644 index 0000000..05ddd53 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/DmsBaseDevicePurchaseController.java @@ -0,0 +1,117 @@ +package org.dromara.dms.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.dms.domain.vo.DmsBaseDevicePurchaseVo; +import org.dromara.dms.domain.bo.DmsBaseDevicePurchaseBo; +import org.dromara.dms.service.IDmsBaseDevicePurchaseService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 设备采购信息 + * 前端访问路由地址为:/dms/dmsBaseDevicePurchase + * + * @author zch + * @date 2025-03-20 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/dmsBaseDevicePurchase") +public class DmsBaseDevicePurchaseController extends BaseController { + + private final IDmsBaseDevicePurchaseService dmsBaseDevicePurchaseService; + + /** + * 查询设备采购信息列表 + */ + @SaCheckPermission("dms:dmsBaseDevicePurchase:list") + @GetMapping("/list") + public TableDataInfo list(DmsBaseDevicePurchaseBo bo, PageQuery pageQuery) { + return dmsBaseDevicePurchaseService.queryPageList(bo, pageQuery); + } + + /** + * 导出设备采购信息列表 + */ + @SaCheckPermission("dms:dmsBaseDevicePurchase:export") + @Log(title = "设备采购信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(DmsBaseDevicePurchaseBo bo, HttpServletResponse response) { + List list = dmsBaseDevicePurchaseService.queryList(bo); + ExcelUtil.exportExcel(list, "设备采购信息", DmsBaseDevicePurchaseVo.class, response); + } + + /** + * 获取设备采购信息详细信息 + * + * @param devicePurchaseId 主键 + */ + @SaCheckPermission("dms:dmsBaseDevicePurchase:query") + @GetMapping("/{devicePurchaseId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long devicePurchaseId) { + return R.ok(dmsBaseDevicePurchaseService.queryById(devicePurchaseId)); + } + + /** + * 新增设备采购信息 + */ + @SaCheckPermission("dms:dmsBaseDevicePurchase:add") + @Log(title = "设备采购信息", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody DmsBaseDevicePurchaseBo bo) { + return toAjax(dmsBaseDevicePurchaseService.insertByBo(bo)); + } + + /** + * 修改设备采购信息 + */ + @SaCheckPermission("dms:dmsBaseDevicePurchase:edit") + @Log(title = "设备采购信息", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody DmsBaseDevicePurchaseBo bo) { + return toAjax(dmsBaseDevicePurchaseService.updateByBo(bo)); + } + + /** + * 删除设备采购信息 + * + * @param devicePurchaseIds 主键串 + */ + @SaCheckPermission("dms:dmsBaseDevicePurchase:remove") + @Log(title = "设备采购信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{devicePurchaseIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] devicePurchaseIds) { + return toAjax(dmsBaseDevicePurchaseService.deleteWithValidByIds(List.of(devicePurchaseIds), true)); + } + + + /** + * 下拉框查询设备采购信息列表 + */ + + @GetMapping("/getDmsBaseDevicePurchaseList") + public R> getDmsBaseDevicePurchaseList(DmsBaseDevicePurchaseBo bo) { + List list = dmsBaseDevicePurchaseService.queryList(bo); + return R.ok(list); + } +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/DmsBaseDeviceSupplierController.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/DmsBaseDeviceSupplierController.java new file mode 100644 index 0000000..04a9994 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/DmsBaseDeviceSupplierController.java @@ -0,0 +1,117 @@ +package org.dromara.dms.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.dms.domain.vo.DmsBaseDeviceSupplierVo; +import org.dromara.dms.domain.bo.DmsBaseDeviceSupplierBo; +import org.dromara.dms.service.IDmsBaseDeviceSupplierService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 设备供应商信息 + * 前端访问路由地址为:/dms/dmsBaseDeviceSupplier + * + * @author zch + * @date 2025-03-20 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/dmsBaseDeviceSupplier") +public class DmsBaseDeviceSupplierController extends BaseController { + + private final IDmsBaseDeviceSupplierService dmsBaseDeviceSupplierService; + + /** + * 查询设备供应商信息列表 + */ + @SaCheckPermission("dms:dmsBaseDeviceSupplier:list") + @GetMapping("/list") + public TableDataInfo list(DmsBaseDeviceSupplierBo bo, PageQuery pageQuery) { + return dmsBaseDeviceSupplierService.queryPageList(bo, pageQuery); + } + + /** + * 导出设备供应商信息列表 + */ + @SaCheckPermission("dms:dmsBaseDeviceSupplier:export") + @Log(title = "设备供应商信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(DmsBaseDeviceSupplierBo bo, HttpServletResponse response) { + List list = dmsBaseDeviceSupplierService.queryList(bo); + ExcelUtil.exportExcel(list, "设备供应商信息", DmsBaseDeviceSupplierVo.class, response); + } + + /** + * 获取设备供应商信息详细信息 + * + * @param supplierId 主键 + */ + @SaCheckPermission("dms:dmsBaseDeviceSupplier:query") + @GetMapping("/{supplierId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long supplierId) { + return R.ok(dmsBaseDeviceSupplierService.queryById(supplierId)); + } + + /** + * 新增设备供应商信息 + */ + @SaCheckPermission("dms:dmsBaseDeviceSupplier:add") + @Log(title = "设备供应商信息", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody DmsBaseDeviceSupplierBo bo) { + return toAjax(dmsBaseDeviceSupplierService.insertByBo(bo)); + } + + /** + * 修改设备供应商信息 + */ + @SaCheckPermission("dms:dmsBaseDeviceSupplier:edit") + @Log(title = "设备供应商信息", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody DmsBaseDeviceSupplierBo bo) { + return toAjax(dmsBaseDeviceSupplierService.updateByBo(bo)); + } + + /** + * 删除设备供应商信息 + * + * @param supplierIds 主键串 + */ + @SaCheckPermission("dms:dmsBaseDeviceSupplier:remove") + @Log(title = "设备供应商信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{supplierIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] supplierIds) { + return toAjax(dmsBaseDeviceSupplierService.deleteWithValidByIds(List.of(supplierIds), true)); + } + + + /** + * 下拉框查询设备供应商信息列表 + */ + + @GetMapping("/getDmsBaseDeviceSupplierList") + public R> getDmsBaseDeviceSupplierList(DmsBaseDeviceSupplierBo bo) { + List list = dmsBaseDeviceSupplierService.queryList(bo); + return R.ok(list); + } +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/DmsBaseOutsourcingInfoController.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/DmsBaseOutsourcingInfoController.java new file mode 100644 index 0000000..68a1e2d --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/DmsBaseOutsourcingInfoController.java @@ -0,0 +1,117 @@ +package org.dromara.dms.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.dms.domain.vo.DmsBaseOutsourcingInfoVo; +import org.dromara.dms.domain.bo.DmsBaseOutsourcingInfoBo; +import org.dromara.dms.service.IDmsBaseOutsourcingInfoService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 外协信息 + * 前端访问路由地址为:/dms/dmsBaseOutsourcingInfo + * + * @author zch + * @date 2025-03-20 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/dmsBaseOutsourcingInfo") +public class DmsBaseOutsourcingInfoController extends BaseController { + + private final IDmsBaseOutsourcingInfoService dmsBaseOutsourcingInfoService; + + /** + * 查询外协信息列表 + */ + @SaCheckPermission("dms:dmsBaseOutsourcingInfo:list") + @GetMapping("/list") + public TableDataInfo list(DmsBaseOutsourcingInfoBo bo, PageQuery pageQuery) { + return dmsBaseOutsourcingInfoService.queryPageList(bo, pageQuery); + } + + /** + * 导出外协信息列表 + */ + @SaCheckPermission("dms:dmsBaseOutsourcingInfo:export") + @Log(title = "外协信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(DmsBaseOutsourcingInfoBo bo, HttpServletResponse response) { + List list = dmsBaseOutsourcingInfoService.queryList(bo); + ExcelUtil.exportExcel(list, "外协信息", DmsBaseOutsourcingInfoVo.class, response); + } + + /** + * 获取外协信息详细信息 + * + * @param outsourcingId 主键 + */ + @SaCheckPermission("dms:dmsBaseOutsourcingInfo:query") + @GetMapping("/{outsourcingId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long outsourcingId) { + return R.ok(dmsBaseOutsourcingInfoService.queryById(outsourcingId)); + } + + /** + * 新增外协信息 + */ + @SaCheckPermission("dms:dmsBaseOutsourcingInfo:add") + @Log(title = "外协信息", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody DmsBaseOutsourcingInfoBo bo) { + return toAjax(dmsBaseOutsourcingInfoService.insertByBo(bo)); + } + + /** + * 修改外协信息 + */ + @SaCheckPermission("dms:dmsBaseOutsourcingInfo:edit") + @Log(title = "外协信息", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody DmsBaseOutsourcingInfoBo bo) { + return toAjax(dmsBaseOutsourcingInfoService.updateByBo(bo)); + } + + /** + * 删除外协信息 + * + * @param outsourcingIds 主键串 + */ + @SaCheckPermission("dms:dmsBaseOutsourcingInfo:remove") + @Log(title = "外协信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{outsourcingIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] outsourcingIds) { + return toAjax(dmsBaseOutsourcingInfoService.deleteWithValidByIds(List.of(outsourcingIds), true)); + } + + + /** + * 下拉框查询外协信息列表 + */ + + @GetMapping("/getDmsBaseOutsourcingInfoList") + public R> getDmsBaseOutsourcingInfoList(DmsBaseOutsourcingInfoBo bo) { + List list = dmsBaseOutsourcingInfoService.queryList(bo); + return R.ok(list); + } +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/DmsBaseTransferInfoController.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/DmsBaseTransferInfoController.java new file mode 100644 index 0000000..aff40ff --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/controller/DmsBaseTransferInfoController.java @@ -0,0 +1,118 @@ +package org.dromara.dms.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.transaction.annotation.Transactional; +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.dms.domain.vo.DmsBaseTransferInfoVo; +import org.dromara.dms.domain.bo.DmsBaseTransferInfoBo; +import org.dromara.dms.service.IDmsBaseTransferInfoService; +import org.dromara.common.mybatis.core.page.TableDataInfo; + +/** + * 设备转移信息 + * 前端访问路由地址为:/dms/dmsBaseTransferInfo + * + * @author Yinq + * @date 2025-03-20 + */ +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/dmsBaseTransferInfo") +public class DmsBaseTransferInfoController extends BaseController { + + private final IDmsBaseTransferInfoService dmsBaseTransferInfoService; + + /** + * 查询设备转移信息列表 + */ + @SaCheckPermission("dms:dmsBaseTransferInfo:list") + @GetMapping("/list") + public TableDataInfo list(DmsBaseTransferInfoBo bo, PageQuery pageQuery) { + return dmsBaseTransferInfoService.queryPageList(bo, pageQuery); + } + + /** + * 导出设备转移信息列表 + */ + @SaCheckPermission("dms:dmsBaseTransferInfo:export") + @Log(title = "设备转移信息", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(DmsBaseTransferInfoBo bo, HttpServletResponse response) { + List list = dmsBaseTransferInfoService.queryList(bo); + ExcelUtil.exportExcel(list, "设备转移信息", DmsBaseTransferInfoVo.class, response); + } + + /** + * 获取设备转移信息详细信息 + * + * @param transferInfoId 主键 + */ + @SaCheckPermission("dms:dmsBaseTransferInfo:query") + @GetMapping("/{transferInfoId}") + public R getInfo(@NotNull(message = "主键不能为空") + @PathVariable Long transferInfoId) { + return R.ok(dmsBaseTransferInfoService.queryById(transferInfoId)); + } + + /** + * 新增设备转移信息 + */ + @SaCheckPermission("dms:dmsBaseTransferInfo:add") + @Log(title = "设备转移信息", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping() + public R add(@Validated(AddGroup.class) @RequestBody DmsBaseTransferInfoBo bo) { + return toAjax(dmsBaseTransferInfoService.insertByBo(bo)); + } + + /** + * 修改设备转移信息 + */ + @SaCheckPermission("dms:dmsBaseTransferInfo:edit") + @Log(title = "设备转移信息", businessType = BusinessType.UPDATE) + @RepeatSubmit() + @PutMapping() + public R edit(@Validated(EditGroup.class) @RequestBody DmsBaseTransferInfoBo bo) { + return toAjax(dmsBaseTransferInfoService.updateByBo(bo)); + } + + /** + * 删除设备转移信息 + * + * @param transferInfoIds 主键串 + */ + @SaCheckPermission("dms:dmsBaseTransferInfo:remove") + @Log(title = "设备转移信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{transferInfoIds}") + public R remove(@NotEmpty(message = "主键不能为空") + @PathVariable Long[] transferInfoIds) { + return toAjax(dmsBaseTransferInfoService.deleteWithValidByIds(List.of(transferInfoIds), true)); + } + + + /** + * 下拉框查询设备转移信息列表 + */ + + @GetMapping("/getDmsBaseTransferInfoList") + public R> getDmsBaseTransferInfoList(DmsBaseTransferInfoBo bo) { + List list = dmsBaseTransferInfoService.queryList(bo); + return R.ok(list); + } +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBaseDeviceBom.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBaseDeviceBom.java new file mode 100644 index 0000000..1167784 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBaseDeviceBom.java @@ -0,0 +1,67 @@ +package org.dromara.dms.domain; + +import org.dromara.common.tenant.core.TenantEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 设备BOM信息对象 dms_base_device_bom + * + * @author zch + * @date 2025-03-20 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("dms_base_device_bom") +public class DmsBaseDeviceBom extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键标识 + */ + @TableId(value = "device_bom_id", type = IdType.AUTO) + private Long deviceBomId; + + /** + * 父级标识 + */ + private Long parentId; + + /** + * 设备ID,关联prod_base_machine_info的machine_id + */ + private Long machineId; + + /** + * BOM数量 + */ + private Long bomAmount; + + /** + * 祖级列表 + */ + private String ancestors; + + /** + * 激活标识(1是 0否) + */ + private String activeFlag; + + /** + * 备注 + */ + private String remark; + + + /** + * 机台名称 + */ + @TableField(exist = false) + private String machineName;//join映射字段 + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBaseDeviceDepreciation.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBaseDeviceDepreciation.java new file mode 100644 index 0000000..a3257c7 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBaseDeviceDepreciation.java @@ -0,0 +1,80 @@ +package org.dromara.dms.domain; + +import org.dromara.common.tenant.core.TenantEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.math.BigDecimal; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; + +import java.io.Serial; + +/** + * 设备折旧信息对象 dms_base_device_depreciation + * + * @author zch + * @date 2025-03-20 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("dms_base_device_depreciation") +public class DmsBaseDeviceDepreciation extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键标识 + */ + @TableId(value = "device_depreciation_id", type = IdType.AUTO) + private Long deviceDepreciationId; + + /** + * 设备ID,关联prod_base_machine_info的machine_id + */ + private Long machineId; + + /** + * 维修次数 + */ + private Long repairFrequency; + + /** + * 维修费用 + */ + private BigDecimal repairCosts; + + /** + * 折旧费用 + */ + private BigDecimal depreciationCost; + + /** + * 投入时间 + */ + private Date putIntoTime; + + /** + * 使用年限 + */ + private BigDecimal useLife; + + /** + * 备注 + */ + private String remark; + + /** + * 激活标识(1是 0否) + */ + private String activeFlag; + + /** + * 机台名称 + */ + @TableField(exist = false) + private String machineName;//join + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBaseDeviceInstall.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBaseDeviceInstall.java new file mode 100644 index 0000000..d3d2b2c --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBaseDeviceInstall.java @@ -0,0 +1,65 @@ +package org.dromara.dms.domain; + +import org.dromara.common.tenant.core.TenantEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; + +import java.io.Serial; + +/** + * 设备安装信息对象 dms_base_device_install + * + * @author zch + * @date 2025-03-20 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("dms_base_device_install") +public class DmsBaseDeviceInstall extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @TableId(value = "device_install_id", type = IdType.AUTO) + private Long deviceInstallId; + + /** + * 设备ID,关联prod_base_machine_info的machine_id + */ + private Long machineId; + + /** + * 安装地点 + */ + private String installPosition; + + /** + * 安装时间 + */ + private Date installTime; + + /** + * 安装人员 + */ + private String installPerson; + + /** + * 激活标识(1是 0否) + */ + private String activeFlag; + + + /** + * 机台名称 + */ + @TableField(exist = false) + private String machineName;//join + + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBaseDevicePurchase.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBaseDevicePurchase.java new file mode 100644 index 0000000..d74c58b --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBaseDevicePurchase.java @@ -0,0 +1,69 @@ +package org.dromara.dms.domain; + +import org.dromara.common.tenant.core.TenantEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; + +import java.io.Serial; + +/** + * 设备采购信息对象 dms_base_device_purchase + * + * @author zch + * @date 2025-03-20 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("dms_base_device_purchase") +public class DmsBaseDevicePurchase extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @TableId(value = "device_purchase_id", type = IdType.AUTO) + private Long devicePurchaseId; + + /** + * 计划编号 + */ + private String workOrder; + + /** + * 设备ID,关联prod_base_machine_info的machine_id + */ + private Long machineId; + + /** + * 采购人 + */ + private String purchasePerson; + + /** + * 采购地点 + */ + private String purchasePosition; + + /** + * 采购时间 + */ + private Date purchaseTime; + + /** + * 备注 + */ + private String remark; + + /** + * 机台名称 + */ + @TableField(exist = false) + private String machineName;//JOIN + + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBaseDeviceSupplier.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBaseDeviceSupplier.java new file mode 100644 index 0000000..77e7154 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBaseDeviceSupplier.java @@ -0,0 +1,71 @@ +package org.dromara.dms.domain; + +import org.dromara.common.tenant.core.TenantEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 设备供应商信息对象 dms_base_device_supplier + * + * @author zch + * @date 2025-03-20 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("dms_base_device_supplier") +public class DmsBaseDeviceSupplier extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键标识 + */ + @TableId(value = "supplier_id", type = IdType.AUTO) + private Long supplierId; + + /** + * 供应商编号 + */ + private String supplierCode; + + /** + * 供应商名称 + */ + private String supplierName; + + /** + * 供应商联系人 + */ + private String supplierPerson; + + /** + * 供应商电话 + */ + private String supplierTel; + + /** + * 供应商地址 + */ + private String supplierAddress; + + /** + * 供应商状态 + */ + private Long supplierStatus; + + /** + * 激活标识(1是 0否) + */ + private String activeFlag; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBaseOutsourcingInfo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBaseOutsourcingInfo.java new file mode 100644 index 0000000..58466bd --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBaseOutsourcingInfo.java @@ -0,0 +1,66 @@ +package org.dromara.dms.domain; + +import org.dromara.common.tenant.core.TenantEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.io.Serial; + +/** + * 外协信息对象 dms_base_outsourcing_info + * + * @author zch + * @date 2025-03-20 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("dms_base_outsourcing_info") +public class DmsBaseOutsourcingInfo extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键标识 + */ + @TableId(value = "outsourcing_id", type = IdType.AUTO) + private Long outsourcingId; + + /** + * 外协编号 + */ + private String outsourcingCode; + + /** + * 单位名称 + */ + private String outsourcingName; + + /** + * 外协联系人 + */ + private String outsourcingPerson; + + /** + * 外协电话 + */ + private String outsourcingTel; + + /** + * 外协地址 + */ + private String outsourcingAddress; + + /** + * 激活标识(1是 0否) + */ + private String activeFlag; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBaseTransferInfo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBaseTransferInfo.java new file mode 100644 index 0000000..56545fe --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/DmsBaseTransferInfo.java @@ -0,0 +1,78 @@ +package org.dromara.dms.domain; + +import org.dromara.common.tenant.core.TenantEntity; +import com.baomidou.mybatisplus.annotation.*; +import lombok.Data; +import lombok.EqualsAndHashCode; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; + +import java.io.Serial; + +/** + * 设备转移信息对象 dms_base_transfer_info + * + * @author Yinq + * @date 2025-03-20 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@TableName("dms_base_transfer_info") +public class DmsBaseTransferInfo extends TenantEntity { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @TableId(value = "transfer_info_id", type = IdType.AUTO) + private Long transferInfoId; + + /** + * 设备ID,关联prod_base_machine_info的machine_id + */ + private Long machineId; + + /** + * 设备原位置 + */ + private String devicePosition; + + /** + * 设备转移位置 + */ + private String devicePositionNew; + + /** + * 设备转移人员 + */ + private String devicePositionOperator; + + /** + * 设备转移原因 + */ + private String devicePositionReason; + + /** + * 设备转移时间 + */ + private Date deviceTransferTime; + + /** + * 备注 + */ + private String remark; + + /** + * 激活标识(1是 0否) + */ + private String activeFlag; + + /** + * 机台名称 + */ + @TableField(exist = false) + private String machineName;//JOIN + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsBaseDeviceBomBo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsBaseDeviceBomBo.java new file mode 100644 index 0000000..62347e1 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsBaseDeviceBomBo.java @@ -0,0 +1,59 @@ +package org.dromara.dms.domain.bo; + +import org.dromara.dms.domain.DmsBaseDeviceBom; +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.*; + +/** + * 设备BOM信息业务对象 dms_base_device_bom + * + * @author zch + * @date 2025-03-20 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = DmsBaseDeviceBom.class, reverseConvertGenerate = false) +public class DmsBaseDeviceBomBo extends BaseEntity { + + /** + * 主键标识 + */ + private Long deviceBomId; + + /** + * 父级标识 + */ + private Long parentId; + + /** + * 设备ID,关联prod_base_machine_info的machine_id + */ + private Long machineId; + + /** + * BOM数量 + */ + private Long bomAmount; + + /** + * 祖级列表 + */ + private String ancestors; + + /** + * 激活标识(1是 0否) + */ + private String activeFlag; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsBaseDeviceDepreciationBo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsBaseDeviceDepreciationBo.java new file mode 100644 index 0000000..17b83ae --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsBaseDeviceDepreciationBo.java @@ -0,0 +1,74 @@ +package org.dromara.dms.domain.bo; + +import org.dromara.dms.domain.DmsBaseDeviceDepreciation; +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.math.BigDecimal; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; + +/** + * 设备折旧信息业务对象 dms_base_device_depreciation + * + * @author zch + * @date 2025-03-20 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = DmsBaseDeviceDepreciation.class, reverseConvertGenerate = false) +public class DmsBaseDeviceDepreciationBo extends BaseEntity { + + /** + * 主键标识 + */ + private Long deviceDepreciationId; + + /** + * 设备ID,关联prod_base_machine_info的machine_id + */ + private Long machineId; + + /** + * 维修次数 + */ + private Long repairFrequency; + + /** + * 维修费用 + */ + private BigDecimal repairCosts; + + /** + * 折旧费用 + */ + private BigDecimal depreciationCost; + + /** + * 投入时间 + */ + private Date putIntoTime; + + /** + * 使用年限 + */ + private BigDecimal useLife; + + /** + * 备注 + */ + private String remark; + + /** + * 激活标识(1是 0否) + */ + @NotBlank(message = "激活标识(1是 0否)不能为空", groups = { AddGroup.class, EditGroup.class }) + private String activeFlag; + + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsBaseDeviceInstallBo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsBaseDeviceInstallBo.java new file mode 100644 index 0000000..28bc774 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsBaseDeviceInstallBo.java @@ -0,0 +1,58 @@ +package org.dromara.dms.domain.bo; + +import org.dromara.dms.domain.DmsBaseDeviceInstall; +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; + +/** + * 设备安装信息业务对象 dms_base_device_install + * + * @author zch + * @date 2025-03-20 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = DmsBaseDeviceInstall.class, reverseConvertGenerate = false) +public class DmsBaseDeviceInstallBo extends BaseEntity { + + /** + * 主键ID + */ + private Long deviceInstallId; + + /** + * 设备ID,关联prod_base_machine_info的machine_id + */ + @NotNull(message = "设备ID,关联prod_base_machine_info的machine_id不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long machineId; + + /** + * 安装地点 + */ + private String installPosition; + + /** + * 安装时间 + */ + @NotNull(message = "安装时间不能为空", groups = { AddGroup.class, EditGroup.class }) + private Date installTime; + + /** + * 安装人员 + */ + private String installPerson; + + /** + * 激活标识(1是 0否) + */ + private String activeFlag; + + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsBaseDevicePurchaseBo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsBaseDevicePurchaseBo.java new file mode 100644 index 0000000..f3f1ec1 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsBaseDevicePurchaseBo.java @@ -0,0 +1,62 @@ +package org.dromara.dms.domain.bo; + +import org.dromara.dms.domain.DmsBaseDevicePurchase; +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; + +/** + * 设备采购信息业务对象 dms_base_device_purchase + * + * @author zch + * @date 2025-03-20 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = DmsBaseDevicePurchase.class, reverseConvertGenerate = false) +public class DmsBaseDevicePurchaseBo extends BaseEntity { + + /** + * 主键ID + */ + private Long devicePurchaseId; + + /** + * 计划编号 + */ + private String workOrder; + + /** + * 设备ID,关联prod_base_machine_info的machine_id + */ + private Long machineId; + + /** + * 采购人 + */ + @NotBlank(message = "采购人不能为空", groups = { AddGroup.class, EditGroup.class }) + private String purchasePerson; + + /** + * 采购地点 + */ + private String purchasePosition; + + /** + * 采购时间 + */ + private Date purchaseTime; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsBaseDeviceSupplierBo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsBaseDeviceSupplierBo.java new file mode 100644 index 0000000..dbc30a0 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsBaseDeviceSupplierBo.java @@ -0,0 +1,71 @@ +package org.dromara.dms.domain.bo; + +import org.dromara.dms.domain.DmsBaseDeviceSupplier; +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.*; + +/** + * 设备供应商信息业务对象 dms_base_device_supplier + * + * @author zch + * @date 2025-03-20 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = DmsBaseDeviceSupplier.class, reverseConvertGenerate = false) +public class DmsBaseDeviceSupplierBo extends BaseEntity { + + /** + * 主键标识 + */ + private Long supplierId; + + /** + * 供应商编号 + */ + @NotBlank(message = "供应商编号不能为空", groups = { AddGroup.class, EditGroup.class }) + private String supplierCode; + + /** + * 供应商名称 + */ + @NotBlank(message = "供应商名称不能为空", groups = { AddGroup.class, EditGroup.class }) + private String supplierName; + + /** + * 供应商联系人 + */ + private String supplierPerson; + + /** + * 供应商电话 + */ + private String supplierTel; + + /** + * 供应商地址 + */ + private String supplierAddress; + + /** + * 供应商状态 + */ + private Long supplierStatus; + + /** + * 激活标识(1是 0否) + */ + private String activeFlag; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsBaseOutsourcingInfoBo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsBaseOutsourcingInfoBo.java new file mode 100644 index 0000000..25dff13 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsBaseOutsourcingInfoBo.java @@ -0,0 +1,67 @@ +package org.dromara.dms.domain.bo; + +import org.dromara.dms.domain.DmsBaseOutsourcingInfo; +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.*; + +/** + * 外协信息业务对象 dms_base_outsourcing_info + * + * @author zch + * @date 2025-03-20 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = DmsBaseOutsourcingInfo.class, reverseConvertGenerate = false) +public class DmsBaseOutsourcingInfoBo extends BaseEntity { + + /** + * 主键标识 + */ + private Long outsourcingId; + + /** + * 外协编号 + */ + @NotBlank(message = "外协编号不能为空", groups = { AddGroup.class, EditGroup.class }) + private String outsourcingCode; + + /** + * 单位名称 + */ + @NotBlank(message = "单位名称不能为空", groups = { AddGroup.class, EditGroup.class }) + private String outsourcingName; + + /** + * 外协联系人 + */ + private String outsourcingPerson; + + /** + * 外协电话 + */ + private String outsourcingTel; + + /** + * 外协地址 + */ + private String outsourcingAddress; + + /** + * 激活标识(1是 0否) + */ + @NotBlank(message = "激活标识(1是 0否)不能为空", groups = { AddGroup.class, EditGroup.class }) + private String activeFlag; + + /** + * 备注 + */ + private String remark; + + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsBaseTransferInfoBo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsBaseTransferInfoBo.java new file mode 100644 index 0000000..cdbf5f6 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/bo/DmsBaseTransferInfoBo.java @@ -0,0 +1,74 @@ +package org.dromara.dms.domain.bo; + +import org.dromara.dms.domain.DmsBaseTransferInfo; +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; + +/** + * 设备转移信息业务对象 dms_base_transfer_info + * + * @author Yinq + * @date 2025-03-20 + */ +@Data +@EqualsAndHashCode(callSuper = true) +@AutoMapper(target = DmsBaseTransferInfo.class, reverseConvertGenerate = false) +public class DmsBaseTransferInfoBo extends BaseEntity { + + /** + * 主键ID + */ + private Long transferInfoId; + + /** + * 设备ID,关联prod_base_machine_info的machine_id + */ + @NotNull(message = "设备ID,关联prod_base_machine_info的machine_id不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long machineId; + + /** + * 设备原位置 + */ + private String devicePosition; + + /** + * 设备转移位置 + */ + @NotBlank(message = "设备转移位置不能为空", groups = { AddGroup.class, EditGroup.class }) + private String devicePositionNew; + + /** + * 设备转移人员 + */ + private String devicePositionOperator; + + /** + * 设备转移原因 + */ + private String devicePositionReason; + + /** + * 设备转移时间 + */ + private Date deviceTransferTime; + + /** + * 备注 + */ + private String remark; + + /** + * 激活标识(1是 0否) + */ + @NotBlank(message = "激活标识(1是 0否)不能为空", groups = { AddGroup.class, EditGroup.class }) + private String activeFlag; + + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsBaseDeviceBomVo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsBaseDeviceBomVo.java new file mode 100644 index 0000000..bb8f9e0 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsBaseDeviceBomVo.java @@ -0,0 +1,80 @@ +package org.dromara.dms.domain.vo; + +import org.dromara.dms.domain.DmsBaseDeviceBom; +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; + + + +/** + * 设备BOM信息视图对象 dms_base_device_bom + * + * @author zch + * @date 2025-03-20 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = DmsBaseDeviceBom.class) +public class DmsBaseDeviceBomVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键标识 + */ + @ExcelProperty(value = "主键标识") + private Long deviceBomId; + + /** + * 父级标识 + */ + @ExcelProperty(value = "父级标识") + private Long parentId; + + /** + * 设备ID,关联prod_base_machine_info的machine_id + */ + @ExcelProperty(value = "设备ID,关联prod_base_machine_info的machine_id") + private Long machineId; + + /** + * BOM数量 + */ + @ExcelProperty(value = "BOM数量") + private Long bomAmount; + + /** + * 祖级列表 + */ + @ExcelProperty(value = "祖级列表") + private String ancestors; + + /** + * 激活标识(1是 0否) + */ + @ExcelProperty(value = "激活标识", converter = ExcelDictConvert.class) + @ExcelDictFormat(readConverterExp = "1=是,0=否") + private String activeFlag; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + /** + * 机台名称 + */ + @ExcelProperty(value = "机台名称") + private String machineName;//join映射字段 + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsBaseDeviceDepreciationVo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsBaseDeviceDepreciationVo.java new file mode 100644 index 0000000..635744f --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsBaseDeviceDepreciationVo.java @@ -0,0 +1,95 @@ +package org.dromara.dms.domain.vo; + +import java.math.BigDecimal; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.dromara.dms.domain.DmsBaseDeviceDepreciation; +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; + + + +/** + * 设备折旧信息视图对象 dms_base_device_depreciation + * + * @author zch + * @date 2025-03-20 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = DmsBaseDeviceDepreciation.class) +public class DmsBaseDeviceDepreciationVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键标识 + */ + @ExcelProperty(value = "主键标识") + private Long deviceDepreciationId; + + /** + * 设备ID,关联prod_base_machine_info的machine_id + */ + @ExcelProperty(value = "设备ID,关联prod_base_machine_info的machine_id") + private Long machineId; + + /** + * 维修次数 + */ + @ExcelProperty(value = "维修次数") + private Long repairFrequency; + + /** + * 维修费用 + */ + @ExcelProperty(value = "维修费用") + private BigDecimal repairCosts; + + /** + * 折旧费用 + */ + @ExcelProperty(value = "折旧费用") + private BigDecimal depreciationCost; + + /** + * 投入时间 + */ + @ExcelProperty(value = "投入时间") + private Date putIntoTime; + + /** + * 使用年限 + */ + @ExcelProperty(value = "使用年限") + private BigDecimal useLife; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + /** + * 激活标识(1是 0否) + */ + @ExcelProperty(value = "激活标识", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "active_flag") + private String activeFlag; + + /** + * 机台名称 + */ + @ExcelProperty(value = "机台名称") + private String machineName;//join + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsBaseDeviceInstallVo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsBaseDeviceInstallVo.java new file mode 100644 index 0000000..197d846 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsBaseDeviceInstallVo.java @@ -0,0 +1,76 @@ +package org.dromara.dms.domain.vo; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.dromara.dms.domain.DmsBaseDeviceInstall; +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; + + + +/** + * 设备安装信息视图对象 dms_base_device_install + * + * @author zch + * @date 2025-03-20 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = DmsBaseDeviceInstall.class) +public class DmsBaseDeviceInstallVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @ExcelProperty(value = "主键ID") + private Long deviceInstallId; + + /** + * 设备ID,关联prod_base_machine_info的machine_id + */ + @ExcelProperty(value = "设备ID,关联prod_base_machine_info的machine_id") + private Long machineId; + + /** + * 安装地点 + */ + @ExcelProperty(value = "安装地点") + private String installPosition; + + /** + * 安装时间 + */ + @ExcelProperty(value = "安装时间") + private Date installTime; + + /** + * 安装人员 + */ + @ExcelProperty(value = "安装人员") + private String installPerson; + + /** + * 激活标识(1是 0否) + */ + @ExcelProperty(value = "激活标识", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "active_flag") + private String activeFlag; + + /** + * 机台名称 + */ + @ExcelProperty(value = "机台名称") + private String machineName;//join + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsBaseDevicePurchaseVo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsBaseDevicePurchaseVo.java new file mode 100644 index 0000000..dbe2d8a --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsBaseDevicePurchaseVo.java @@ -0,0 +1,81 @@ +package org.dromara.dms.domain.vo; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.dromara.dms.domain.DmsBaseDevicePurchase; +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; + + + +/** + * 设备采购信息视图对象 dms_base_device_purchase + * + * @author zch + * @date 2025-03-20 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = DmsBaseDevicePurchase.class) +public class DmsBaseDevicePurchaseVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @ExcelProperty(value = "主键ID") + private Long devicePurchaseId; + + /** + * 计划编号 + */ + @ExcelProperty(value = "计划编号") + private String workOrder; + + /** + * 设备ID,关联prod_base_machine_info的machine_id + */ + @ExcelProperty(value = "设备ID,关联prod_base_machine_info的machine_id") + private Long machineId; + + /** + * 采购人 + */ + @ExcelProperty(value = "采购人") + private String purchasePerson; + + /** + * 采购地点 + */ + @ExcelProperty(value = "采购地点") + private String purchasePosition; + + /** + * 采购时间 + */ + @ExcelProperty(value = "采购时间") + private Date purchaseTime; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + /** + * 机台名称 + */ + @ExcelProperty(value = "机台名称") + private String machineName;//JOIN + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsBaseDeviceSupplierVo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsBaseDeviceSupplierVo.java new file mode 100644 index 0000000..bbc8623 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsBaseDeviceSupplierVo.java @@ -0,0 +1,88 @@ +package org.dromara.dms.domain.vo; + +import org.dromara.dms.domain.DmsBaseDeviceSupplier; +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; + + + +/** + * 设备供应商信息视图对象 dms_base_device_supplier + * + * @author zch + * @date 2025-03-20 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = DmsBaseDeviceSupplier.class) +public class DmsBaseDeviceSupplierVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键标识 + */ + @ExcelProperty(value = "主键标识") + private Long supplierId; + + /** + * 供应商编号 + */ + @ExcelProperty(value = "供应商编号") + private String supplierCode; + + /** + * 供应商名称 + */ + @ExcelProperty(value = "供应商名称") + private String supplierName; + + /** + * 供应商联系人 + */ + @ExcelProperty(value = "供应商联系人") + private String supplierPerson; + + /** + * 供应商电话 + */ + @ExcelProperty(value = "供应商电话") + private String supplierTel; + + /** + * 供应商地址 + */ + @ExcelProperty(value = "供应商地址") + private String supplierAddress; + + /** + * 供应商状态 + */ + @ExcelProperty(value = "供应商状态", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "supplier_status") + private Long supplierStatus; + + /** + * 激活标识(1是 0否) + */ + @ExcelProperty(value = "激活标识", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "active_flag") + private String activeFlag; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsBaseOutsourcingInfoVo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsBaseOutsourcingInfoVo.java new file mode 100644 index 0000000..33ab933 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsBaseOutsourcingInfoVo.java @@ -0,0 +1,81 @@ +package org.dromara.dms.domain.vo; + +import org.dromara.dms.domain.DmsBaseOutsourcingInfo; +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; + + + +/** + * 外协信息视图对象 dms_base_outsourcing_info + * + * @author zch + * @date 2025-03-20 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = DmsBaseOutsourcingInfo.class) +public class DmsBaseOutsourcingInfoVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键标识 + */ + @ExcelProperty(value = "主键标识") + private Long outsourcingId; + + /** + * 外协编号 + */ + @ExcelProperty(value = "外协编号") + private String outsourcingCode; + + /** + * 单位名称 + */ + @ExcelProperty(value = "单位名称") + private String outsourcingName; + + /** + * 外协联系人 + */ + @ExcelProperty(value = "外协联系人") + private String outsourcingPerson; + + /** + * 外协电话 + */ + @ExcelProperty(value = "外协电话") + private String outsourcingTel; + + /** + * 外协地址 + */ + @ExcelProperty(value = "外协地址") + private String outsourcingAddress; + + /** + * 激活标识(1是 0否) + */ + @ExcelProperty(value = "激活标识", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "active_flag") + private String activeFlag; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsBaseTransferInfoVo.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsBaseTransferInfoVo.java new file mode 100644 index 0000000..d61f166 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/domain/vo/DmsBaseTransferInfoVo.java @@ -0,0 +1,94 @@ +package org.dromara.dms.domain.vo; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.dromara.dms.domain.DmsBaseTransferInfo; +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; + + + +/** + * 设备转移信息视图对象 dms_base_transfer_info + * + * @author Yinq + * @date 2025-03-20 + */ +@Data +@ExcelIgnoreUnannotated +@AutoMapper(target = DmsBaseTransferInfo.class) +public class DmsBaseTransferInfoVo implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + @ExcelProperty(value = "主键ID") + private Long transferInfoId; + + /** + * 设备ID,关联prod_base_machine_info的machine_id + */ + @ExcelProperty(value = "设备ID,关联prod_base_machine_info的machine_id") + private Long machineId; + + /** + * 设备原位置 + */ + @ExcelProperty(value = "设备原位置") + private String devicePosition; + + /** + * 设备转移位置 + */ + @ExcelProperty(value = "设备转移位置") + private String devicePositionNew; + + /** + * 设备转移人员 + */ + @ExcelProperty(value = "设备转移人员") + private String devicePositionOperator; + + /** + * 设备转移原因 + */ + @ExcelProperty(value = "设备转移原因") + private String devicePositionReason; + + /** + * 设备转移时间 + */ + @ExcelProperty(value = "设备转移时间") + private Date deviceTransferTime; + + /** + * 备注 + */ + @ExcelProperty(value = "备注") + private String remark; + + /** + * 激活标识(1是 0否) + */ + @ExcelProperty(value = "激活标识", converter = ExcelDictConvert.class) + @ExcelDictFormat(dictType = "active_flag") + private String activeFlag; + + /** + * 机台名称 + */ + @ExcelProperty(value = "机台名称") + private String machineName;//JOIN + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsBaseDeviceBomMapper.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsBaseDeviceBomMapper.java new file mode 100644 index 0000000..68ec0a1 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsBaseDeviceBomMapper.java @@ -0,0 +1,15 @@ +package org.dromara.dms.mapper; + +import org.dromara.dms.domain.DmsBaseDeviceBom; +import org.dromara.dms.domain.vo.DmsBaseDeviceBomVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 设备BOM信息Mapper接口 + * + * @author zch + * @date 2025-03-20 + */ +public interface DmsBaseDeviceBomMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsBaseDeviceDepreciationMapper.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsBaseDeviceDepreciationMapper.java new file mode 100644 index 0000000..e8e3f48 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsBaseDeviceDepreciationMapper.java @@ -0,0 +1,15 @@ +package org.dromara.dms.mapper; + +import org.dromara.dms.domain.DmsBaseDeviceDepreciation; +import org.dromara.dms.domain.vo.DmsBaseDeviceDepreciationVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 设备折旧信息Mapper接口 + * + * @author zch + * @date 2025-03-20 + */ +public interface DmsBaseDeviceDepreciationMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsBaseDeviceInstallMapper.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsBaseDeviceInstallMapper.java new file mode 100644 index 0000000..094d7cd --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsBaseDeviceInstallMapper.java @@ -0,0 +1,15 @@ +package org.dromara.dms.mapper; + +import org.dromara.dms.domain.DmsBaseDeviceInstall; +import org.dromara.dms.domain.vo.DmsBaseDeviceInstallVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 设备安装信息Mapper接口 + * + * @author zch + * @date 2025-03-20 + */ +public interface DmsBaseDeviceInstallMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsBaseDevicePurchaseMapper.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsBaseDevicePurchaseMapper.java new file mode 100644 index 0000000..8ba0740 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsBaseDevicePurchaseMapper.java @@ -0,0 +1,15 @@ +package org.dromara.dms.mapper; + +import org.dromara.dms.domain.DmsBaseDevicePurchase; +import org.dromara.dms.domain.vo.DmsBaseDevicePurchaseVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 设备采购信息Mapper接口 + * + * @author zch + * @date 2025-03-20 + */ +public interface DmsBaseDevicePurchaseMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsBaseDeviceSupplierMapper.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsBaseDeviceSupplierMapper.java new file mode 100644 index 0000000..0350386 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsBaseDeviceSupplierMapper.java @@ -0,0 +1,15 @@ +package org.dromara.dms.mapper; + +import org.dromara.dms.domain.DmsBaseDeviceSupplier; +import org.dromara.dms.domain.vo.DmsBaseDeviceSupplierVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 设备供应商信息Mapper接口 + * + * @author zch + * @date 2025-03-20 + */ +public interface DmsBaseDeviceSupplierMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsBaseOutsourcingInfoMapper.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsBaseOutsourcingInfoMapper.java new file mode 100644 index 0000000..34110ce --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsBaseOutsourcingInfoMapper.java @@ -0,0 +1,15 @@ +package org.dromara.dms.mapper; + +import org.dromara.dms.domain.DmsBaseOutsourcingInfo; +import org.dromara.dms.domain.vo.DmsBaseOutsourcingInfoVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 外协信息Mapper接口 + * + * @author zch + * @date 2025-03-20 + */ +public interface DmsBaseOutsourcingInfoMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsBaseTransferInfoMapper.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsBaseTransferInfoMapper.java new file mode 100644 index 0000000..369f495 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/mapper/DmsBaseTransferInfoMapper.java @@ -0,0 +1,15 @@ +package org.dromara.dms.mapper; + +import org.dromara.dms.domain.DmsBaseTransferInfo; +import org.dromara.dms.domain.vo.DmsBaseTransferInfoVo; +import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; + +/** + * 设备转移信息Mapper接口 + * + * @author Yinq + * @date 2025-03-20 + */ +public interface DmsBaseTransferInfoMapper extends BaseMapperPlus { + +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IDmsBaseDeviceBomService.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IDmsBaseDeviceBomService.java new file mode 100644 index 0000000..43ab061 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IDmsBaseDeviceBomService.java @@ -0,0 +1,59 @@ +package org.dromara.dms.service; + +import org.dromara.dms.domain.DmsBaseDeviceBom; +import org.dromara.dms.domain.vo.DmsBaseDeviceBomVo; +import org.dromara.dms.domain.bo.DmsBaseDeviceBomBo; + +import java.util.Collection; +import java.util.List; + +/** + * 设备BOM信息Service接口 + * + * @author zch + * @date 2025-03-20 + */ +public interface IDmsBaseDeviceBomService { + + /** + * 查询设备BOM信息 + * + * @param deviceBomId 主键 + * @return 设备BOM信息 + */ + DmsBaseDeviceBomVo queryById(Long deviceBomId); + + + /** + * 查询符合条件的设备BOM信息列表 + * + * @param bo 查询条件 + * @return 设备BOM信息列表 + */ + List queryList(DmsBaseDeviceBomBo bo); + + /** + * 新增设备BOM信息 + * + * @param bo 设备BOM信息 + * @return 是否新增成功 + */ + Boolean insertByBo(DmsBaseDeviceBomBo bo); + + /** + * 修改设备BOM信息 + * + * @param bo 设备BOM信息 + * @return 是否修改成功 + */ + Boolean updateByBo(DmsBaseDeviceBomBo bo); + + /** + * 校验并批量删除设备BOM信息信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IDmsBaseDeviceDepreciationService.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IDmsBaseDeviceDepreciationService.java new file mode 100644 index 0000000..03adb65 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IDmsBaseDeviceDepreciationService.java @@ -0,0 +1,69 @@ +package org.dromara.dms.service; + +import org.dromara.dms.domain.DmsBaseDeviceDepreciation; +import org.dromara.dms.domain.vo.DmsBaseDeviceDepreciationVo; +import org.dromara.dms.domain.bo.DmsBaseDeviceDepreciationBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 设备折旧信息Service接口 + * + * @author zch + * @date 2025-03-20 + */ +public interface IDmsBaseDeviceDepreciationService { + + /** + * 查询设备折旧信息 + * + * @param deviceDepreciationId 主键 + * @return 设备折旧信息 + */ + DmsBaseDeviceDepreciationVo queryById(Long deviceDepreciationId); + + /** + * 分页查询设备折旧信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 设备折旧信息分页列表 + */ + TableDataInfo queryPageList(DmsBaseDeviceDepreciationBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的设备折旧信息列表 + * + * @param bo 查询条件 + * @return 设备折旧信息列表 + */ + List queryList(DmsBaseDeviceDepreciationBo bo); + + /** + * 新增设备折旧信息 + * + * @param bo 设备折旧信息 + * @return 是否新增成功 + */ + Boolean insertByBo(DmsBaseDeviceDepreciationBo bo); + + /** + * 修改设备折旧信息 + * + * @param bo 设备折旧信息 + * @return 是否修改成功 + */ + Boolean updateByBo(DmsBaseDeviceDepreciationBo bo); + + /** + * 校验并批量删除设备折旧信息信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IDmsBaseDeviceInstallService.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IDmsBaseDeviceInstallService.java new file mode 100644 index 0000000..2d96c85 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IDmsBaseDeviceInstallService.java @@ -0,0 +1,69 @@ +package org.dromara.dms.service; + +import org.dromara.dms.domain.DmsBaseDeviceInstall; +import org.dromara.dms.domain.vo.DmsBaseDeviceInstallVo; +import org.dromara.dms.domain.bo.DmsBaseDeviceInstallBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 设备安装信息Service接口 + * + * @author zch + * @date 2025-03-20 + */ +public interface IDmsBaseDeviceInstallService { + + /** + * 查询设备安装信息 + * + * @param deviceInstallId 主键 + * @return 设备安装信息 + */ + DmsBaseDeviceInstallVo queryById(Long deviceInstallId); + + /** + * 分页查询设备安装信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 设备安装信息分页列表 + */ + TableDataInfo queryPageList(DmsBaseDeviceInstallBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的设备安装信息列表 + * + * @param bo 查询条件 + * @return 设备安装信息列表 + */ + List queryList(DmsBaseDeviceInstallBo bo); + + /** + * 新增设备安装信息 + * + * @param bo 设备安装信息 + * @return 是否新增成功 + */ + Boolean insertByBo(DmsBaseDeviceInstallBo bo); + + /** + * 修改设备安装信息 + * + * @param bo 设备安装信息 + * @return 是否修改成功 + */ + Boolean updateByBo(DmsBaseDeviceInstallBo bo); + + /** + * 校验并批量删除设备安装信息信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IDmsBaseDevicePurchaseService.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IDmsBaseDevicePurchaseService.java new file mode 100644 index 0000000..c06c1fd --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IDmsBaseDevicePurchaseService.java @@ -0,0 +1,69 @@ +package org.dromara.dms.service; + +import org.dromara.dms.domain.DmsBaseDevicePurchase; +import org.dromara.dms.domain.vo.DmsBaseDevicePurchaseVo; +import org.dromara.dms.domain.bo.DmsBaseDevicePurchaseBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 设备采购信息Service接口 + * + * @author zch + * @date 2025-03-20 + */ +public interface IDmsBaseDevicePurchaseService { + + /** + * 查询设备采购信息 + * + * @param devicePurchaseId 主键 + * @return 设备采购信息 + */ + DmsBaseDevicePurchaseVo queryById(Long devicePurchaseId); + + /** + * 分页查询设备采购信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 设备采购信息分页列表 + */ + TableDataInfo queryPageList(DmsBaseDevicePurchaseBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的设备采购信息列表 + * + * @param bo 查询条件 + * @return 设备采购信息列表 + */ + List queryList(DmsBaseDevicePurchaseBo bo); + + /** + * 新增设备采购信息 + * + * @param bo 设备采购信息 + * @return 是否新增成功 + */ + Boolean insertByBo(DmsBaseDevicePurchaseBo bo); + + /** + * 修改设备采购信息 + * + * @param bo 设备采购信息 + * @return 是否修改成功 + */ + Boolean updateByBo(DmsBaseDevicePurchaseBo bo); + + /** + * 校验并批量删除设备采购信息信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IDmsBaseDeviceSupplierService.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IDmsBaseDeviceSupplierService.java new file mode 100644 index 0000000..75207e1 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IDmsBaseDeviceSupplierService.java @@ -0,0 +1,69 @@ +package org.dromara.dms.service; + +import org.dromara.dms.domain.DmsBaseDeviceSupplier; +import org.dromara.dms.domain.vo.DmsBaseDeviceSupplierVo; +import org.dromara.dms.domain.bo.DmsBaseDeviceSupplierBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 设备供应商信息Service接口 + * + * @author zch + * @date 2025-03-20 + */ +public interface IDmsBaseDeviceSupplierService { + + /** + * 查询设备供应商信息 + * + * @param supplierId 主键 + * @return 设备供应商信息 + */ + DmsBaseDeviceSupplierVo queryById(Long supplierId); + + /** + * 分页查询设备供应商信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 设备供应商信息分页列表 + */ + TableDataInfo queryPageList(DmsBaseDeviceSupplierBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的设备供应商信息列表 + * + * @param bo 查询条件 + * @return 设备供应商信息列表 + */ + List queryList(DmsBaseDeviceSupplierBo bo); + + /** + * 新增设备供应商信息 + * + * @param bo 设备供应商信息 + * @return 是否新增成功 + */ + Boolean insertByBo(DmsBaseDeviceSupplierBo bo); + + /** + * 修改设备供应商信息 + * + * @param bo 设备供应商信息 + * @return 是否修改成功 + */ + Boolean updateByBo(DmsBaseDeviceSupplierBo bo); + + /** + * 校验并批量删除设备供应商信息信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IDmsBaseOutsourcingInfoService.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IDmsBaseOutsourcingInfoService.java new file mode 100644 index 0000000..b0c0f97 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IDmsBaseOutsourcingInfoService.java @@ -0,0 +1,69 @@ +package org.dromara.dms.service; + +import org.dromara.dms.domain.DmsBaseOutsourcingInfo; +import org.dromara.dms.domain.vo.DmsBaseOutsourcingInfoVo; +import org.dromara.dms.domain.bo.DmsBaseOutsourcingInfoBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 外协信息Service接口 + * + * @author zch + * @date 2025-03-20 + */ +public interface IDmsBaseOutsourcingInfoService { + + /** + * 查询外协信息 + * + * @param outsourcingId 主键 + * @return 外协信息 + */ + DmsBaseOutsourcingInfoVo queryById(Long outsourcingId); + + /** + * 分页查询外协信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 外协信息分页列表 + */ + TableDataInfo queryPageList(DmsBaseOutsourcingInfoBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的外协信息列表 + * + * @param bo 查询条件 + * @return 外协信息列表 + */ + List queryList(DmsBaseOutsourcingInfoBo bo); + + /** + * 新增外协信息 + * + * @param bo 外协信息 + * @return 是否新增成功 + */ + Boolean insertByBo(DmsBaseOutsourcingInfoBo bo); + + /** + * 修改外协信息 + * + * @param bo 外协信息 + * @return 是否修改成功 + */ + Boolean updateByBo(DmsBaseOutsourcingInfoBo bo); + + /** + * 校验并批量删除外协信息信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IDmsBaseTransferInfoService.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IDmsBaseTransferInfoService.java new file mode 100644 index 0000000..e225f25 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/IDmsBaseTransferInfoService.java @@ -0,0 +1,69 @@ +package org.dromara.dms.service; + +import org.dromara.dms.domain.DmsBaseTransferInfo; +import org.dromara.dms.domain.vo.DmsBaseTransferInfoVo; +import org.dromara.dms.domain.bo.DmsBaseTransferInfoBo; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; + +import java.util.Collection; +import java.util.List; + +/** + * 设备转移信息Service接口 + * + * @author Yinq + * @date 2025-03-20 + */ +public interface IDmsBaseTransferInfoService { + + /** + * 查询设备转移信息 + * + * @param transferInfoId 主键 + * @return 设备转移信息 + */ + DmsBaseTransferInfoVo queryById(Long transferInfoId); + + /** + * 分页查询设备转移信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 设备转移信息分页列表 + */ + TableDataInfo queryPageList(DmsBaseTransferInfoBo bo, PageQuery pageQuery); + + /** + * 查询符合条件的设备转移信息列表 + * + * @param bo 查询条件 + * @return 设备转移信息列表 + */ + List queryList(DmsBaseTransferInfoBo bo); + + /** + * 新增设备转移信息 + * + * @param bo 设备转移信息 + * @return 是否新增成功 + */ + Boolean insertByBo(DmsBaseTransferInfoBo bo); + + /** + * 修改设备转移信息 + * + * @param bo 设备转移信息 + * @return 是否修改成功 + */ + Boolean updateByBo(DmsBaseTransferInfoBo bo); + + /** + * 校验并批量删除设备转移信息信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + Boolean deleteWithValidByIds(Collection ids, Boolean isValid); +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsBaseDeviceBomServiceImpl.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsBaseDeviceBomServiceImpl.java new file mode 100644 index 0000000..c8d8b8d --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsBaseDeviceBomServiceImpl.java @@ -0,0 +1,188 @@ +package org.dromara.dms.service.impl; + +import org.dromara.common.core.exception.ServiceException; +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import com.github.yulichang.toolkit.JoinWrappers; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.dromara.dms.domain.DmsBaseMachineInfo; +import org.springframework.stereotype.Service; +import org.dromara.dms.domain.bo.DmsBaseDeviceBomBo; +import org.dromara.dms.domain.vo.DmsBaseDeviceBomVo; +import org.dromara.dms.domain.DmsBaseDeviceBom; +import org.dromara.dms.mapper.DmsBaseDeviceBomMapper; +import org.dromara.dms.service.IDmsBaseDeviceBomService; +import org.springframework.util.ObjectUtils; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 设备BOM信息Service业务层处理 + * + * @author zch + * @date 2025-03-20 + */ +@RequiredArgsConstructor +@Service +public class DmsBaseDeviceBomServiceImpl implements IDmsBaseDeviceBomService { + + private final DmsBaseDeviceBomMapper baseMapper; + + /** + * 查询设备BOM信息 + * + * @param deviceBomId 主键 + * @return 设备BOM信息 + */ + @Override + public DmsBaseDeviceBomVo queryById(Long deviceBomId){ + return baseMapper.selectVoById(deviceBomId); + } + + + /** + * 查询符合条件的设备BOM信息列表 + * + * @param bo 查询条件 + * @return 设备BOM信息列表 + */ + @Override + public List queryList(DmsBaseDeviceBomBo bo) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private MPJLambdaWrapper buildQueryWrapper(DmsBaseDeviceBomBo bo) { + Map params = bo.getParams(); + MPJLambdaWrapper lqw = JoinWrappers.lambda(DmsBaseDeviceBom.class) + .selectAll(DmsBaseDeviceBom.class) + // 关联查询设备信息 + .select(DmsBaseMachineInfo::getMachineName) + .leftJoin(DmsBaseMachineInfo.class,DmsBaseMachineInfo::getMachineId,DmsBaseDeviceBom::getMachineId) + .eq(bo.getDeviceBomId() != null, DmsBaseDeviceBom::getDeviceBomId, bo.getDeviceBomId()) + .eq(bo.getParentId() != null, DmsBaseDeviceBom::getParentId, bo.getParentId()) + .eq(bo.getMachineId() != null, DmsBaseDeviceBom::getMachineId, bo.getMachineId()) + .eq(bo.getBomAmount() != null, DmsBaseDeviceBom::getBomAmount, bo.getBomAmount()) + .eq(StringUtils.isNotBlank(bo.getAncestors()), DmsBaseDeviceBom::getAncestors, bo.getAncestors()) + .eq(StringUtils.isNotBlank(bo.getActiveFlag()), DmsBaseDeviceBom::getActiveFlag, bo.getActiveFlag()) + .orderByDesc(DmsBaseDeviceBom::getCreateTime); + return lqw; + } + + /** + * 新增设备BOM信息 + * + * @param bo 设备BOM信息 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(DmsBaseDeviceBomBo bo) { + DmsBaseDeviceBom add = MapstructUtils.convert(bo, DmsBaseDeviceBom.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setDeviceBomId(add.getDeviceBomId()); + } + return flag; + } + + /** + * 修改设备BOM信息 + * + * @param bo 设备BOM信息 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(DmsBaseDeviceBomBo bo) { + DmsBaseDeviceBom update = MapstructUtils.convert(bo, DmsBaseDeviceBom.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(DmsBaseDeviceBom entity) { + //TODO:保存前的数据校验 + + + + // 设置祖先节点字符串 + if (entity.getParentId() == 0L) { + entity.setAncestors("0"); + } else { + // 查询父节点信息获取ancestors + DmsBaseDeviceBom parentBom = baseMapper.selectOne( + Wrappers.lambdaQuery() + .select(DmsBaseDeviceBom::getAncestors) + .eq(DmsBaseDeviceBom::getDeviceBomId, entity.getParentId()) + ); + + if (ObjectUtils.isEmpty(parentBom)) { + throw new RuntimeException("父节点不存在"); + } + + // 设置ancestors为:父节点的ancestors + 父节点ID + entity.setAncestors(parentBom.getAncestors() + "," + entity.getParentId()); + + // 检查祖先节点中是否有与当前设备ID相同的节点 + String ancestorsStr = entity.getAncestors(); + for (String ancestorId : ancestorsStr.split(",")) { + if ("0".equals(ancestorId)) { + continue;// 跳过顶级节点 + } + + DmsBaseDeviceBom ancestorNode = baseMapper.selectOne( + Wrappers.lambdaQuery() + .select(DmsBaseDeviceBom::getMachineId) + .eq(DmsBaseDeviceBom::getDeviceBomId, Long.parseLong(ancestorId)) + ); + + if (ancestorNode != null && entity.getMachineId().equals(ancestorNode.getMachineId())) { + throw new RuntimeException("不能添加与祖先节点相同的设备编号"); + } + } + + // 检查兄弟节点中是否有与当前设备ID相同的节点 + List siblings = baseMapper.selectList( + Wrappers.lambdaQuery() + .select(DmsBaseDeviceBom::getDeviceBomId, DmsBaseDeviceBom::getMachineId) + .eq(DmsBaseDeviceBom::getParentId, entity.getParentId()) + .ne(entity.getDeviceBomId() != null, DmsBaseDeviceBom::getDeviceBomId, entity.getDeviceBomId()) // 更新时排除自身 + ); + + for (DmsBaseDeviceBom sibling : siblings) { + if (entity.getMachineId().equals(sibling.getMachineId())) { + throw new RuntimeException("不能添加与兄弟节点相同的设备编号"); + } + } + } + } + + /** + * 校验并批量删除设备BOM信息信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + for (Long id : ids) { + //监测删除的节点是否有子节点 + DmsBaseDeviceBom query = new DmsBaseDeviceBom(); + query.setParentId(id); + if (baseMapper.selectCount(Wrappers.lambdaQuery(query)) > 0) { + throw new ServiceException("存在子节点,不允许删除"); + } + } + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsBaseDeviceDepreciationServiceImpl.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsBaseDeviceDepreciationServiceImpl.java new file mode 100644 index 0000000..a6f229f --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsBaseDeviceDepreciationServiceImpl.java @@ -0,0 +1,143 @@ +package org.dromara.dms.service.impl; + +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.yulichang.toolkit.JoinWrappers; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.dromara.dms.domain.DmsBaseMachineInfo; +import org.springframework.stereotype.Service; +import org.dromara.dms.domain.bo.DmsBaseDeviceDepreciationBo; +import org.dromara.dms.domain.vo.DmsBaseDeviceDepreciationVo; +import org.dromara.dms.domain.DmsBaseDeviceDepreciation; +import org.dromara.dms.mapper.DmsBaseDeviceDepreciationMapper; +import org.dromara.dms.service.IDmsBaseDeviceDepreciationService; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 设备折旧信息Service业务层处理 + * + * @author zch + * @date 2025-03-20 + */ +@RequiredArgsConstructor +@Service +public class DmsBaseDeviceDepreciationServiceImpl implements IDmsBaseDeviceDepreciationService { + + private final DmsBaseDeviceDepreciationMapper baseMapper; + + /** + * 查询设备折旧信息 + * + * @param deviceDepreciationId 主键 + * @return 设备折旧信息 + */ + @Override + public DmsBaseDeviceDepreciationVo queryById(Long deviceDepreciationId){ + return baseMapper.selectVoById(deviceDepreciationId); + } + + /** + * 分页查询设备折旧信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 设备折旧信息分页列表 + */ + @Override + public TableDataInfo queryPageList(DmsBaseDeviceDepreciationBo bo, PageQuery pageQuery) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的设备折旧信息列表 + * + * @param bo 查询条件 + * @return 设备折旧信息列表 + */ + @Override + public List queryList(DmsBaseDeviceDepreciationBo bo) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private MPJLambdaWrapper buildQueryWrapper(DmsBaseDeviceDepreciationBo bo) { + Map params = bo.getParams(); + MPJLambdaWrapper lqw = JoinWrappers.lambda(DmsBaseDeviceDepreciation.class) + .selectAll(DmsBaseDeviceDepreciation.class) + //连表查询设备名称 + .select(DmsBaseMachineInfo::getMachineName) + .leftJoin(DmsBaseMachineInfo.class,DmsBaseMachineInfo::getMachineId,DmsBaseDeviceDepreciation::getMachineId) + .eq(bo.getDeviceDepreciationId() != null, DmsBaseDeviceDepreciation::getDeviceDepreciationId, bo.getDeviceDepreciationId()) + .eq(bo.getMachineId() != null, DmsBaseDeviceDepreciation::getMachineId, bo.getMachineId()) + .eq(bo.getRepairFrequency() != null, DmsBaseDeviceDepreciation::getRepairFrequency, bo.getRepairFrequency()) + .eq(bo.getRepairCosts() != null, DmsBaseDeviceDepreciation::getRepairCosts, bo.getRepairCosts()) + .eq(bo.getDepreciationCost() != null, DmsBaseDeviceDepreciation::getDepreciationCost, bo.getDepreciationCost()) + .eq(bo.getPutIntoTime() != null, DmsBaseDeviceDepreciation::getPutIntoTime, bo.getPutIntoTime()) + .eq(bo.getUseLife() != null, DmsBaseDeviceDepreciation::getUseLife, bo.getUseLife()) + .eq(StringUtils.isNotBlank(bo.getActiveFlag()), DmsBaseDeviceDepreciation::getActiveFlag, bo.getActiveFlag()) + .orderByDesc(DmsBaseDeviceDepreciation::getCreateTime); + return lqw; + } + + /** + * 新增设备折旧信息 + * + * @param bo 设备折旧信息 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(DmsBaseDeviceDepreciationBo bo) { + DmsBaseDeviceDepreciation add = MapstructUtils.convert(bo, DmsBaseDeviceDepreciation.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setDeviceDepreciationId(add.getDeviceDepreciationId()); + } + return flag; + } + + /** + * 修改设备折旧信息 + * + * @param bo 设备折旧信息 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(DmsBaseDeviceDepreciationBo bo) { + DmsBaseDeviceDepreciation update = MapstructUtils.convert(bo, DmsBaseDeviceDepreciation.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(DmsBaseDeviceDepreciation entity){ + //TODO 做一些数据校验,如唯一约束 + } + + /** + * 校验并批量删除设备折旧信息信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsBaseDeviceInstallServiceImpl.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsBaseDeviceInstallServiceImpl.java new file mode 100644 index 0000000..0ae2fcc --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsBaseDeviceInstallServiceImpl.java @@ -0,0 +1,173 @@ +package org.dromara.dms.service.impl; + +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.github.yulichang.toolkit.JoinWrappers; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.dromara.dms.domain.DmsBaseDeviceDepreciation; +import org.dromara.dms.domain.DmsBaseMachineInfo; +import org.dromara.dms.mapper.DmsBaseMachineInfoMapper; +import org.springframework.stereotype.Service; +import org.dromara.dms.domain.bo.DmsBaseDeviceInstallBo; +import org.dromara.dms.domain.vo.DmsBaseDeviceInstallVo; +import org.dromara.dms.domain.DmsBaseDeviceInstall; +import org.dromara.dms.mapper.DmsBaseDeviceInstallMapper; +import org.dromara.dms.service.IDmsBaseDeviceInstallService; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 设备安装信息Service业务层处理 + * + * @author zch + * @date 2025-03-20 + */ +@RequiredArgsConstructor +@Service +public class DmsBaseDeviceInstallServiceImpl implements IDmsBaseDeviceInstallService { + + private final DmsBaseDeviceInstallMapper baseMapper; + + private final DmsBaseMachineInfoMapper baseMachineInfoMapper; + + /** + * 查询设备安装信息 + * + * @param deviceInstallId 主键 + * @return 设备安装信息 + */ + @Override + public DmsBaseDeviceInstallVo queryById(Long deviceInstallId){ + return baseMapper.selectVoById(deviceInstallId); + } + + /** + * 分页查询设备安装信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 设备安装信息分页列表 + */ + @Override + public TableDataInfo queryPageList(DmsBaseDeviceInstallBo bo, PageQuery pageQuery) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的设备安装信息列表 + * + * @param bo 查询条件 + * @return 设备安装信息列表 + */ + @Override + public List queryList(DmsBaseDeviceInstallBo bo) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private MPJLambdaWrapper buildQueryWrapper(DmsBaseDeviceInstallBo bo) { + Map params = bo.getParams(); + MPJLambdaWrapper lqw = JoinWrappers.lambda(DmsBaseDeviceInstall.class) + .selectAll(DmsBaseDeviceInstall.class) + //连表查询设备名称 + .select(DmsBaseMachineInfo::getMachineName) + .leftJoin(DmsBaseMachineInfo.class,DmsBaseMachineInfo::getMachineId, DmsBaseDeviceInstall::getMachineId) + .eq(bo.getDeviceInstallId() != null, DmsBaseDeviceInstall::getDeviceInstallId, bo.getDeviceInstallId()) + .eq(bo.getMachineId() != null, DmsBaseDeviceInstall::getMachineId, bo.getMachineId()) + .eq(StringUtils.isNotBlank(bo.getInstallPosition()), DmsBaseDeviceInstall::getInstallPosition, bo.getInstallPosition()) + .eq(bo.getInstallTime() != null, DmsBaseDeviceInstall::getInstallTime, bo.getInstallTime()) + .eq(StringUtils.isNotBlank(bo.getInstallPerson()), DmsBaseDeviceInstall::getInstallPerson, bo.getInstallPerson()) + .eq(StringUtils.isNotBlank(bo.getActiveFlag()), DmsBaseDeviceInstall::getActiveFlag, bo.getActiveFlag()) + .orderByDesc(DmsBaseDeviceInstall::getCreateTime); + return lqw; + } + + /** + * 新增设备安装信息 + * + * @param bo 设备安装信息 + * @return 是否新增成功 + */ + @Override + @Transactional( rollbackFor = Exception.class ) + public Boolean insertByBo(DmsBaseDeviceInstallBo bo) { + DmsBaseDeviceInstall add = MapstructUtils.convert(bo, DmsBaseDeviceInstall.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setDeviceInstallId(add.getDeviceInstallId()); + } + //安装时修改设备信息的位置 + DmsBaseMachineInfo machineInfo = new DmsBaseMachineInfo(); + machineInfo.setMachineId(bo.getMachineId()); + machineInfo.setMachineLocation(bo.getInstallPosition()); + baseMachineInfoMapper.updateById(machineInfo); + return flag; + } + + /** + * 修改设备安装信息 + * + * @param bo 设备安装信息 + * @return 是否修改成功 + */ + @Override + @Transactional( rollbackFor = Exception.class ) + public Boolean updateByBo(DmsBaseDeviceInstallBo bo) { + DmsBaseDeviceInstall update = MapstructUtils.convert(bo, DmsBaseDeviceInstall.class); + validEntityBeforeSave(update); + //安装时修改设备信息的位置 + DmsBaseMachineInfo machineInfo = new DmsBaseMachineInfo(); + machineInfo.setMachineId(bo.getMachineId()); + machineInfo.setMachineLocation(bo.getInstallPosition()); + baseMachineInfoMapper.updateById(machineInfo); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(DmsBaseDeviceInstall entity){ + //TODO 做一些数据校验,如唯一约束 + + // 查询该设备是否已有安装记录 + Long count = baseMapper.selectCount( + Wrappers.lambdaQuery() + .eq(DmsBaseDeviceInstall::getMachineId, entity.getMachineId()) + // 更新时排除自身记录 + .ne(entity.getDeviceInstallId() != null, + DmsBaseDeviceInstall::getDeviceInstallId, + entity.getDeviceInstallId()) + ); + + if (count > 0) { + throw new ServiceException("该设备已安装,每个设备只能有一条安装记录"); + } + } + + /** + * 校验并批量删除设备安装信息信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsBaseDevicePurchaseServiceImpl.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsBaseDevicePurchaseServiceImpl.java new file mode 100644 index 0000000..af94f7f --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsBaseDevicePurchaseServiceImpl.java @@ -0,0 +1,155 @@ +package org.dromara.dms.service.impl; + +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.github.yulichang.toolkit.JoinWrappers; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.dromara.dms.domain.DmsBaseMachineInfo; +import org.springframework.stereotype.Service; +import org.dromara.dms.domain.bo.DmsBaseDevicePurchaseBo; +import org.dromara.dms.domain.vo.DmsBaseDevicePurchaseVo; +import org.dromara.dms.domain.DmsBaseDevicePurchase; +import org.dromara.dms.mapper.DmsBaseDevicePurchaseMapper; +import org.dromara.dms.service.IDmsBaseDevicePurchaseService; +import org.springframework.util.ObjectUtils; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 设备采购信息Service业务层处理 + * + * @author zch + * @date 2025-03-20 + */ +@RequiredArgsConstructor +@Service +public class DmsBaseDevicePurchaseServiceImpl implements IDmsBaseDevicePurchaseService { + + private final DmsBaseDevicePurchaseMapper baseMapper; + + /** + * 查询设备采购信息 + * + * @param devicePurchaseId 主键 + * @return 设备采购信息 + */ + @Override + public DmsBaseDevicePurchaseVo queryById(Long devicePurchaseId){ + return baseMapper.selectVoById(devicePurchaseId); + } + + /** + * 分页查询设备采购信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 设备采购信息分页列表 + */ + @Override + public TableDataInfo queryPageList(DmsBaseDevicePurchaseBo bo, PageQuery pageQuery) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的设备采购信息列表 + * + * @param bo 查询条件 + * @return 设备采购信息列表 + */ + @Override + public List queryList(DmsBaseDevicePurchaseBo bo) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private MPJLambdaWrapper buildQueryWrapper(DmsBaseDevicePurchaseBo bo) { + Map params = bo.getParams(); + MPJLambdaWrapper lqw = JoinWrappers.lambda(DmsBaseDevicePurchase.class) + .selectAll(DmsBaseDevicePurchase.class) + //关联查询设备信息 + .select(DmsBaseMachineInfo::getMachineName) + .leftJoin(DmsBaseMachineInfo.class,DmsBaseMachineInfo::getMachineId,DmsBaseDevicePurchase::getMachineId) + .eq(bo.getDevicePurchaseId() != null, DmsBaseDevicePurchase::getDevicePurchaseId, bo.getDevicePurchaseId()) + .eq(StringUtils.isNotBlank(bo.getWorkOrder()), DmsBaseDevicePurchase::getWorkOrder, bo.getWorkOrder()) + .eq(bo.getMachineId() != null, DmsBaseDevicePurchase::getMachineId, bo.getMachineId()) + .eq(StringUtils.isNotBlank(bo.getPurchasePerson()), DmsBaseDevicePurchase::getPurchasePerson, bo.getPurchasePerson()) + .eq(StringUtils.isNotBlank(bo.getPurchasePosition()), DmsBaseDevicePurchase::getPurchasePosition, bo.getPurchasePosition()) + .eq(bo.getPurchaseTime() != null, DmsBaseDevicePurchase::getPurchaseTime, bo.getPurchaseTime()) + .orderByDesc(DmsBaseDevicePurchase::getCreateTime); + return lqw; + } + + /** + * 新增设备采购信息 + * + * @param bo 设备采购信息 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(DmsBaseDevicePurchaseBo bo) { + DmsBaseDevicePurchase add = MapstructUtils.convert(bo, DmsBaseDevicePurchase.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setDevicePurchaseId(add.getDevicePurchaseId()); + } + return flag; + } + + /** + * 修改设备采购信息 + * + * @param bo 设备采购信息 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(DmsBaseDevicePurchaseBo bo) { + DmsBaseDevicePurchase update = MapstructUtils.convert(bo, DmsBaseDevicePurchase.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(DmsBaseDevicePurchase entity){ + //TODO 做一些数据校验,如唯一约束 + + //编号校验 + if (StringUtils.isNotNull(entity.getWorkOrder())){ + DmsBaseDevicePurchaseBo query = new DmsBaseDevicePurchaseBo(); + query.setWorkOrder(entity.getWorkOrder()); + MPJLambdaWrapper lqw = buildQueryWrapper(query); + DmsBaseDevicePurchase detail = baseMapper.selectOne(lqw); + if ( !ObjectUtils.isEmpty(detail) + && !detail.getDevicePurchaseId().equals(entity.getDevicePurchaseId())){ + throw new ServiceException("编号已存在"); + } + } + } + + /** + * 校验并批量删除设备采购信息信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsBaseDeviceSupplierServiceImpl.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsBaseDeviceSupplierServiceImpl.java new file mode 100644 index 0000000..aae540c --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsBaseDeviceSupplierServiceImpl.java @@ -0,0 +1,153 @@ +package org.dromara.dms.service.impl; + +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.github.yulichang.toolkit.JoinWrappers; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.dromara.dms.domain.bo.DmsBaseDeviceSupplierBo; +import org.dromara.dms.domain.vo.DmsBaseDeviceSupplierVo; +import org.dromara.dms.domain.DmsBaseDeviceSupplier; +import org.dromara.dms.mapper.DmsBaseDeviceSupplierMapper; +import org.dromara.dms.service.IDmsBaseDeviceSupplierService; +import org.springframework.util.ObjectUtils; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 设备供应商信息Service业务层处理 + * + * @author zch + * @date 2025-03-20 + */ +@RequiredArgsConstructor +@Service +public class DmsBaseDeviceSupplierServiceImpl implements IDmsBaseDeviceSupplierService { + + private final DmsBaseDeviceSupplierMapper baseMapper; + + /** + * 查询设备供应商信息 + * + * @param supplierId 主键 + * @return 设备供应商信息 + */ + @Override + public DmsBaseDeviceSupplierVo queryById(Long supplierId){ + return baseMapper.selectVoById(supplierId); + } + + /** + * 分页查询设备供应商信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 设备供应商信息分页列表 + */ + @Override + public TableDataInfo queryPageList(DmsBaseDeviceSupplierBo bo, PageQuery pageQuery) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的设备供应商信息列表 + * + * @param bo 查询条件 + * @return 设备供应商信息列表 + */ + @Override + public List queryList(DmsBaseDeviceSupplierBo bo) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private MPJLambdaWrapper buildQueryWrapper(DmsBaseDeviceSupplierBo bo) { + Map params = bo.getParams(); + MPJLambdaWrapper lqw = JoinWrappers.lambda(DmsBaseDeviceSupplier.class) + .selectAll(DmsBaseDeviceSupplier.class) + .eq(bo.getSupplierId() != null, DmsBaseDeviceSupplier::getSupplierId, bo.getSupplierId()) + .eq(StringUtils.isNotBlank(bo.getSupplierCode()), DmsBaseDeviceSupplier::getSupplierCode, bo.getSupplierCode()) + .like(StringUtils.isNotBlank(bo.getSupplierName()), DmsBaseDeviceSupplier::getSupplierName, bo.getSupplierName()) + .eq(StringUtils.isNotBlank(bo.getSupplierPerson()), DmsBaseDeviceSupplier::getSupplierPerson, bo.getSupplierPerson()) + .eq(StringUtils.isNotBlank(bo.getSupplierTel()), DmsBaseDeviceSupplier::getSupplierTel, bo.getSupplierTel()) + .eq(StringUtils.isNotBlank(bo.getSupplierAddress()), DmsBaseDeviceSupplier::getSupplierAddress, bo.getSupplierAddress()) + .eq(bo.getSupplierStatus() != null, DmsBaseDeviceSupplier::getSupplierStatus, bo.getSupplierStatus()) + .eq(StringUtils.isNotBlank(bo.getActiveFlag()), DmsBaseDeviceSupplier::getActiveFlag, bo.getActiveFlag()) + .orderByDesc(DmsBaseDeviceSupplier::getCreateTime); + return lqw; + } + + /** + * 新增设备供应商信息 + * + * @param bo 设备供应商信息 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(DmsBaseDeviceSupplierBo bo) { + DmsBaseDeviceSupplier add = MapstructUtils.convert(bo, DmsBaseDeviceSupplier.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setSupplierId(add.getSupplierId()); + } + return flag; + } + + /** + * 修改设备供应商信息 + * + * @param bo 设备供应商信息 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(DmsBaseDeviceSupplierBo bo) { + DmsBaseDeviceSupplier update = MapstructUtils.convert(bo, DmsBaseDeviceSupplier.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(DmsBaseDeviceSupplier entity){ + //TODO 做一些数据校验,如唯一约束 + + // 编号校验 + if (StringUtils.isNotNull(entity.getSupplierCode())){ + DmsBaseDeviceSupplierBo query = new DmsBaseDeviceSupplierBo(); + query.setSupplierCode(entity.getSupplierCode()); + MPJLambdaWrapper lqw = buildQueryWrapper(query); + DmsBaseDeviceSupplier detail = baseMapper.selectOne(lqw); + if ( !ObjectUtils.isEmpty(detail) + && !detail.getSupplierId().equals(entity.getSupplierId())){ + throw new ServiceException("编号已存在"); + } + } + } + + /** + * 校验并批量删除设备供应商信息信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsBaseOutsourcingInfoServiceImpl.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsBaseOutsourcingInfoServiceImpl.java new file mode 100644 index 0000000..8998632 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsBaseOutsourcingInfoServiceImpl.java @@ -0,0 +1,152 @@ +package org.dromara.dms.service.impl; + +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.github.yulichang.toolkit.JoinWrappers; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.dromara.dms.domain.bo.DmsBaseOutsourcingInfoBo; +import org.dromara.dms.domain.vo.DmsBaseOutsourcingInfoVo; +import org.dromara.dms.domain.DmsBaseOutsourcingInfo; +import org.dromara.dms.mapper.DmsBaseOutsourcingInfoMapper; +import org.dromara.dms.service.IDmsBaseOutsourcingInfoService; +import org.springframework.util.ObjectUtils; + +import java.util.List; +import java.util.Map; +import java.util.Collection; + +/** + * 外协信息Service业务层处理 + * + * @author zch + * @date 2025-03-20 + */ +@RequiredArgsConstructor +@Service +public class DmsBaseOutsourcingInfoServiceImpl implements IDmsBaseOutsourcingInfoService { + + private final DmsBaseOutsourcingInfoMapper baseMapper; + + /** + * 查询外协信息 + * + * @param outsourcingId 主键 + * @return 外协信息 + */ + @Override + public DmsBaseOutsourcingInfoVo queryById(Long outsourcingId){ + return baseMapper.selectVoById(outsourcingId); + } + + /** + * 分页查询外协信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 外协信息分页列表 + */ + @Override + public TableDataInfo queryPageList(DmsBaseOutsourcingInfoBo bo, PageQuery pageQuery) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的外协信息列表 + * + * @param bo 查询条件 + * @return 外协信息列表 + */ + @Override + public List queryList(DmsBaseOutsourcingInfoBo bo) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private MPJLambdaWrapper buildQueryWrapper(DmsBaseOutsourcingInfoBo bo) { + Map params = bo.getParams(); + MPJLambdaWrapper lqw = JoinWrappers.lambda(DmsBaseOutsourcingInfo.class) + .selectAll(DmsBaseOutsourcingInfo.class) + .eq(bo.getOutsourcingId() != null, DmsBaseOutsourcingInfo::getOutsourcingId, bo.getOutsourcingId()) + .eq(StringUtils.isNotBlank(bo.getOutsourcingCode()), DmsBaseOutsourcingInfo::getOutsourcingCode, bo.getOutsourcingCode()) + .like(StringUtils.isNotBlank(bo.getOutsourcingName()), DmsBaseOutsourcingInfo::getOutsourcingName, bo.getOutsourcingName()) + .eq(StringUtils.isNotBlank(bo.getOutsourcingPerson()), DmsBaseOutsourcingInfo::getOutsourcingPerson, bo.getOutsourcingPerson()) + .eq(StringUtils.isNotBlank(bo.getOutsourcingTel()), DmsBaseOutsourcingInfo::getOutsourcingTel, bo.getOutsourcingTel()) + .eq(StringUtils.isNotBlank(bo.getOutsourcingAddress()), DmsBaseOutsourcingInfo::getOutsourcingAddress, bo.getOutsourcingAddress()) + .eq(StringUtils.isNotBlank(bo.getActiveFlag()), DmsBaseOutsourcingInfo::getActiveFlag, bo.getActiveFlag()) + .orderByDesc(DmsBaseOutsourcingInfo::getCreateTime); + return lqw; + } + + /** + * 新增外协信息 + * + * @param bo 外协信息 + * @return 是否新增成功 + */ + @Override + public Boolean insertByBo(DmsBaseOutsourcingInfoBo bo) { + DmsBaseOutsourcingInfo add = MapstructUtils.convert(bo, DmsBaseOutsourcingInfo.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setOutsourcingId(add.getOutsourcingId()); + } + return flag; + } + + /** + * 修改外协信息 + * + * @param bo 外协信息 + * @return 是否修改成功 + */ + @Override + public Boolean updateByBo(DmsBaseOutsourcingInfoBo bo) { + DmsBaseOutsourcingInfo update = MapstructUtils.convert(bo, DmsBaseOutsourcingInfo.class); + validEntityBeforeSave(update); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(DmsBaseOutsourcingInfo entity){ + //TODO 做一些数据校验,如唯一约束 + + //编号校验 + if (StringUtils.isNotNull(entity.getOutsourcingCode())){ + DmsBaseOutsourcingInfoBo query = new DmsBaseOutsourcingInfoBo(); + query.setOutsourcingCode(entity.getOutsourcingCode()); + MPJLambdaWrapper lqw = buildQueryWrapper(query); + DmsBaseOutsourcingInfo detail = baseMapper.selectOne(lqw); + if ( !ObjectUtils.isEmpty(detail) + && !detail.getOutsourcingId().equals(entity.getOutsourcingId())){ + throw new ServiceException("编号已存在"); + } + } + } + + /** + * 校验并批量删除外协信息信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsBaseTransferInfoServiceImpl.java b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsBaseTransferInfoServiceImpl.java new file mode 100644 index 0000000..6fbd010 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/java/org/dromara/dms/service/impl/DmsBaseTransferInfoServiceImpl.java @@ -0,0 +1,194 @@ +package org.dromara.dms.service.impl; + +import org.dromara.common.core.utils.MapstructUtils; +import org.dromara.common.core.utils.StringUtils; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.mybatis.core.page.PageQuery; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.yulichang.toolkit.JoinWrappers; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import lombok.RequiredArgsConstructor; +import org.dromara.dms.domain.DmsBaseMachineInfo; +import org.dromara.dms.mapper.DmsBaseMachineInfoMapper; +import org.springframework.stereotype.Service; +import org.dromara.dms.domain.bo.DmsBaseTransferInfoBo; +import org.dromara.dms.domain.vo.DmsBaseTransferInfoVo; +import org.dromara.dms.domain.DmsBaseTransferInfo; +import org.dromara.dms.mapper.DmsBaseTransferInfoMapper; +import org.dromara.dms.service.IDmsBaseTransferInfoService; +import org.dromara.common.core.exception.ServiceException; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.ObjectUtils; +import com.baomidou.mybatisplus.core.metadata.IPage; + +import java.util.List; +import java.util.Map; +import java.util.Collection; +import java.util.stream.Collectors; + +/** + * 设备转移信息Service业务层处理 + * + * @author Yinq + * @date 2025-03-20 + */ +@RequiredArgsConstructor +@Service +public class DmsBaseTransferInfoServiceImpl implements IDmsBaseTransferInfoService { + + private final DmsBaseTransferInfoMapper baseMapper; + + private final DmsBaseMachineInfoMapper baseMachineInfoMapper; + + /** + * 查询设备转移信息 + * + * @param transferInfoId 主键 + * @return 设备转移信息 + */ + @Override + public DmsBaseTransferInfoVo queryById(Long transferInfoId){ + return baseMapper.selectVoById(transferInfoId); + } + + /** + * 分页查询设备转移信息列表 + * + * @param bo 查询条件 + * @param pageQuery 分页参数 + * @return 设备转移信息分页列表 + */ + @Override + public TableDataInfo queryPageList(DmsBaseTransferInfoBo bo, PageQuery pageQuery) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + Page result = baseMapper.selectVoPage(pageQuery.build(), lqw); + return TableDataInfo.build(result); + } + + /** + * 查询符合条件的设备转移信息列表 + * + * @param bo 查询条件 + * @return 设备转移信息列表 + */ + @Override + public List queryList(DmsBaseTransferInfoBo bo) { + MPJLambdaWrapper lqw = buildQueryWrapper(bo); + return baseMapper.selectVoList(lqw); + } + + private MPJLambdaWrapper buildQueryWrapper(DmsBaseTransferInfoBo bo) { + Map params = bo.getParams(); + MPJLambdaWrapper lqw = JoinWrappers.lambda(DmsBaseTransferInfo.class) + .selectAll(DmsBaseTransferInfo.class) + //连表查询设备名称 + .select(DmsBaseMachineInfo::getMachineName) + .leftJoin(DmsBaseMachineInfo.class,DmsBaseMachineInfo::getMachineId,DmsBaseTransferInfo::getMachineId) + .eq(bo.getTransferInfoId() != null, DmsBaseTransferInfo::getTransferInfoId, bo.getTransferInfoId()) + .eq(bo.getMachineId() != null, DmsBaseTransferInfo::getMachineId, bo.getMachineId()) + .eq(StringUtils.isNotBlank(bo.getDevicePosition()), DmsBaseTransferInfo::getDevicePosition, bo.getDevicePosition()) + .eq(StringUtils.isNotBlank(bo.getDevicePositionNew()), DmsBaseTransferInfo::getDevicePositionNew, bo.getDevicePositionNew()) + .eq(StringUtils.isNotBlank(bo.getDevicePositionOperator()), DmsBaseTransferInfo::getDevicePositionOperator, bo.getDevicePositionOperator()) + .eq(StringUtils.isNotBlank(bo.getDevicePositionReason()), DmsBaseTransferInfo::getDevicePositionReason, bo.getDevicePositionReason()) + .eq(bo.getDeviceTransferTime() != null, DmsBaseTransferInfo::getDeviceTransferTime, bo.getDeviceTransferTime()) + .eq(StringUtils.isNotBlank(bo.getActiveFlag()), DmsBaseTransferInfo::getActiveFlag, bo.getActiveFlag()) + .orderByDesc(DmsBaseTransferInfo::getCreateTime); + return lqw; + } + + /** + * 新增设备转移信息 + * + * @param bo 设备转移信息 + * @return 是否新增成功 + */ + @Override + @Transactional( rollbackFor = Exception.class ) + public Boolean insertByBo(DmsBaseTransferInfoBo bo) { + DmsBaseTransferInfo add = MapstructUtils.convert(bo, DmsBaseTransferInfo.class); + validEntityBeforeSave(add); + boolean flag = baseMapper.insert(add) > 0; + if (flag) { + bo.setTransferInfoId(add.getTransferInfoId()); + } + //转移时修改设备信息的位置 + DmsBaseMachineInfo machineInfo = new DmsBaseMachineInfo(); + machineInfo.setMachineId(bo.getMachineId()); + machineInfo.setMachineLocation(bo.getDevicePositionNew()); + baseMachineInfoMapper.updateById(machineInfo); + return flag; + } + + /** + * 修改设备转移信息 + * + * @param bo 设备转移信息 + * @return 是否修改成功 + */ + @Override + @Transactional( rollbackFor = Exception.class ) + public Boolean updateByBo(DmsBaseTransferInfoBo bo) { + DmsBaseTransferInfo update = MapstructUtils.convert(bo, DmsBaseTransferInfo.class); + validEntityBeforeSave(update); + //转移时修改设备信息的位置 + DmsBaseMachineInfo machineInfo = new DmsBaseMachineInfo(); + machineInfo.setMachineId(bo.getMachineId()); + machineInfo.setMachineLocation(bo.getDevicePositionNew()); + baseMachineInfoMapper.updateById(machineInfo); + return baseMapper.updateById(update) > 0; + } + + /** + * 保存前的数据校验 + */ + private void validEntityBeforeSave(DmsBaseTransferInfo entity) { + // 1. 校验新位置不能与原位置相同 + if (StringUtils.equals(entity.getDevicePositionNew(), entity.getDevicePosition())) { + throw new ServiceException("新位置不能与原位置相同"); + } + + // 2. 校验转移前必须有安装位置 + if (StringUtils.isBlank(entity.getDevicePosition())) { + throw new ServiceException("转移前必须有安装位置"); + } + + // 3. 校验转移时间不能小于之前记录的转移时间 + if (entity.getDeviceTransferTime() != null) { + // 使用分页功能限制记录数量 + Page page = new Page<>(1, 100); + IPage resultPage = baseMapper.selectPage(page, + Wrappers.lambdaQuery() + .select(DmsBaseTransferInfo::getDeviceTransferTime) + .eq(DmsBaseTransferInfo::getMachineId, entity.getMachineId()) + .eq(DmsBaseTransferInfo::getDevicePositionNew, entity.getDevicePosition()) + .orderByDesc(DmsBaseTransferInfo::getDeviceTransferTime) + ); + + // 使用stream流检查转移时间 + boolean hasInvalidTime = resultPage.getRecords().stream() + .anyMatch(previousTransfer -> + entity.getDeviceTransferTime().before(previousTransfer.getDeviceTransferTime()) + ); + + if (hasInvalidTime) { + throw new ServiceException("设备转移时间不能小于之前记录的设备转移时间"); + } + } + } + + /** + * 校验并批量删除设备转移信息信息 + * + * @param ids 待删除的主键集合 + * @param isValid 是否进行有效性校验 + * @return 是否删除成功 + */ + @Override + public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + if(isValid){ + //TODO 做一些业务上的校验,判断是否需要校验 + } + return baseMapper.deleteByIds(ids) > 0; + } +} diff --git a/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/DmsBaseDeviceBomMapper.xml b/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/DmsBaseDeviceBomMapper.xml new file mode 100644 index 0000000..70e1dcf --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/DmsBaseDeviceBomMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/DmsBaseDeviceDepreciationMapper.xml b/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/DmsBaseDeviceDepreciationMapper.xml new file mode 100644 index 0000000..9a0f169 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/DmsBaseDeviceDepreciationMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/DmsBaseDeviceInstallMapper.xml b/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/DmsBaseDeviceInstallMapper.xml new file mode 100644 index 0000000..faf0296 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/DmsBaseDeviceInstallMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/DmsBaseDevicePurchaseMapper.xml b/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/DmsBaseDevicePurchaseMapper.xml new file mode 100644 index 0000000..0e56f76 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/DmsBaseDevicePurchaseMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/DmsBaseDeviceSupplierMapper.xml b/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/DmsBaseDeviceSupplierMapper.xml new file mode 100644 index 0000000..b34cd32 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/DmsBaseDeviceSupplierMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/DmsBaseOutsourcingInfoMapper.xml b/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/DmsBaseOutsourcingInfoMapper.xml new file mode 100644 index 0000000..c091417 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/DmsBaseOutsourcingInfoMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/DmsBaseTransferInfoMapper.xml b/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/DmsBaseTransferInfoMapper.xml new file mode 100644 index 0000000..4430629 --- /dev/null +++ b/ruoyi-modules/hwmom-dms/src/main/resources/mapper/dms/DmsBaseTransferInfoMapper.xml @@ -0,0 +1,7 @@ + + + + +