Browse Source

处理isc_job_card业务逻辑

车车 4 tháng trước cách đây
mục cha
commit
1c1159a980

+ 100 - 95
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/jobcard/JobCardController.java

@@ -1,95 +1,100 @@
-package cn.iocoder.yudao.module.iscs.controller.admin.jobcard;
-
-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.jobcard.vo.*;
-import cn.iocoder.yudao.module.iscs.dal.dataobject.jobcard.JobCardDO;
-import cn.iocoder.yudao.module.iscs.service.jobcard.JobCardService;
-
-@Tag(name = "管理后台 - 工作卡")
-@RestController
-@RequestMapping("/iscs/job-card")
-@Validated
-public class JobCardController {
-
-    @Resource
-    private JobCardService jobCardService;
-
-    @PostMapping("/insertJobCard")
-    @Operation(summary = "创建工作卡")
-    @PreAuthorize("@ss.hasPermission('iscs:job-card:create')")
-    public CommonResult<Long> insertJobCard(@Valid @RequestBody JobCardSaveReqVO createReqVO) {
-        return success(jobCardService.createJobCard(createReqVO));
-    }
-
-    @PutMapping("/updateJobCard")
-    @Operation(summary = "更新工作卡")
-    @PreAuthorize("@ss.hasPermission('iscs:job-card:update')")
-    public CommonResult<Boolean> updateJobCard(@Valid @RequestBody JobCardSaveReqVO updateReqVO) {
-        jobCardService.updateJobCard(updateReqVO);
-        return success(true);
-    }
-
-    @DeleteMapping("/deleteJobCardList")
-    @Parameter(name = "ids", description = "编号", required = true)
-    @Operation(summary = "批量删除工作卡")
-                @PreAuthorize("@ss.hasPermission('iscs:job-card:delete')")
-    public CommonResult<Boolean> deleteJobCardList(@RequestParam("ids") List<Long> ids) {
-        jobCardService.deleteJobCardListByIds(ids);
-        return success(true);
-    }
-
-    @GetMapping("/selectJobCardById")
-    @Operation(summary = "获得工作卡")
-    @Parameter(name = "id", description = "编号", required = true, example = "1024")
-    @PreAuthorize("@ss.hasPermission('iscs:job-card:query')")
-    public CommonResult<JobCardRespVO> selectJobCardById(@RequestParam("id") Long id) {
-        JobCardDO jobCard = jobCardService.getJobCard(id);
-        return success(BeanUtils.toBean(jobCard, JobCardRespVO.class));
-    }
-
-    @GetMapping("/getJobCardPage")
-    @Operation(summary = "获得工作卡分页")
-    @PreAuthorize("@ss.hasPermission('iscs:job-card:query')")
-    public CommonResult<PageResult<JobCardRespVO>> getJobCardPage(@Valid JobCardPageReqVO pageReqVO) {
-        PageResult<JobCardDO> pageResult = jobCardService.getJobCardPage(pageReqVO);
-        return success(BeanUtils.toBean(pageResult, JobCardRespVO.class));
-    }
-
-    @GetMapping("/exportJobCardExcel")
-    @Operation(summary = "导出工作卡 Excel")
-    @PreAuthorize("@ss.hasPermission('iscs:job-card:export')")
-    @ApiAccessLog(operateType = EXPORT)
-    public void exportJobCardExcel(@Valid JobCardPageReqVO pageReqVO,
-              HttpServletResponse response) throws IOException {
-        pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
-        List<JobCardDO> list = jobCardService.getJobCardPage(pageReqVO).getList();
-        // 导出 Excel
-        ExcelUtils.write(response, "工作卡.xls", "数据", JobCardRespVO.class,
-                        BeanUtils.toBean(list, JobCardRespVO.class));
-    }
-
-}
+package cn.iocoder.yudao.module.iscs.controller.admin.jobcard;
+
+import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
+import cn.iocoder.yudao.framework.common.pojo.CommonResult;
+import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
+import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
+import cn.iocoder.yudao.module.iscs.controller.admin.jobcard.vo.JobCardPageReqVO;
+import cn.iocoder.yudao.module.iscs.controller.admin.jobcard.vo.JobCardRespVO;
+import cn.iocoder.yudao.module.iscs.controller.admin.jobcard.vo.JobCardSaveReqVO;
+import cn.iocoder.yudao.module.iscs.dal.dataobject.jobcard.JobCardDO;
+import cn.iocoder.yudao.module.iscs.service.jobcard.JobCardService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.Valid;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.io.IOException;
+import java.util.List;
+
+import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
+import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
+
+@Tag(name = "管理后台 - 工作卡")
+@RestController
+@RequestMapping("/iscs/job-card")
+@Validated
+public class JobCardController {
+
+    @Resource
+    private JobCardService jobCardService;
+
+    @PostMapping("/insertJobCard")
+    @Operation(summary = "创建工作卡")
+    @PreAuthorize("@ss.hasPermission('iscs:job-card:create')")
+    public CommonResult<Long> insertJobCard(@Valid @RequestBody JobCardSaveReqVO createReqVO) {
+        return success(jobCardService.createJobCard(createReqVO));
+    }
+
+    @PutMapping("/updateJobCard")
+    @Operation(summary = "更新工作卡")
+    @PreAuthorize("@ss.hasPermission('iscs:job-card:update')")
+    public CommonResult<Boolean> updateJobCard(@Valid @RequestBody JobCardSaveReqVO updateReqVO) {
+        jobCardService.updateJobCard(updateReqVO);
+        return success(true);
+    }
+
+    @DeleteMapping("/deleteJobCardList")
+    @Parameter(name = "ids", description = "编号", required = true)
+    @Operation(summary = "批量删除工作卡")
+                @PreAuthorize("@ss.hasPermission('iscs:job-card:delete')")
+    public CommonResult<Boolean> deleteJobCardList(@RequestParam("ids") List<Long> ids) {
+        jobCardService.deleteJobCardListByIds(ids);
+        return success(true);
+    }
+
+    @GetMapping("/selectJobCardById")
+    @Operation(summary = "获得工作卡")
+    @Parameter(name = "id", description = "编号", required = true, example = "1024")
+    @PreAuthorize("@ss.hasPermission('iscs:job-card:query')")
+    public CommonResult<JobCardRespVO> selectJobCardById(@RequestParam("id") Long id) {
+        JobCardDO jobCard = jobCardService.getJobCard(id);
+        return success(BeanUtils.toBean(jobCard, JobCardRespVO.class));
+    }
+
+    @GetMapping("/getJobCardPage")
+    @Operation(summary = "获得工作卡分页")
+    @PreAuthorize("@ss.hasPermission('iscs:job-card:query')")
+    public CommonResult<PageResult<JobCardRespVO>> getJobCardPage(@Valid JobCardPageReqVO pageReqVO) {
+        PageResult<JobCardDO> pageResult = jobCardService.getJobCardPage(pageReqVO);
+        return success(BeanUtils.toBean(pageResult, JobCardRespVO.class));
+    }
+
+    @GetMapping("/exportJobCardExcel")
+    @Operation(summary = "导出工作卡 Excel")
+    @PreAuthorize("@ss.hasPermission('iscs:job-card:export')")
+    @ApiAccessLog(operateType = EXPORT)
+    public void exportJobCardExcel(@Valid JobCardPageReqVO pageReqVO,
+              HttpServletResponse response) throws IOException {
+        pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
+        List<JobCardDO> list = jobCardService.getJobCardPage(pageReqVO).getList();
+        // 导出 Excel
+        ExcelUtils.write(response, "工作卡.xls", "数据", JobCardRespVO.class,
+                        BeanUtils.toBean(list, JobCardRespVO.class));
+    }
+
+    @PostMapping("/insertJobCardByCabinet")
+    @Operation(summary = "机柜录入工作卡")
+    @PreAuthorize("@ss.hasPermission('iscs:job-card:create')")
+    public CommonResult<Boolean> insertJobCardByCabinet(@Valid @RequestBody JobCardDO jobCardDO) {
+        return success(jobCardService.insertJobCardByCabinet(jobCardDO));
+    }
+
+}

+ 13 - 4
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/lockcabinet/vo/LockCabinetPageReqVO.java

@@ -1,10 +1,11 @@
 package cn.iocoder.yudao.module.iscs.controller.admin.lockcabinet.vo;
 
-import lombok.*;
-import java.util.*;
-import io.swagger.v3.oas.annotations.media.Schema;
 import cn.iocoder.yudao.framework.common.pojo.PageParam;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
 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;
@@ -47,4 +48,12 @@ public class LockCabinetPageReqVO extends PageParam {
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime[] createTime;
 
-}
+    @Schema(description = "序列号")
+    @TableField(exist = false)
+    private String serialNumber;
+
+    @Schema(description = "岗位名称")
+    @TableField(exist = false)
+    private String workstationName;
+
+}

+ 66 - 63
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/jobcard/JobCardService.java

@@ -1,63 +1,66 @@
-package cn.iocoder.yudao.module.iscs.service.jobcard;
-
-import java.util.*;
-import jakarta.validation.*;
-import cn.iocoder.yudao.module.iscs.controller.admin.jobcard.vo.*;
-import cn.iocoder.yudao.module.iscs.dal.dataobject.jobcard.JobCardDO;
-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 JobCardService extends IService<JobCardDO> {
-
-    /**
-     * 创建工作卡
-     *
-     * @param createReqVO 创建信息
-     * @return 编号
-     */
-    Long createJobCard(@Valid JobCardSaveReqVO createReqVO);
-
-    /**
-     * 更新工作卡
-     *
-     * @param updateReqVO 更新信息
-     */
-    void updateJobCard(@Valid JobCardSaveReqVO updateReqVO);
-
-    /**
-     * 删除工作卡
-     *
-     * @param id 编号
-     */
-    void deleteJobCard(Long id);
-
-    /**
-    * 批量删除工作卡
-    *
-    * @param ids 编号
-    */
-    void deleteJobCardListByIds(List<Long> ids);
-
-    /**
-     * 获得工作卡
-     *
-     * @param id 编号
-     * @return 工作卡
-     */
-    JobCardDO getJobCard(Long id);
-
-    /**
-     * 获得工作卡分页
-     *
-     * @param pageReqVO 分页查询
-     * @return 工作卡分页
-     */
-    PageResult<JobCardDO> getJobCardPage(JobCardPageReqVO pageReqVO);
-
-}
+package cn.iocoder.yudao.module.iscs.service.jobcard;
+
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.module.iscs.controller.admin.jobcard.vo.JobCardPageReqVO;
+import cn.iocoder.yudao.module.iscs.controller.admin.jobcard.vo.JobCardSaveReqVO;
+import cn.iocoder.yudao.module.iscs.dal.dataobject.jobcard.JobCardDO;
+import com.baomidou.mybatisplus.extension.service.IService;
+import jakarta.validation.Valid;
+
+import java.util.List;
+
+/**
+ * 工作卡 Service 接口
+ *
+ * @author 芋道源码
+ */
+public interface JobCardService extends IService<JobCardDO> {
+
+    /**
+     * 创建工作卡
+     *
+     * @param createReqVO 创建信息
+     * @return 编号
+     */
+    Long createJobCard(@Valid JobCardSaveReqVO createReqVO);
+
+    /**
+     * 更新工作卡
+     *
+     * @param updateReqVO 更新信息
+     */
+    void updateJobCard(@Valid JobCardSaveReqVO updateReqVO);
+
+    /**
+     * 删除工作卡
+     *
+     * @param id 编号
+     */
+    void deleteJobCard(Long id);
+
+    /**
+    * 批量删除工作卡
+    *
+    * @param ids 编号
+    */
+    void deleteJobCardListByIds(List<Long> ids);
+
+    /**
+     * 获得工作卡
+     *
+     * @param id 编号
+     * @return 工作卡
+     */
+    JobCardDO getJobCard(Long id);
+
+    /**
+     * 获得工作卡分页
+     *
+     * @param pageReqVO 分页查询
+     * @return 工作卡分页
+     */
+    PageResult<JobCardDO> getJobCardPage(JobCardPageReqVO pageReqVO);
+
+    Boolean insertJobCardByCabinet(JobCardDO jobCardDO);
+
+}

+ 105 - 94
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/jobcard/JobCardServiceImpl.java

@@ -1,94 +1,105 @@
-package cn.iocoder.yudao.module.iscs.service.jobcard;
-
-import cn.hutool.core.collection.CollUtil;
-import org.springframework.stereotype.Service;
-import jakarta.annotation.Resource;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.*;
-import cn.iocoder.yudao.module.iscs.controller.admin.jobcard.vo.*;
-import cn.iocoder.yudao.module.iscs.dal.dataobject.jobcard.JobCardDO;
-import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.common.pojo.PageParam;
-import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
-
-import cn.iocoder.yudao.module.iscs.dal.mysql.jobcard.JobCardMapper;
-
-import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
-import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList;
-import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.diffList;
-import static cn.iocoder.yudao.module.iscs.enums.ErrorCodeConstants.*;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-
-/**
- * 工作卡 Service 实现类
- *
- * @author 芋道源码
- */
-@Service
-@Validated
-public class JobCardServiceImpl extends ServiceImpl<JobCardMapper, JobCardDO> implements JobCardService {
-
-    @Resource
-    private JobCardMapper jobCardMapper;
-
-    @Override
-    public Long createJobCard(JobCardSaveReqVO createReqVO) {
-        // 插入
-        JobCardDO jobCard = BeanUtils.toBean(createReqVO, JobCardDO.class);
-        jobCardMapper.insert(jobCard);
-
-        // 返回
-        return jobCard.getId();
-    }
-
-    @Override
-    public void updateJobCard(JobCardSaveReqVO updateReqVO) {
-        // 校验存在
-        validateJobCardExists(updateReqVO.getId());
-        // 更新
-        JobCardDO updateObj = BeanUtils.toBean(updateReqVO, JobCardDO.class);
-        jobCardMapper.updateById(updateObj);
-    }
-
-    @Override
-    public void deleteJobCard(Long id) {
-        // 校验存在
-        validateJobCardExists(id);
-        // 删除
-        jobCardMapper.deleteById(id);
-    }
-
-    @Override
-        public void deleteJobCardListByIds(List<Long> ids) {
-        // 校验存在
-        validateJobCardExists(ids);
-        // 删除
-        jobCardMapper.deleteByIds(ids);
-        }
-
-    private void validateJobCardExists(List<Long> ids) {
-        List<JobCardDO> list = jobCardMapper.selectByIds(ids);
-        if (CollUtil.isEmpty(list) || list.size() != ids.size()) {
-            throw exception(JOB_CARD_NOT_EXISTS);
-        }
-    }
-
-    private void validateJobCardExists(Long id) {
-        if (jobCardMapper.selectById(id) == null) {
-            throw exception(JOB_CARD_NOT_EXISTS);
-        }
-    }
-
-    @Override
-    public JobCardDO getJobCard(Long id) {
-        return jobCardMapper.selectById(id);
-    }
-
-    @Override
-    public PageResult<JobCardDO> getJobCardPage(JobCardPageReqVO pageReqVO) {
-        return jobCardMapper.selectPage(pageReqVO);
-    }
-
-}
+package cn.iocoder.yudao.module.iscs.service.jobcard;
+
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.lang.Assert;
+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.jobcard.vo.JobCardPageReqVO;
+import cn.iocoder.yudao.module.iscs.controller.admin.jobcard.vo.JobCardSaveReqVO;
+import cn.iocoder.yudao.module.iscs.dal.dataobject.jobcard.JobCardDO;
+import cn.iocoder.yudao.module.iscs.dal.mysql.jobcard.JobCardMapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import jakarta.annotation.Resource;
+import org.apache.commons.lang3.StringUtils;
+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.JOB_CARD_NOT_EXISTS;
+
+/**
+ * 工作卡 Service 实现类
+ *
+ * @author 芋道源码
+ */
+@Service
+@Validated
+public class JobCardServiceImpl extends ServiceImpl<JobCardMapper, JobCardDO> implements JobCardService {
+
+    @Resource
+    private JobCardMapper jobCardMapper;
+
+    @Override
+    public Long createJobCard(JobCardSaveReqVO createReqVO) {
+        // 插入
+        JobCardDO jobCard = BeanUtils.toBean(createReqVO, JobCardDO.class);
+        jobCardMapper.insert(jobCard);
+
+        // 返回
+        return jobCard.getId();
+    }
+
+    @Override
+    public void updateJobCard(JobCardSaveReqVO updateReqVO) {
+        // 校验存在
+        validateJobCardExists(updateReqVO.getId());
+        // 更新
+        JobCardDO updateObj = BeanUtils.toBean(updateReqVO, JobCardDO.class);
+        jobCardMapper.updateById(updateObj);
+    }
+
+    @Override
+    public void deleteJobCard(Long id) {
+        // 校验存在
+        validateJobCardExists(id);
+        // 删除
+        jobCardMapper.deleteById(id);
+    }
+
+    @Override
+        public void deleteJobCardListByIds(List<Long> ids) {
+        // 校验存在
+        validateJobCardExists(ids);
+        // 删除
+        jobCardMapper.deleteByIds(ids);
+        }
+
+    private void validateJobCardExists(List<Long> ids) {
+        List<JobCardDO> list = jobCardMapper.selectByIds(ids);
+        if (CollUtil.isEmpty(list) || list.size() != ids.size()) {
+            throw exception(JOB_CARD_NOT_EXISTS);
+        }
+    }
+
+    private void validateJobCardExists(Long id) {
+        if (jobCardMapper.selectById(id) == null) {
+            throw exception(JOB_CARD_NOT_EXISTS);
+        }
+    }
+
+    @Override
+    public JobCardDO getJobCard(Long id) {
+        return jobCardMapper.selectById(id);
+    }
+
+    @Override
+    public PageResult<JobCardDO> getJobCardPage(JobCardPageReqVO pageReqVO) {
+        return jobCardMapper.selectPage(pageReqVO);
+    }
+
+    @Override
+    public Boolean insertJobCardByCabinet(JobCardDO jobCardDO) {
+        Assert.isFalse(StringUtils.isBlank(jobCardDO.getCardNfc()), "请给我工卡的nfc!");
+        // 0.检查挂锁的nfc是否存在,存在就不允许添加
+        List<JobCardDO> list = list(Wrappers.<JobCardDO>lambdaQuery()
+                .eq(JobCardDO::getCardNfc, jobCardDO.getCardNfc()));
+        Assert.isTrue(list.isEmpty(), "该nfc的工卡已存在!");
+        jobCardDO.setCardType(jobCardDO.getCardType() != null ? jobCardDO.getCardType() : 2);
+        return save(jobCardDO);
+    }
+
+
+}