Эх сурвалжийг харах

初始化用户岗位关联表、用户与单位关联表、工作区域表、mars岗位

车车 11 сар өмнө
parent
commit
d49d373222
35 өөрчлөгдсөн 1362 нэмэгдсэн , 0 устгасан
  1. 20 0
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/userunit/vo/UserUnitPageReqVO.java
  2. 27 0
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/userunit/vo/UserUnitRespVO.java
  3. 18 0
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/userunit/vo/UserUnitSaveReqVO.java
  4. 20 0
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/userworkstation/vo/UserWorkstationPageReqVO.java
  5. 27 0
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/userworkstation/vo/UserWorkstationRespVO.java
  6. 18 0
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/userworkstation/vo/UserWorkstationSaveReqVO.java
  7. 95 0
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/workarea/WorkareaController.java
  8. 53 0
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/workarea/vo/WorkareaPageReqVO.java
  9. 67 0
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/workarea/vo/WorkareaRespVO.java
  10. 50 0
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/workarea/vo/WorkareaSaveReqVO.java
  11. 95 0
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/workstation/WorkstationController.java
  12. 44 0
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/workstation/vo/WorkstationPageReqVO.java
  13. 55 0
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/workstation/vo/WorkstationRespVO.java
  14. 40 0
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/workstation/vo/WorkstationSaveReqVO.java
  15. 33 0
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/dal/dataobject/userunit/UserUnitDO.java
  16. 33 0
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/dal/dataobject/userworkstation/UserWorkstationDO.java
  17. 76 0
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/dal/dataobject/workarea/WorkareaDO.java
  18. 64 0
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/dal/dataobject/workstation/WorkstationDO.java
  19. 15 0
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/dal/mysql/userunit/UserUnitMapper.java
  20. 15 0
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/dal/mysql/userworkstation/UserWorkstationMapper.java
  21. 37 0
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/dal/mysql/workarea/WorkareaMapper.java
  22. 34 0
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/dal/mysql/workstation/WorkstationMapper.java
  23. 6 0
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/enums/ErrorCodeConstants.java
  24. 15 0
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/userunit/UserUnitService.java
  25. 18 0
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/userunit/UserUnitServiceImpl.java
  26. 15 0
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/userworkstation/UserWorkstationService.java
  27. 18 0
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/userworkstation/UserWorkstationServiceImpl.java
  28. 63 0
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/workarea/WorkareaService.java
  29. 90 0
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/workarea/WorkareaServiceImpl.java
  30. 63 0
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/workstation/WorkstationService.java
  31. 90 0
      yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/workstation/WorkstationServiceImpl.java
  32. 12 0
      yudao-module-iscs/src/main/java/resources/mapper/UserUnitMapper.xml
  33. 12 0
      yudao-module-iscs/src/main/java/resources/mapper/UserWorkstationMapper.xml
  34. 12 0
      yudao-module-iscs/src/main/java/resources/mapper/WorkareaMapper.xml
  35. 12 0
      yudao-module-iscs/src/main/java/resources/mapper/WorkstationMapper.xml

+ 20 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/userunit/vo/UserUnitPageReqVO.java

@@ -0,0 +1,20 @@
+package cn.iocoder.yudao.module.iscs.controller.admin.userunit.vo;
+
+import lombok.*;
+import java.util.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.time.LocalDateTime;
+
+import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+@Schema(description = "管理后台 - 用户与单位关联分页 Request VO")
+@Data
+public class UserUnitPageReqVO extends PageParam {
+
+    @Schema(description = "创建时间")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime[] createTime;
+
+}

+ 27 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/userunit/vo/UserUnitRespVO.java

@@ -0,0 +1,27 @@
+package cn.iocoder.yudao.module.iscs.controller.admin.userunit.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.time.LocalDateTime;
+import com.alibaba.excel.annotation.*;
+
+@Schema(description = "管理后台 - 用户与单位关联 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class UserUnitRespVO {
+
+    @Schema(description = "用户ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "318")
+    @ExcelProperty("用户ID")
+    private Long userId;
+
+    @Schema(description = "岗位ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9615")
+    @ExcelProperty("岗位ID")
+    private Long unitId;
+
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("创建时间")
+    private LocalDateTime createTime;
+
+}

+ 18 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/userunit/vo/UserUnitSaveReqVO.java

@@ -0,0 +1,18 @@
+package cn.iocoder.yudao.module.iscs.controller.admin.userunit.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import jakarta.validation.constraints.*;
+
+@Schema(description = "管理后台 - 用户与单位关联新增/修改 Request VO")
+@Data
+public class UserUnitSaveReqVO {
+
+    @Schema(description = "用户ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "318")
+    private Long userId;
+
+    @Schema(description = "岗位ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9615")
+    private Long unitId;
+
+}

+ 20 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/userworkstation/vo/UserWorkstationPageReqVO.java

@@ -0,0 +1,20 @@
+package cn.iocoder.yudao.module.iscs.controller.admin.userworkstation.vo;
+
+import lombok.*;
+import java.util.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.time.LocalDateTime;
+
+import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+@Schema(description = "管理后台 - 用户与mars岗位关联分页 Request VO")
+@Data
+public class UserWorkstationPageReqVO extends PageParam {
+
+    @Schema(description = "创建时间")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime[] createTime;
+
+}

+ 27 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/userworkstation/vo/UserWorkstationRespVO.java

@@ -0,0 +1,27 @@
+package cn.iocoder.yudao.module.iscs.controller.admin.userworkstation.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.time.LocalDateTime;
+import com.alibaba.excel.annotation.*;
+
+@Schema(description = "管理后台 - 用户与mars岗位关联 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class UserWorkstationRespVO {
+
+    @Schema(description = "用户ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16149")
+    @ExcelProperty("用户ID")
+    private Long userId;
+
+    @Schema(description = "岗位ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9592")
+    @ExcelProperty("岗位ID")
+    private Long workstationId;
+
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("创建时间")
+    private LocalDateTime createTime;
+
+}

+ 18 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/userworkstation/vo/UserWorkstationSaveReqVO.java

@@ -0,0 +1,18 @@
+package cn.iocoder.yudao.module.iscs.controller.admin.userworkstation.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import jakarta.validation.constraints.*;
+
+@Schema(description = "管理后台 - 用户与mars岗位关联新增/修改 Request VO")
+@Data
+public class UserWorkstationSaveReqVO {
+
+    @Schema(description = "用户ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "16149")
+    private Long userId;
+
+    @Schema(description = "岗位ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9592")
+    private Long workstationId;
+
+}

+ 95 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/workarea/WorkareaController.java

@@ -0,0 +1,95 @@
+package cn.iocoder.yudao.module.iscs.controller.admin.workarea;
+
+import org.springframework.web.bind.annotation.*;
+import jakarta.annotation.Resource;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.security.access.prepost.PreAuthorize;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.Operation;
+
+import jakarta.validation.constraints.*;
+import jakarta.validation.*;
+import jakarta.servlet.http.*;
+import java.util.*;
+import java.io.IOException;
+
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.common.pojo.CommonResult;
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
+
+import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
+
+import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
+import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
+
+import cn.iocoder.yudao.module.iscs.controller.admin.workarea.vo.*;
+import cn.iocoder.yudao.module.iscs.dal.dataobject.workarea.WorkareaDO;
+import cn.iocoder.yudao.module.iscs.service.workarea.WorkareaService;
+
+@Tag(name = "管理后台 - 工作区域")
+@RestController
+@RequestMapping("/iscs/workarea")
+@Validated
+public class WorkareaController {
+
+    @Resource
+    private WorkareaService workareaService;
+
+    @PostMapping("/insertWorkarea")
+    @Operation(summary = "创建工作区域")
+    @PreAuthorize("@ss.hasPermission('iscs:workarea:create')")
+    public CommonResult<Long> insertWorkarea(@Valid @RequestBody WorkareaSaveReqVO createReqVO) {
+        return success(workareaService.createWorkarea(createReqVO));
+    }
+
+    @PutMapping("/updateWorkarea")
+    @Operation(summary = "更新工作区域")
+    @PreAuthorize("@ss.hasPermission('iscs:workarea:update')")
+    public CommonResult<Boolean> updateWorkarea(@Valid @RequestBody WorkareaSaveReqVO updateReqVO) {
+        workareaService.updateWorkarea(updateReqVO);
+        return success(true);
+    }
+
+    @DeleteMapping("/deleteWorkareaList")
+    @Parameter(name = "ids", description = "编号", required = true)
+    @Operation(summary = "批量删除工作区域")
+                @PreAuthorize("@ss.hasPermission('iscs:workarea:delete')")
+    public CommonResult<Boolean> deleteWorkareaList(@RequestParam("ids") List<Long> ids) {
+        workareaService.deleteWorkareaListByIds(ids);
+        return success(true);
+    }
+
+    @GetMapping("/selectWorkareaById")
+    @Operation(summary = "获得工作区域")
+    @Parameter(name = "id", description = "编号", required = true, example = "1024")
+    @PreAuthorize("@ss.hasPermission('iscs:workarea:query')")
+    public CommonResult<WorkareaRespVO> selectWorkareaById(@RequestParam("id") Long id) {
+        WorkareaDO workarea = workareaService.getWorkarea(id);
+        return success(BeanUtils.toBean(workarea, WorkareaRespVO.class));
+    }
+
+    @GetMapping("/getWorkareaPage")
+    @Operation(summary = "获得工作区域分页")
+    @PreAuthorize("@ss.hasPermission('iscs:workarea:query')")
+    public CommonResult<PageResult<WorkareaRespVO>> getWorkareaPage(@Valid WorkareaPageReqVO pageReqVO) {
+        PageResult<WorkareaDO> pageResult = workareaService.getWorkareaPage(pageReqVO);
+        return success(BeanUtils.toBean(pageResult, WorkareaRespVO.class));
+    }
+
+    @GetMapping("/exportWorkareaExcel")
+    @Operation(summary = "导出工作区域 Excel")
+    @PreAuthorize("@ss.hasPermission('iscs:workarea:export')")
+    @ApiAccessLog(operateType = EXPORT)
+    public void exportWorkareaExcel(@Valid WorkareaPageReqVO pageReqVO,
+              HttpServletResponse response) throws IOException {
+        pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
+        List<WorkareaDO> list = workareaService.getWorkareaPage(pageReqVO).getList();
+        // 导出 Excel
+        ExcelUtils.write(response, "工作区域.xls", "数据", WorkareaRespVO.class,
+                        BeanUtils.toBean(list, WorkareaRespVO.class));
+    }
+
+}

+ 53 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/workarea/vo/WorkareaPageReqVO.java

@@ -0,0 +1,53 @@
+package cn.iocoder.yudao.module.iscs.controller.admin.workarea.vo;
+
+import lombok.*;
+import java.util.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.time.LocalDateTime;
+
+import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+@Schema(description = "管理后台 - 工作区域分页 Request VO")
+@Data
+public class WorkareaPageReqVO extends PageParam {
+
+    @Schema(description = "区域编号")
+    private String workareaCode;
+
+    @Schema(description = "区域名称", example = "王五")
+    private String workareaName;
+
+    @Schema(description = "区域类型", example = "2")
+    private String workareaType;
+
+    @Schema(description = "所属车间ID", example = "27757")
+    private Long workshopId;
+
+    @Schema(description = "地图")
+    private String map;
+
+    @Schema(description = "区域地图")
+    private String mapImg;
+
+    @Schema(description = "父部门id", example = "24641")
+    private Long parentId;
+
+    @Schema(description = "祖级列表")
+    private String ancestors;
+
+    @Schema(description = "显示顺序")
+    private Integer orderNum;
+
+    @Schema(description = "状态", example = "1")
+    private String status;
+
+    @Schema(description = "备注 ", example = "随便")
+    private String remark;
+
+    @Schema(description = "创建时间")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime[] createTime;
+
+}

+ 67 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/workarea/vo/WorkareaRespVO.java

@@ -0,0 +1,67 @@
+package cn.iocoder.yudao.module.iscs.controller.admin.workarea.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.time.LocalDateTime;
+import com.alibaba.excel.annotation.*;
+
+@Schema(description = "管理后台 - 工作区域 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class WorkareaRespVO {
+
+    @Schema(description = "区域ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13277")
+    @ExcelProperty("区域ID")
+    private Long id;
+
+    @Schema(description = "区域编号", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("区域编号")
+    private String workareaCode;
+
+    @Schema(description = "区域名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
+    @ExcelProperty("区域名称")
+    private String workareaName;
+
+    @Schema(description = "区域类型", example = "2")
+    @ExcelProperty("区域类型")
+    private String workareaType;
+
+    @Schema(description = "所属车间ID", example = "27757")
+    @ExcelProperty("所属车间ID")
+    private Long workshopId;
+
+    @Schema(description = "地图")
+    @ExcelProperty("地图")
+    private String map;
+
+    @Schema(description = "区域地图")
+    @ExcelProperty("区域地图")
+    private String mapImg;
+
+    @Schema(description = "父部门id", example = "24641")
+    @ExcelProperty("父部门id")
+    private Long parentId;
+
+    @Schema(description = "祖级列表")
+    @ExcelProperty("祖级列表")
+    private String ancestors;
+
+    @Schema(description = "显示顺序")
+    @ExcelProperty("显示顺序")
+    private Integer orderNum;
+
+    @Schema(description = "状态", example = "1")
+    @ExcelProperty("状态")
+    private String status;
+
+    @Schema(description = "备注 ", example = "随便")
+    @ExcelProperty("备注 ")
+    private String remark;
+
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("创建时间")
+    private LocalDateTime createTime;
+
+}

+ 50 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/workarea/vo/WorkareaSaveReqVO.java

@@ -0,0 +1,50 @@
+package cn.iocoder.yudao.module.iscs.controller.admin.workarea.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import jakarta.validation.constraints.*;
+
+@Schema(description = "管理后台 - 工作区域新增/修改 Request VO")
+@Data
+public class WorkareaSaveReqVO {
+
+    @Schema(description = "区域ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13277")
+    private Long id;
+
+    @Schema(description = "区域编号", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotEmpty(message = "区域编号不能为空")
+    private String workareaCode;
+
+    @Schema(description = "区域名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
+    @NotEmpty(message = "区域名称不能为空")
+    private String workareaName;
+
+    @Schema(description = "区域类型", example = "2")
+    private String workareaType;
+
+    @Schema(description = "所属车间ID", example = "27757")
+    private Long workshopId;
+
+    @Schema(description = "地图")
+    private String map;
+
+    @Schema(description = "区域地图")
+    private String mapImg;
+
+    @Schema(description = "父部门id", example = "24641")
+    private Long parentId;
+
+    @Schema(description = "祖级列表")
+    private String ancestors;
+
+    @Schema(description = "显示顺序")
+    private Integer orderNum;
+
+    @Schema(description = "状态", example = "1")
+    private String status;
+
+    @Schema(description = "备注 ", example = "随便")
+    private String remark;
+
+}

+ 95 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/workstation/WorkstationController.java

@@ -0,0 +1,95 @@
+package cn.iocoder.yudao.module.iscs.controller.admin.workstation;
+
+import org.springframework.web.bind.annotation.*;
+import jakarta.annotation.Resource;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.security.access.prepost.PreAuthorize;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.Operation;
+
+import jakarta.validation.constraints.*;
+import jakarta.validation.*;
+import jakarta.servlet.http.*;
+import java.util.*;
+import java.io.IOException;
+
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.common.pojo.CommonResult;
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
+
+import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
+
+import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
+import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
+
+import cn.iocoder.yudao.module.iscs.controller.admin.workstation.vo.*;
+import cn.iocoder.yudao.module.iscs.dal.dataobject.workstation.WorkstationDO;
+import cn.iocoder.yudao.module.iscs.service.workstation.WorkstationService;
+
+@Tag(name = "管理后台 - mars岗位")
+@RestController
+@RequestMapping("/iscs/workstation")
+@Validated
+public class WorkstationController {
+
+    @Resource
+    private WorkstationService workstationService;
+
+    @PostMapping("/insertWorkstation")
+    @Operation(summary = "创建mars岗位")
+    @PreAuthorize("@ss.hasPermission('iscs:workstation:create')")
+    public CommonResult<Long> insertWorkstation(@Valid @RequestBody WorkstationSaveReqVO createReqVO) {
+        return success(workstationService.createWorkstation(createReqVO));
+    }
+
+    @PutMapping("/updateWorkstation")
+    @Operation(summary = "更新mars岗位")
+    @PreAuthorize("@ss.hasPermission('iscs:workstation:update')")
+    public CommonResult<Boolean> updateWorkstation(@Valid @RequestBody WorkstationSaveReqVO updateReqVO) {
+        workstationService.updateWorkstation(updateReqVO);
+        return success(true);
+    }
+
+    @DeleteMapping("/deleteWorkstationList")
+    @Parameter(name = "ids", description = "编号", required = true)
+    @Operation(summary = "批量删除mars岗位")
+                @PreAuthorize("@ss.hasPermission('iscs:workstation:delete')")
+    public CommonResult<Boolean> deleteWorkstationList(@RequestParam("ids") List<Long> ids) {
+        workstationService.deleteWorkstationListByIds(ids);
+        return success(true);
+    }
+
+    @GetMapping("/selectWorkstationById")
+    @Operation(summary = "获得mars岗位")
+    @Parameter(name = "id", description = "编号", required = true, example = "1024")
+    @PreAuthorize("@ss.hasPermission('iscs:workstation:query')")
+    public CommonResult<WorkstationRespVO> selectWorkstationById(@RequestParam("id") Long id) {
+        WorkstationDO workstation = workstationService.getWorkstation(id);
+        return success(BeanUtils.toBean(workstation, WorkstationRespVO.class));
+    }
+
+    @GetMapping("/getWorkstationPage")
+    @Operation(summary = "获得mars岗位分页")
+    @PreAuthorize("@ss.hasPermission('iscs:workstation:query')")
+    public CommonResult<PageResult<WorkstationRespVO>> getWorkstationPage(@Valid WorkstationPageReqVO pageReqVO) {
+        PageResult<WorkstationDO> pageResult = workstationService.getWorkstationPage(pageReqVO);
+        return success(BeanUtils.toBean(pageResult, WorkstationRespVO.class));
+    }
+
+    @GetMapping("/exportWorkstationExcel")
+    @Operation(summary = "导出mars岗位 Excel")
+    @PreAuthorize("@ss.hasPermission('iscs:workstation:export')")
+    @ApiAccessLog(operateType = EXPORT)
+    public void exportWorkstationExcel(@Valid WorkstationPageReqVO pageReqVO,
+              HttpServletResponse response) throws IOException {
+        pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
+        List<WorkstationDO> list = workstationService.getWorkstationPage(pageReqVO).getList();
+        // 导出 Excel
+        ExcelUtils.write(response, "mars岗位.xls", "数据", WorkstationRespVO.class,
+                        BeanUtils.toBean(list, WorkstationRespVO.class));
+    }
+
+}

+ 44 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/workstation/vo/WorkstationPageReqVO.java

@@ -0,0 +1,44 @@
+package cn.iocoder.yudao.module.iscs.controller.admin.workstation.vo;
+
+import lombok.*;
+import java.util.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.time.LocalDateTime;
+
+import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+@Schema(description = "管理后台 - mars岗位分页 Request VO")
+@Data
+public class WorkstationPageReqVO extends PageParam {
+
+    @Schema(description = "岗位编号")
+    private String workstationCode;
+
+    @Schema(description = "岗位名称", example = "赵六")
+    private String workstationName;
+
+    @Schema(description = "岗位类型", example = "1")
+    private String workstationType;
+
+    @Schema(description = "父id", example = "25996")
+    private Long parentId;
+
+    @Schema(description = "祖级列表")
+    private String ancestors;
+
+    @Schema(description = "显示顺序")
+    private Integer orderNum;
+
+    @Schema(description = "状态", example = "1")
+    private String status;
+
+    @Schema(description = "备注 ", example = "你猜")
+    private String remark;
+
+    @Schema(description = "创建时间")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime[] createTime;
+
+}

+ 55 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/workstation/vo/WorkstationRespVO.java

@@ -0,0 +1,55 @@
+package cn.iocoder.yudao.module.iscs.controller.admin.workstation.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.time.LocalDateTime;
+import com.alibaba.excel.annotation.*;
+
+@Schema(description = "管理后台 - mars岗位 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class WorkstationRespVO {
+
+    @Schema(description = "岗位ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18736")
+    @ExcelProperty("岗位ID")
+    private Long id;
+
+    @Schema(description = "岗位编号")
+    @ExcelProperty("岗位编号")
+    private String workstationCode;
+
+    @Schema(description = "岗位名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
+    @ExcelProperty("岗位名称")
+    private String workstationName;
+
+    @Schema(description = "岗位类型", example = "1")
+    @ExcelProperty("岗位类型")
+    private String workstationType;
+
+    @Schema(description = "父id", example = "25996")
+    @ExcelProperty("父id")
+    private Long parentId;
+
+    @Schema(description = "祖级列表")
+    @ExcelProperty("祖级列表")
+    private String ancestors;
+
+    @Schema(description = "显示顺序")
+    @ExcelProperty("显示顺序")
+    private Integer orderNum;
+
+    @Schema(description = "状态", example = "1")
+    @ExcelProperty("状态")
+    private String status;
+
+    @Schema(description = "备注 ", example = "你猜")
+    @ExcelProperty("备注 ")
+    private String remark;
+
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("创建时间")
+    private LocalDateTime createTime;
+
+}

+ 40 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/workstation/vo/WorkstationSaveReqVO.java

@@ -0,0 +1,40 @@
+package cn.iocoder.yudao.module.iscs.controller.admin.workstation.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import jakarta.validation.constraints.*;
+
+@Schema(description = "管理后台 - mars岗位新增/修改 Request VO")
+@Data
+public class WorkstationSaveReqVO {
+
+    @Schema(description = "岗位ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18736")
+    private Long id;
+
+    @Schema(description = "岗位编号")
+    private String workstationCode;
+
+    @Schema(description = "岗位名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
+    @NotEmpty(message = "岗位名称不能为空")
+    private String workstationName;
+
+    @Schema(description = "岗位类型", example = "1")
+    private String workstationType;
+
+    @Schema(description = "父id", example = "25996")
+    private Long parentId;
+
+    @Schema(description = "祖级列表")
+    private String ancestors;
+
+    @Schema(description = "显示顺序")
+    private Integer orderNum;
+
+    @Schema(description = "状态", example = "1")
+    private String status;
+
+    @Schema(description = "备注 ", example = "你猜")
+    private String remark;
+
+}

+ 33 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/dal/dataobject/userunit/UserUnitDO.java

@@ -0,0 +1,33 @@
+package cn.iocoder.yudao.module.iscs.dal.dataobject.userunit;
+
+import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
+import com.baomidou.mybatisplus.annotation.KeySequence;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.*;
+
+/**
+ * 用户与单位关联 DO
+ *
+ * @author 芋道源码
+ */
+@TableName("isc_user_unit")
+@KeySequence("isc_user_unit_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class UserUnitDO extends BaseDO {
+
+    /**
+     * 用户ID
+     */
+    private Long userId;
+    /**
+     * 岗位ID
+     */
+    private Long unitId;
+
+
+}

+ 33 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/dal/dataobject/userworkstation/UserWorkstationDO.java

@@ -0,0 +1,33 @@
+package cn.iocoder.yudao.module.iscs.dal.dataobject.userworkstation;
+
+import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
+import com.baomidou.mybatisplus.annotation.KeySequence;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.*;
+
+/**
+ * 用户与mars岗位关联 DO
+ *
+ * @author 芋道源码
+ */
+@TableName("isc_user_workstation")
+@KeySequence("isc_user_workstation_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class UserWorkstationDO extends BaseDO {
+
+    /**
+     * 用户ID
+     */
+    private Long userId;
+    /**
+     * 岗位ID
+     */
+    private Long workstationId;
+
+
+}

+ 76 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/dal/dataobject/workarea/WorkareaDO.java

@@ -0,0 +1,76 @@
+package cn.iocoder.yudao.module.iscs.dal.dataobject.workarea;
+
+import lombok.*;
+import java.util.*;
+import java.time.LocalDateTime;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.*;
+import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
+
+/**
+ * 工作区域 DO
+ *
+ * @author 芋道源码
+ */
+@TableName("isc_workarea")
+@KeySequence("isc_workarea_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class WorkareaDO extends BaseDO {
+
+    /**
+     * 区域ID
+     */
+    @TableId
+    private Long id;
+    /**
+     * 区域编号
+     */
+    private String workareaCode;
+    /**
+     * 区域名称
+     */
+    private String workareaName;
+    /**
+     * 区域类型
+     */
+    private String workareaType;
+    /**
+     * 所属车间ID
+     */
+    private Long workshopId;
+    /**
+     * 地图
+     */
+    private String map;
+    /**
+     * 区域地图
+     */
+    private String mapImg;
+    /**
+     * 父部门id
+     */
+    private Long parentId;
+    /**
+     * 祖级列表
+     */
+    private String ancestors;
+    /**
+     * 显示顺序
+     */
+    private Integer orderNum;
+    /**
+     * 状态
+     */
+    private String status;
+    /**
+     * 备注 
+     */
+    private String remark;
+
+
+}

+ 64 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/dal/dataobject/workstation/WorkstationDO.java

@@ -0,0 +1,64 @@
+package cn.iocoder.yudao.module.iscs.dal.dataobject.workstation;
+
+import lombok.*;
+import java.util.*;
+import java.time.LocalDateTime;
+import java.time.LocalDateTime;
+import com.baomidou.mybatisplus.annotation.*;
+import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
+
+/**
+ * mars岗位 DO
+ *
+ * @author 芋道源码
+ */
+@TableName("isc_workstation")
+@KeySequence("isc_workstation_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class WorkstationDO extends BaseDO {
+
+    /**
+     * 岗位ID
+     */
+    @TableId
+    private Long id;
+    /**
+     * 岗位编号
+     */
+    private String workstationCode;
+    /**
+     * 岗位名称
+     */
+    private String workstationName;
+    /**
+     * 岗位类型
+     */
+    private String workstationType;
+    /**
+     * 父id
+     */
+    private Long parentId;
+    /**
+     * 祖级列表
+     */
+    private String ancestors;
+    /**
+     * 显示顺序
+     */
+    private Integer orderNum;
+    /**
+     * 状态
+     */
+    private String status;
+    /**
+     * 备注 
+     */
+    private String remark;
+
+
+}

+ 15 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/dal/mysql/userunit/UserUnitMapper.java

@@ -0,0 +1,15 @@
+package cn.iocoder.yudao.module.iscs.dal.mysql.userunit;
+
+import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
+import cn.iocoder.yudao.module.iscs.dal.dataobject.userunit.UserUnitDO;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 用户与单位关联 Mapper
+ *
+ * @author 芋道源码
+ */
+@Mapper
+public interface UserUnitMapper extends BaseMapperX<UserUnitDO> {
+
+}

+ 15 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/dal/mysql/userworkstation/UserWorkstationMapper.java

@@ -0,0 +1,15 @@
+package cn.iocoder.yudao.module.iscs.dal.mysql.userworkstation;
+
+import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
+import cn.iocoder.yudao.module.iscs.dal.dataobject.userworkstation.UserWorkstationDO;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 用户与mars岗位关联 Mapper
+ *
+ * @author 芋道源码
+ */
+@Mapper
+public interface UserWorkstationMapper extends BaseMapperX<UserWorkstationDO> {
+
+}

+ 37 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/dal/mysql/workarea/WorkareaMapper.java

@@ -0,0 +1,37 @@
+package cn.iocoder.yudao.module.iscs.dal.mysql.workarea;
+
+import java.util.*;
+
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
+import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
+import cn.iocoder.yudao.module.iscs.dal.dataobject.workarea.WorkareaDO;
+import org.apache.ibatis.annotations.Mapper;
+import cn.iocoder.yudao.module.iscs.controller.admin.workarea.vo.*;
+
+/**
+ * 工作区域 Mapper
+ *
+ * @author 芋道源码
+ */
+@Mapper
+public interface WorkareaMapper extends BaseMapperX<WorkareaDO> {
+
+    default PageResult<WorkareaDO> selectPage(WorkareaPageReqVO reqVO) {
+        return selectPage(reqVO, new LambdaQueryWrapperX<WorkareaDO>()
+                .eqIfPresent(WorkareaDO::getWorkareaCode, reqVO.getWorkareaCode())
+                .likeIfPresent(WorkareaDO::getWorkareaName, reqVO.getWorkareaName())
+                .eqIfPresent(WorkareaDO::getWorkareaType, reqVO.getWorkareaType())
+                .eqIfPresent(WorkareaDO::getWorkshopId, reqVO.getWorkshopId())
+                .eqIfPresent(WorkareaDO::getMap, reqVO.getMap())
+                .eqIfPresent(WorkareaDO::getMapImg, reqVO.getMapImg())
+                .eqIfPresent(WorkareaDO::getParentId, reqVO.getParentId())
+                .eqIfPresent(WorkareaDO::getAncestors, reqVO.getAncestors())
+                .eqIfPresent(WorkareaDO::getOrderNum, reqVO.getOrderNum())
+                .eqIfPresent(WorkareaDO::getStatus, reqVO.getStatus())
+                .eqIfPresent(WorkareaDO::getRemark, reqVO.getRemark())
+                .betweenIfPresent(WorkareaDO::getCreateTime, reqVO.getCreateTime())
+                .orderByDesc(WorkareaDO::getId));
+    }
+
+}

+ 34 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/dal/mysql/workstation/WorkstationMapper.java

@@ -0,0 +1,34 @@
+package cn.iocoder.yudao.module.iscs.dal.mysql.workstation;
+
+import java.util.*;
+
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
+import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
+import cn.iocoder.yudao.module.iscs.dal.dataobject.workstation.WorkstationDO;
+import org.apache.ibatis.annotations.Mapper;
+import cn.iocoder.yudao.module.iscs.controller.admin.workstation.vo.*;
+
+/**
+ * mars岗位 Mapper
+ *
+ * @author 芋道源码
+ */
+@Mapper
+public interface WorkstationMapper extends BaseMapperX<WorkstationDO> {
+
+    default PageResult<WorkstationDO> selectPage(WorkstationPageReqVO reqVO) {
+        return selectPage(reqVO, new LambdaQueryWrapperX<WorkstationDO>()
+                .eqIfPresent(WorkstationDO::getWorkstationCode, reqVO.getWorkstationCode())
+                .likeIfPresent(WorkstationDO::getWorkstationName, reqVO.getWorkstationName())
+                .eqIfPresent(WorkstationDO::getWorkstationType, reqVO.getWorkstationType())
+                .eqIfPresent(WorkstationDO::getParentId, reqVO.getParentId())
+                .eqIfPresent(WorkstationDO::getAncestors, reqVO.getAncestors())
+                .eqIfPresent(WorkstationDO::getOrderNum, reqVO.getOrderNum())
+                .eqIfPresent(WorkstationDO::getStatus, reqVO.getStatus())
+                .eqIfPresent(WorkstationDO::getRemark, reqVO.getRemark())
+                .betweenIfPresent(WorkstationDO::getCreateTime, reqVO.getCreateTime())
+                .orderByDesc(WorkstationDO::getId));
+    }
+
+}

+ 6 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/enums/ErrorCodeConstants.java

@@ -65,4 +65,10 @@ public interface ErrorCodeConstants {
 
     // ========== 工作卡 TODO 补充编号 ==========
     ErrorCode JOB_CARD_NOT_EXISTS = new ErrorCode(2_001_021_001, "工作卡不存在");
+
+    // ========== 工作区域 TODO 补充编号 ==========
+    ErrorCode WORKAREA_NOT_EXISTS = new ErrorCode(2_001_024_001, "工作区域不存在");
+
+    // ========== mars岗位 TODO 补充编号 ==========
+    ErrorCode WORKSTATION_NOT_EXISTS = new ErrorCode(2_001_025_001, "mars岗位不存在");
 }

+ 15 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/userunit/UserUnitService.java

@@ -0,0 +1,15 @@
+package cn.iocoder.yudao.module.iscs.service.userunit;
+
+import cn.iocoder.yudao.module.iscs.dal.dataobject.userunit.UserUnitDO;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * 用户与单位关联 Service 接口
+ *
+ * @author 芋道源码
+ */
+public interface UserUnitService extends IService<UserUnitDO> {
+
+
+
+}

+ 18 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/userunit/UserUnitServiceImpl.java

@@ -0,0 +1,18 @@
+package cn.iocoder.yudao.module.iscs.service.userunit;
+
+import cn.iocoder.yudao.module.iscs.dal.dataobject.userunit.UserUnitDO;
+import cn.iocoder.yudao.module.iscs.dal.mysql.userunit.UserUnitMapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import org.springframework.validation.annotation.Validated;
+
+/**
+ * 用户与单位关联 Service 实现类
+ *
+ * @author 芋道源码
+ */
+@Service
+@Validated
+public class UserUnitServiceImpl extends ServiceImpl<UserUnitMapper, UserUnitDO> implements UserUnitService {
+
+}

+ 15 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/userworkstation/UserWorkstationService.java

@@ -0,0 +1,15 @@
+package cn.iocoder.yudao.module.iscs.service.userworkstation;
+
+import cn.iocoder.yudao.module.iscs.dal.dataobject.userworkstation.UserWorkstationDO;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * 用户与mars岗位关联 Service 接口
+ *
+ * @author 芋道源码
+ */
+public interface UserWorkstationService extends IService<UserWorkstationDO> {
+
+
+
+}

+ 18 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/userworkstation/UserWorkstationServiceImpl.java

@@ -0,0 +1,18 @@
+package cn.iocoder.yudao.module.iscs.service.userworkstation;
+
+import cn.iocoder.yudao.module.iscs.dal.dataobject.userworkstation.UserWorkstationDO;
+import cn.iocoder.yudao.module.iscs.dal.mysql.userworkstation.UserWorkstationMapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import org.springframework.validation.annotation.Validated;
+
+/**
+ * 用户与mars岗位关联 Service 实现类
+ *
+ * @author 芋道源码
+ */
+@Service
+@Validated
+public class UserWorkstationServiceImpl extends ServiceImpl<UserWorkstationMapper, UserWorkstationDO> implements UserWorkstationService {
+
+}

+ 63 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/workarea/WorkareaService.java

@@ -0,0 +1,63 @@
+package cn.iocoder.yudao.module.iscs.service.workarea;
+
+import java.util.*;
+import jakarta.validation.*;
+import cn.iocoder.yudao.module.iscs.controller.admin.workarea.vo.*;
+import cn.iocoder.yudao.module.iscs.dal.dataobject.workarea.WorkareaDO;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * 工作区域 Service 接口
+ *
+ * @author 芋道源码
+ */
+public interface WorkareaService extends IService<WorkareaDO> {
+
+    /**
+     * 创建工作区域
+     *
+     * @param createReqVO 创建信息
+     * @return 编号
+     */
+    Long createWorkarea(@Valid WorkareaSaveReqVO createReqVO);
+
+    /**
+     * 更新工作区域
+     *
+     * @param updateReqVO 更新信息
+     */
+    void updateWorkarea(@Valid WorkareaSaveReqVO updateReqVO);
+
+    /**
+     * 删除工作区域
+     *
+     * @param id 编号
+     */
+    void deleteWorkarea(Long id);
+
+    /**
+    * 批量删除工作区域
+    *
+    * @param ids 编号
+    */
+    void deleteWorkareaListByIds(List<Long> ids);
+
+    /**
+     * 获得工作区域
+     *
+     * @param id 编号
+     * @return 工作区域
+     */
+    WorkareaDO getWorkarea(Long id);
+
+    /**
+     * 获得工作区域分页
+     *
+     * @param pageReqVO 分页查询
+     * @return 工作区域分页
+     */
+    PageResult<WorkareaDO> getWorkareaPage(WorkareaPageReqVO pageReqVO);
+
+}

+ 90 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/workarea/WorkareaServiceImpl.java

@@ -0,0 +1,90 @@
+package cn.iocoder.yudao.module.iscs.service.workarea;
+
+import cn.hutool.core.collection.CollUtil;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.module.iscs.controller.admin.workarea.vo.WorkareaPageReqVO;
+import cn.iocoder.yudao.module.iscs.controller.admin.workarea.vo.WorkareaSaveReqVO;
+import cn.iocoder.yudao.module.iscs.dal.dataobject.workarea.WorkareaDO;
+import cn.iocoder.yudao.module.iscs.dal.mysql.workarea.WorkareaMapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
+import org.springframework.validation.annotation.Validated;
+
+import java.util.List;
+
+import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
+import static cn.iocoder.yudao.module.iscs.enums.ErrorCodeConstants.WORKAREA_NOT_EXISTS;
+
+/**
+ * 工作区域 Service 实现类
+ *
+ * @author 芋道源码
+ */
+@Service
+@Validated
+public class WorkareaServiceImpl extends ServiceImpl<WorkareaMapper, WorkareaDO> implements WorkareaService {
+
+    @Resource
+    private WorkareaMapper workareaMapper;
+
+    @Override
+    public Long createWorkarea(WorkareaSaveReqVO createReqVO) {
+        // 插入
+        WorkareaDO workarea = BeanUtils.toBean(createReqVO, WorkareaDO.class);
+        workareaMapper.insert(workarea);
+
+        // 返回
+        return workarea.getId();
+    }
+
+    @Override
+    public void updateWorkarea(WorkareaSaveReqVO updateReqVO) {
+        // 校验存在
+        validateWorkareaExists(updateReqVO.getId());
+        // 更新
+        WorkareaDO updateObj = BeanUtils.toBean(updateReqVO, WorkareaDO.class);
+        workareaMapper.updateById(updateObj);
+    }
+
+    @Override
+    public void deleteWorkarea(Long id) {
+        // 校验存在
+        validateWorkareaExists(id);
+        // 删除
+        workareaMapper.deleteById(id);
+    }
+
+    @Override
+        public void deleteWorkareaListByIds(List<Long> ids) {
+        // 校验存在
+        validateWorkareaExists(ids);
+        // 删除
+        workareaMapper.deleteByIds(ids);
+        }
+
+    private void validateWorkareaExists(List<Long> ids) {
+        List<WorkareaDO> list = workareaMapper.selectByIds(ids);
+        if (CollUtil.isEmpty(list) || list.size() != ids.size()) {
+            throw exception(WORKAREA_NOT_EXISTS);
+        }
+    }
+
+    private void validateWorkareaExists(Long id) {
+        if (workareaMapper.selectById(id) == null) {
+            throw exception(WORKAREA_NOT_EXISTS);
+        }
+    }
+
+    @Override
+    public WorkareaDO getWorkarea(Long id) {
+        return workareaMapper.selectById(id);
+    }
+
+    @Override
+    public PageResult<WorkareaDO> getWorkareaPage(WorkareaPageReqVO pageReqVO) {
+        return workareaMapper.selectPage(pageReqVO);
+    }
+
+}

+ 63 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/workstation/WorkstationService.java

@@ -0,0 +1,63 @@
+package cn.iocoder.yudao.module.iscs.service.workstation;
+
+import java.util.*;
+import jakarta.validation.*;
+import cn.iocoder.yudao.module.iscs.controller.admin.workstation.vo.*;
+import cn.iocoder.yudao.module.iscs.dal.dataobject.workstation.WorkstationDO;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * mars岗位 Service 接口
+ *
+ * @author 芋道源码
+ */
+public interface WorkstationService extends IService<WorkstationDO> {
+
+    /**
+     * 创建mars岗位
+     *
+     * @param createReqVO 创建信息
+     * @return 编号
+     */
+    Long createWorkstation(@Valid WorkstationSaveReqVO createReqVO);
+
+    /**
+     * 更新mars岗位
+     *
+     * @param updateReqVO 更新信息
+     */
+    void updateWorkstation(@Valid WorkstationSaveReqVO updateReqVO);
+
+    /**
+     * 删除mars岗位
+     *
+     * @param id 编号
+     */
+    void deleteWorkstation(Long id);
+
+    /**
+    * 批量删除mars岗位
+    *
+    * @param ids 编号
+    */
+    void deleteWorkstationListByIds(List<Long> ids);
+
+    /**
+     * 获得mars岗位
+     *
+     * @param id 编号
+     * @return mars岗位
+     */
+    WorkstationDO getWorkstation(Long id);
+
+    /**
+     * 获得mars岗位分页
+     *
+     * @param pageReqVO 分页查询
+     * @return mars岗位分页
+     */
+    PageResult<WorkstationDO> getWorkstationPage(WorkstationPageReqVO pageReqVO);
+
+}

+ 90 - 0
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/workstation/WorkstationServiceImpl.java

@@ -0,0 +1,90 @@
+package cn.iocoder.yudao.module.iscs.service.workstation;
+
+import cn.hutool.core.collection.CollUtil;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.module.iscs.controller.admin.workstation.vo.WorkstationPageReqVO;
+import cn.iocoder.yudao.module.iscs.controller.admin.workstation.vo.WorkstationSaveReqVO;
+import cn.iocoder.yudao.module.iscs.dal.dataobject.workstation.WorkstationDO;
+import cn.iocoder.yudao.module.iscs.dal.mysql.workstation.WorkstationMapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Service;
+import org.springframework.validation.annotation.Validated;
+
+import java.util.List;
+
+import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
+import static cn.iocoder.yudao.module.iscs.enums.ErrorCodeConstants.WORKSTATION_NOT_EXISTS;
+
+/**
+ * mars岗位 Service 实现类
+ *
+ * @author 芋道源码
+ */
+@Service
+@Validated
+public class WorkstationServiceImpl extends ServiceImpl<WorkstationMapper, WorkstationDO> implements WorkstationService {
+
+    @Resource
+    private WorkstationMapper workstationMapper;
+
+    @Override
+    public Long createWorkstation(WorkstationSaveReqVO createReqVO) {
+        // 插入
+        WorkstationDO workstation = BeanUtils.toBean(createReqVO, WorkstationDO.class);
+        workstationMapper.insert(workstation);
+
+        // 返回
+        return workstation.getId();
+    }
+
+    @Override
+    public void updateWorkstation(WorkstationSaveReqVO updateReqVO) {
+        // 校验存在
+        validateWorkstationExists(updateReqVO.getId());
+        // 更新
+        WorkstationDO updateObj = BeanUtils.toBean(updateReqVO, WorkstationDO.class);
+        workstationMapper.updateById(updateObj);
+    }
+
+    @Override
+    public void deleteWorkstation(Long id) {
+        // 校验存在
+        validateWorkstationExists(id);
+        // 删除
+        workstationMapper.deleteById(id);
+    }
+
+    @Override
+        public void deleteWorkstationListByIds(List<Long> ids) {
+        // 校验存在
+        validateWorkstationExists(ids);
+        // 删除
+        workstationMapper.deleteByIds(ids);
+        }
+
+    private void validateWorkstationExists(List<Long> ids) {
+        List<WorkstationDO> list = workstationMapper.selectByIds(ids);
+        if (CollUtil.isEmpty(list) || list.size() != ids.size()) {
+            throw exception(WORKSTATION_NOT_EXISTS);
+        }
+    }
+
+    private void validateWorkstationExists(Long id) {
+        if (workstationMapper.selectById(id) == null) {
+            throw exception(WORKSTATION_NOT_EXISTS);
+        }
+    }
+
+    @Override
+    public WorkstationDO getWorkstation(Long id) {
+        return workstationMapper.selectById(id);
+    }
+
+    @Override
+    public PageResult<WorkstationDO> getWorkstationPage(WorkstationPageReqVO pageReqVO) {
+        return workstationMapper.selectPage(pageReqVO);
+    }
+
+}

+ 12 - 0
yudao-module-iscs/src/main/java/resources/mapper/UserUnitMapper.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.iocoder.yudao.module.iscs.dal.mysql.userunit.UserUnitMapper">
+
+    <!--
+        一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
+        无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
+        代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
+        文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
+     -->
+
+</mapper>

+ 12 - 0
yudao-module-iscs/src/main/java/resources/mapper/UserWorkstationMapper.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.iocoder.yudao.module.iscs.dal.mysql.userworkstation.UserWorkstationMapper">
+
+    <!--
+        一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
+        无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
+        代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
+        文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
+     -->
+
+</mapper>

+ 12 - 0
yudao-module-iscs/src/main/java/resources/mapper/WorkareaMapper.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.iocoder.yudao.module.iscs.dal.mysql.workarea.WorkareaMapper">
+
+    <!--
+        一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
+        无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
+        代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
+        文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
+     -->
+
+</mapper>

+ 12 - 0
yudao-module-iscs/src/main/java/resources/mapper/WorkstationMapper.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.iocoder.yudao.module.iscs.dal.mysql.workstation.WorkstationMapper">
+
+    <!--
+        一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
+        无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
+        代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
+        文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
+     -->
+
+</mapper>