Quellcode durchsuchen

新增作业票查询和作业票的关联数据

车车 vor 11 Monaten
Ursprung
Commit
b728eaed00

+ 11 - 4
ktg-iscs/src/main/java/com/ktg/iscs/controller/HardwareApiController.java

@@ -5,15 +5,13 @@ import com.ktg.common.core.controller.BaseController;
 import com.ktg.common.enums.BusinessType;
 import com.ktg.common.pojo.CommonResult;
 import com.ktg.iscs.domain.dto.hardwareApi.*;
+import com.ktg.iscs.domain.vo.hardwareApi.JobTicketVO;
 import com.ktg.iscs.service.HardwareApiService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.v3.oas.annotations.Parameter;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 
@@ -106,4 +104,13 @@ public class HardwareApiController extends BaseController
     }
 
 
+    @ApiOperation("获取作业票和关联数据")
+    @Parameter(name = "ticketId", description = "ticketId")
+    @GetMapping(value = "/selectTicketDetailById")
+    public CommonResult<JobTicketVO> selectTicketDetailById(Long ticketId)
+    {
+        return CommonResult.success(hardwareApiService.selectTicketDetailById(ticketId));
+    }
+
+
 }

+ 58 - 0
ktg-iscs/src/main/java/com/ktg/iscs/domain/vo/hardwareApi/JobTicketKeyVO.java

@@ -0,0 +1,58 @@
+package com.ktg.iscs.domain.vo.hardwareApi;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ktg.common.core.domain.model.BaseBean;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * 作业票钥匙对象 is_job_ticket_key
+ *
+ * @author cgj
+ * @date 2024-11-19
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class JobTicketKeyVO extends BaseBean
+{
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "记录ID")
+    @TableId(type = IdType.AUTO)
+    private Long recordId;
+
+    @ApiModelProperty(value = "作业票ID")
+    private Long ticketId;
+
+    @ApiModelProperty(value = "钥匙ID")
+    private Long keyId;
+
+    @ApiModelProperty(value = "取出硬件ID")
+    private Long fromHardwareId;
+
+    @ApiModelProperty(value = "归还硬件ID")
+    private Long toHardwareId;
+
+    @ApiModelProperty(value = "取出时间")
+    @JsonFormat(timezone="GMT+8", pattern = "yyyy-MM-dd")
+    private Date collectTime;
+
+    @ApiModelProperty(value = "归还时间")
+    @JsonFormat(timezone="GMT+8", pattern = "yyyy-MM-dd")
+    private Date giveBackTime;
+
+    @ApiModelProperty(value = "钥匙状态(0-待取出 1-已取出 2-已归还)")
+    private String keyStatus;
+
+    @ApiModelProperty(value = "删除标志(0代表存在 2代表删除)")
+    private String delFlag;
+
+    @ApiModelProperty(value = "作业锁类型(0-上锁 1-解锁)")
+    private Integer ticketType;
+
+}

+ 47 - 0
ktg-iscs/src/main/java/com/ktg/iscs/domain/vo/hardwareApi/JobTicketLockVO.java

@@ -0,0 +1,47 @@
+package com.ktg.iscs.domain.vo.hardwareApi;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.ktg.common.core.domain.model.BaseBean;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 作业票关联锁对象 is_job_ticket_lock
+ *
+ * @author cgj
+ * @date 2024-11-18
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class JobTicketLockVO extends BaseBean
+{
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "记录ID")
+    @TableId(type = IdType.AUTO)
+    private Long recordId;
+
+    @ApiModelProperty(value = "作业票ID")
+    private Long ticketId;
+
+    @ApiModelProperty(value = "锁具ID")
+    private Long lockId;
+
+    @ApiModelProperty(value = "取出硬件ID")
+    private Long fromHardwareId;
+
+    @ApiModelProperty(value = "归还硬件ID")
+    private Long toHardwareId;
+
+    @ApiModelProperty(value = "隔离点ID")
+    private Long isolationPointId;
+
+    @ApiModelProperty(value = "锁具状态(0-待取出 1-未上锁 2-已上锁 3-待解锁 4-已解锁 5-已归还))")
+    private String lockStatus;
+
+    @ApiModelProperty(value = "删除标志(0代表存在 2代表删除)")
+    private String delFlag;
+
+}

+ 69 - 0
ktg-iscs/src/main/java/com/ktg/iscs/domain/vo/hardwareApi/JobTicketLocksetVO.java

@@ -0,0 +1,69 @@
+package com.ktg.iscs.domain.vo.hardwareApi;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ktg.common.annotation.Excel;
+import com.ktg.common.core.domain.model.BaseBean;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * 作业票锁具对象 is_job_ticket_lockset
+ *
+ * @author cgj
+ * @date 2024-11-19
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class JobTicketLocksetVO extends BaseBean
+{
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "记录ID")
+    @TableId(type = IdType.AUTO)
+    private Long recordId;
+
+    @ApiModelProperty(value = "作业票ID")
+    private Long jobTicketId;
+
+    @ApiModelProperty(value = "隔离点ID")
+    private Long pointId;
+
+    @ApiModelProperty(value = "锁具ID")
+    private Long locksetId;
+
+    @ApiModelProperty(value = "取出硬件ID")
+    private Long fromHardwareId;
+
+    @ApiModelProperty(value = "归还硬件ID")
+    private Long toHardwareId;
+
+    @ApiModelProperty(value = "所需锁具类型ID")
+    @Excel(name = "所需锁具类型ID")
+    private Long locksetTypeId;
+
+    @ApiModelProperty(value = "附件状态(0待取出(点击开始作业)" +
+            "1已取出(锁具出柜子)" +
+            "2待使用(上锁钥匙出机柜)" +
+            "3使用中(上锁钥匙还机柜)" +
+            "4待拆除(解锁钥匙出机柜)" +
+            "5待归还(解锁钥匙还机柜,但锁具为归还)" +
+            "6已归还(锁具还物资柜))")
+    private String locksetStatus;
+
+    @ApiModelProperty(value = "取出时间")
+    @JsonFormat(timezone="GMT+8", pattern = "yyyy-MM-dd")
+    private Date collectTime;
+
+    @ApiModelProperty(value = "归还时间")
+    @JsonFormat(timezone="GMT+8", pattern = "yyyy-MM-dd")
+    private Date giveBackTime;
+
+    @ApiModelProperty(value = "删除标志(0代表存在 2代表删除)")
+    private String delFlag;
+
+}

+ 74 - 0
ktg-iscs/src/main/java/com/ktg/iscs/domain/vo/hardwareApi/JobTicketVO.java

@@ -0,0 +1,74 @@
+package com.ktg.iscs.domain.vo.hardwareApi;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ktg.common.core.domain.model.BaseBean;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 作业票对象 is_job_ticket
+ *
+ * @author cgj
+ * @date 2024-10-18
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class JobTicketVO extends BaseBean
+{
+    private static final long serialVersionUID = 1L;
+
+    @TableId(type = IdType.AUTO)
+    @ApiModelProperty(value = "作业票ID")
+    private Long ticketId;
+
+    @ApiModelProperty(value = "作业票编号")
+    private String ticketCode;
+
+    @ApiModelProperty(value = "作业票名称")
+    private String ticketName;
+
+    @ApiModelProperty(value = "所属车间ID")
+    private Long workshopId;
+
+    @ApiModelProperty(value = "所属区域ID")
+    private Long workareaId;
+
+    @ApiModelProperty(value = "所属SOPID")
+    private Long sopId;
+
+    @ApiModelProperty(value = "作业票类型")
+    private String ticketType;
+
+    @ApiModelProperty(value = "作业票详情")
+    private String ticketContent;
+
+    @ApiModelProperty(value = "作业票状态(0未开始 1待上锁 2进行中 3待解锁 4已结束)")
+    private String ticketStatus;
+
+    @ApiModelProperty(value = "作业票开始时间")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date ticketStartTime;
+
+    @ApiModelProperty(value = "作业票结束时间")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date ticketEndTime;
+
+    @ApiModelProperty(value = "删除标志(0代表存在 2代表删除)")
+    private String delFlag;
+
+    @ApiModelProperty(value = "作业票钥匙对象")
+    private List<JobTicketKeyVO> ticketKeyVOList;
+
+    @ApiModelProperty(value = "作业票关联锁对象")
+    private List<JobTicketLockVO> ticketLockVOList;
+
+    @ApiModelProperty(value = "作业票锁具对象")
+    private List<JobTicketLocksetVO> ticketLocksetVOList;
+
+}

+ 10 - 0
ktg-iscs/src/main/java/com/ktg/iscs/service/HardwareApiService.java

@@ -1,6 +1,7 @@
 package com.ktg.iscs.service;
 
 import com.ktg.iscs.domain.dto.hardwareApi.*;
+import com.ktg.iscs.domain.vo.hardwareApi.JobTicketVO;
 
 import java.util.List;
 
@@ -81,4 +82,13 @@ public interface HardwareApiService {
      */
     Boolean updateLocksetReturn(ReturnLocksetDTO dto);
 
+
+    /**
+     * 获取作业票和关联数据
+     * @param ticketId
+     * @return
+     */
+    JobTicketVO selectTicketDetailById(Long ticketId);
+
+
 }

+ 31 - 0
ktg-iscs/src/main/java/com/ktg/iscs/service/impl/HardwareApiServiceImpl.java

@@ -2,11 +2,16 @@ package com.ktg.iscs.service.impl;
 
 import cn.hutool.core.lang.Assert;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.ktg.common.utils.bean.BeanUtils;
 import com.ktg.iscs.domain.*;
 import com.ktg.iscs.domain.dto.hardwareApi.*;
 import com.ktg.iscs.domain.enums.KeyStatusEnum;
 import com.ktg.iscs.domain.enums.LockStatusEnum;
 import com.ktg.iscs.domain.enums.LocksetStatusEnum;
+import com.ktg.iscs.domain.vo.hardwareApi.JobTicketKeyVO;
+import com.ktg.iscs.domain.vo.hardwareApi.JobTicketLockVO;
+import com.ktg.iscs.domain.vo.hardwareApi.JobTicketLocksetVO;
+import com.ktg.iscs.domain.vo.hardwareApi.JobTicketVO;
 import com.ktg.iscs.service.*;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -372,4 +377,30 @@ public class HardwareApiServiceImpl implements HardwareApiService {
         }
         return true;
     }
+
+    @Override
+    public JobTicketVO selectTicketDetailById(Long ticketId) {
+        Assert.notNull(ticketId, "作业票id不可为空!");
+        // 1.查询作业票信息
+        IsJobTicket isJobTicket = isJobTicketService.getById(ticketId);
+        Assert.notNull(isJobTicket, "作业票信息丢失!");
+        JobTicketVO jobTicketVO = BeanUtils.toBean(isJobTicket, JobTicketVO.class);
+        // 2.查询钥匙数据
+        List<IsJobTicketKey> ticketKeyList = iIsJobTicketKeyService.list(Wrappers.<IsJobTicketKey>lambdaQuery()
+                .eq(IsJobTicketKey::getTicketId, ticketId));
+        List<JobTicketKeyVO> ticketKeyVOList = BeanUtils.toBean(ticketKeyList, JobTicketKeyVO.class);
+        // 3.查询挂锁数据
+        List<IsJobTicketLock> jobTicketLockList = iIsJobTicketLockService.list(Wrappers.<IsJobTicketLock>lambdaQuery()
+                .eq(IsJobTicketLock::getTicketId, ticketId));
+        List<JobTicketLockVO> ticketLockVOList = BeanUtils.toBean(jobTicketLockList, JobTicketLockVO.class);
+        // 4.查询辅件数据
+        List<IsJobTicketLockset> jobTicketLocksetList = iIsJobTicketLocksetService.list(Wrappers.<IsJobTicketLockset>lambdaQuery()
+                .eq(IsJobTicketLockset::getJobTicketId, ticketId));
+        List<JobTicketLocksetVO> ticketLocksetVOList = BeanUtils.toBean(jobTicketLocksetList, JobTicketLocksetVO.class);
+        // 5.组装数据
+        jobTicketVO.setTicketKeyVOList(ticketKeyVOList);
+        jobTicketVO.setTicketLockVOList(ticketLockVOList);
+        jobTicketVO.setTicketLocksetVOList(ticketLocksetVOList);
+        return jobTicketVO;
+    }
 }