浏览代码

徐明浩

徐明浩 3 年之前
父节点
当前提交
210e7cacbb
共有 19 个文件被更改,包括 3263 次插入221 次删除
  1. 99 0
      master/src/main/java/com/ruoyi/project/ticket/controller/TDelayPermitController.java
  2. 97 0
      master/src/main/java/com/ruoyi/project/ticket/controller/TDelayPermitOtherController.java
  3. 40 21
      master/src/main/java/com/ruoyi/project/ticket/controller/TPermitRelationController.java
  4. 18 1
      master/src/main/java/com/ruoyi/project/ticket/domain/PermitRelation.java
  5. 119 0
      master/src/main/java/com/ruoyi/project/ticket/domain/TDelayPermit.java
  6. 562 0
      master/src/main/java/com/ruoyi/project/ticket/domain/TDelayPermitOther.java
  7. 562 0
      master/src/main/java/com/ruoyi/project/ticket/domain/TDelayPermitVo.java
  8. 67 0
      master/src/main/java/com/ruoyi/project/ticket/mapper/TDelayPermitMapper.java
  9. 65 0
      master/src/main/java/com/ruoyi/project/ticket/mapper/TDelayPermitOtherMapper.java
  10. 64 0
      master/src/main/java/com/ruoyi/project/ticket/service/ITDelayPermitOtherService.java
  11. 66 0
      master/src/main/java/com/ruoyi/project/ticket/service/ITDelayPermitService.java
  12. 93 0
      master/src/main/java/com/ruoyi/project/ticket/service/impl/TDelayPermitOtherServiceImpl.java
  13. 98 0
      master/src/main/java/com/ruoyi/project/ticket/service/impl/TDelayPermitServiceImpl.java
  14. 103 0
      master/src/main/resources/mybatis/ticket/TDelayPermitMapper.xml
  15. 254 0
      master/src/main/resources/mybatis/ticket/TDelayPermitOtherMapper.xml
  16. 36 0
      ui/src/api/invoicing/delaypermit.js
  17. 53 0
      ui/src/api/invoicing/delaypermitother.js
  18. 844 187
      ui/src/views/invoicing/delaypermit/index.vue
  19. 23 12
      ui/src/views/invoicing/ticketList/index.vue

+ 99 - 0
master/src/main/java/com/ruoyi/project/ticket/controller/TDelayPermitController.java

@@ -0,0 +1,99 @@
+package com.ruoyi.project.ticket.controller;
+
+import com.ruoyi.framework.aspectj.lang.annotation.Log;
+import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
+import com.ruoyi.framework.web.controller.BaseController;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.framework.web.page.TableDataInfo;
+import com.ruoyi.project.ticket.domain.TDelayPermit;
+import com.ruoyi.project.ticket.domain.TDelayPermitOther;
+import com.ruoyi.project.ticket.domain.TDelayPermitVo;
+import com.ruoyi.project.ticket.service.ITDelayPermitOtherService;
+import com.ruoyi.project.ticket.service.ITDelayPermitService;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 延期票主体对象Controller
+ *
+ * @author ruoyi
+ * @date 2021-12-23
+ */
+@RestController
+@RequestMapping("/ticket/delaypermits")
+public class TDelayPermitController extends BaseController {
+
+    @Autowired
+    private ITDelayPermitService tDelayPermitService;
+
+    @Autowired
+    private ITDelayPermitOtherService tDelayPermitOtherService;
+
+    /**
+     * 查询延期票主体对象列表
+     */
+    @PreAuthorize("@ss.hasPermi('ehs:permit:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(TDelayPermit tDelayPermit) {
+        startPage();
+        List<TDelayPermit> list = tDelayPermitService.selectTDelayPermitList(tDelayPermit);
+        return getDataTable(list);
+    }
+
+    /**
+     * 获取延期票主体对象详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('ehs:permit:query')")
+    @GetMapping(value = "/{vId}")
+    public AjaxResult getInfo(@PathVariable("vId") String vId) {
+        TDelayPermit tDelayPermit = tDelayPermitService.selectTDelayPermitById(Long.parseLong(vId));
+        List<TDelayPermitOther> tDelayPermitOthers = this.tDelayPermitOtherService.selectTDelayPermitOtherByIds(Long.parseLong(vId));
+        tDelayPermit.setOthers(tDelayPermitOthers);
+        return AjaxResult.success(tDelayPermit);
+    }
+
+    /**
+     * 新增延期票主体对象
+     */
+    @Log(title = "延期票主体对象", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody TDelayPermitVo vo) {
+        //TODO 保存延期票附属数据,返回附属ID
+        TDelayPermitOther other = new TDelayPermitOther();
+        BeanUtils.copyProperties(vo, other);
+        this.tDelayPermitOtherService.insertTDelayPermitOther(other);
+        //TODO 保存延期票主体数据,返回延期票ID
+        TDelayPermit delay = new TDelayPermit();
+        BeanUtils.copyProperties(vo, delay);
+        delay.setOtherId(other.getId());
+        if (delay.getvId() == null) {
+            delay.setvId(this.tDelayPermitService.selectVid());
+        }
+        this.tDelayPermitService.insertTDelayPermit(delay);
+        return AjaxResult.success(delay.getvId());
+    }
+
+    /**
+     * 修改延期票主体对象
+     */
+    @PreAuthorize("@ss.hasPermi('ehs:permit:edit')")
+    @Log(title = "延期票主体对象", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody TDelayPermit tDelayPermit) {
+        return toAjax(tDelayPermitService.updateTDelayPermit(tDelayPermit));
+    }
+
+    /**
+     * 删除延期票主体对象
+     */
+    @PreAuthorize("@ss.hasPermi('ehs:permit:remove')")
+    @Log(title = "延期票主体对象", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids) {
+        return toAjax(tDelayPermitService.deleteTDelayPermitByIds(ids));
+    }
+}

+ 97 - 0
master/src/main/java/com/ruoyi/project/ticket/controller/TDelayPermitOtherController.java

@@ -0,0 +1,97 @@
+package com.ruoyi.project.ticket.controller;
+
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.framework.aspectj.lang.annotation.Log;
+import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
+import com.ruoyi.framework.web.controller.BaseController;
+import com.ruoyi.framework.web.domain.AjaxResult;
+import com.ruoyi.framework.web.page.TableDataInfo;
+import com.ruoyi.project.ticket.domain.TDelayPermitOther;
+import com.ruoyi.project.ticket.service.ITDelayPermitOtherService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 延期票附属对象Controller
+ *
+ * @author ruoyi
+ * @date 2021-12-23
+ */
+@RestController
+@RequestMapping("/ehs/other")
+public class TDelayPermitOtherController extends BaseController
+{
+    @Autowired
+    private ITDelayPermitOtherService tDelayPermitOtherService;
+
+    /**
+     * 查询延期票附属对象列表
+     */
+    @PreAuthorize("@ss.hasPermi('ehs:other:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(TDelayPermitOther tDelayPermitOther)
+    {
+        startPage();
+        List<TDelayPermitOther> list = tDelayPermitOtherService.selectTDelayPermitOtherList(tDelayPermitOther);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出延期票附属对象列表
+     */
+    @PreAuthorize("@ss.hasPermi('ehs:other:export')")
+    @Log(title = "延期票附属对象", businessType = BusinessType.EXPORT)
+    @GetMapping("/export")
+    public AjaxResult export(TDelayPermitOther tDelayPermitOther)
+    {
+        List<TDelayPermitOther> list = tDelayPermitOtherService.selectTDelayPermitOtherList(tDelayPermitOther);
+        ExcelUtil<TDelayPermitOther> util = new ExcelUtil<TDelayPermitOther>(TDelayPermitOther.class);
+        return util.exportExcel(list, "other");
+    }
+
+    /**
+     * 获取延期票附属对象详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('ehs:other:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return AjaxResult.success(tDelayPermitOtherService.selectTDelayPermitOtherById(id));
+    }
+
+    /**
+     * 新增延期票附属对象
+     */
+    @PreAuthorize("@ss.hasPermi('ehs:other:add')")
+    @Log(title = "延期票附属对象", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody TDelayPermitOther tDelayPermitOther)
+    {
+        return toAjax(tDelayPermitOtherService.insertTDelayPermitOther(tDelayPermitOther));
+    }
+
+    /**
+     * 修改延期票附属对象
+     */
+    @PreAuthorize("@ss.hasPermi('ehs:other:edit')")
+    @Log(title = "延期票附属对象", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody TDelayPermitOther tDelayPermitOther)
+    {
+        return toAjax(tDelayPermitOtherService.updateTDelayPermitOther(tDelayPermitOther));
+    }
+
+    /**
+     * 删除延期票附属对象
+     */
+    @PreAuthorize("@ss.hasPermi('ehs:other:remove')")
+    @Log(title = "延期票附属对象", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(tDelayPermitOtherService.deleteTDelayPermitOtherByIds(ids));
+    }
+}

+ 40 - 21
master/src/main/java/com/ruoyi/project/ticket/controller/TPermitRelationController.java

@@ -3,7 +3,9 @@ package com.ruoyi.project.ticket.controller;
 import com.ruoyi.framework.web.controller.BaseController;
 import com.ruoyi.framework.web.page.TableDataInfo;
 import com.ruoyi.project.ticket.domain.PermitRelation;
+import com.ruoyi.project.ticket.domain.TDelayPermit;
 import com.ruoyi.project.ticket.domain.THazardWorkPermit;
+import com.ruoyi.project.ticket.service.ITDelayPermitService;
 import com.ruoyi.project.ticket.service.ITPermitRelationService;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -27,6 +29,9 @@ public class TPermitRelationController extends BaseController {
     @Autowired
     private ITPermitRelationService itPermitRelationService;
 
+    @Autowired
+    private ITDelayPermitService itDelayPermitService;
+
     /**
      * 查询票据列表
      */
@@ -35,33 +40,47 @@ public class TPermitRelationController extends BaseController {
         startPage();
         List<PermitRelation> list = itPermitRelationService.selectPermitRelations(permitRelation);
         for (PermitRelation relation : list) {
+            // 替换工作内容数据
             if (relation.getCbWorkContent() != null) {
                 relation.setbWorkContent(relation.getCbWorkContent());
             }
-            if (relation.getChVNoOne() != null) {
-                relation.sethVNoOne(relation.getChVNoOne());
+            //TODO 获取延期票次数
+            if (relation.getaId() != null) {
+                handle(relation, 0);
             }
-            if (relation.gethVNoOne() != null) {
-                List<PermitRelation> l = new ArrayList<>();
-                PermitRelation tt = new PermitRelation();
-                BeanUtils.copyProperties(relation, tt);
-                l.add(tt);
-                l.add(tt);
-                l.add(tt);
-                l.add(tt);
-                l.add(tt);
-                int i = 1;
-                List<PermitRelation> l2 = new ArrayList<>();
-                for (PermitRelation th : l) {
-                    PermitRelation tt2 = new PermitRelation();
-                    BeanUtils.copyProperties(th, tt2);
-                    tt2.sethVNoOne(th.gethVNoOne() + "-" + i++);
-                    l2.add(tt2);
-                }
-                relation.sethVNoOne("是");
-                relation.setChildren(l2);
+            if (relation.getcId() != null) {
+                handle(relation, 1);
             }
         }
         return getDataTable(list);
     }
+
+    private void handle(PermitRelation p, int type) {
+        TDelayPermit tDelayPermit = new TDelayPermit();
+        if (type == 0) {
+            tDelayPermit.setaId(p.getaId());
+        } else {
+            tDelayPermit.setcId(p.getcId());
+        }
+        List<TDelayPermit> tDelayPermits = this.itDelayPermitService.selectDelayCount(tDelayPermit);
+        if (tDelayPermits.size() > 0) {
+            p.setDelayCount(tDelayPermits.size() + "");
+            int i = 1;
+            List<PermitRelation> children = new ArrayList<>();
+            for (TDelayPermit t : tDelayPermits) {
+                PermitRelation tt2 = new PermitRelation();
+                BeanUtils.copyProperties(p, tt2);
+                tt2.setDelayCount(t.getvId() + "-" + i++);
+                tt2.setDelayNo(t.getvId() + "");
+                children.add(tt2);
+                if (i == 6) {
+                    i = 1;
+                }
+            }
+            p.setChildren(children);
+        } else {
+            p.setDelayCount("0");
+        }
+
+    }
 }

+ 18 - 1
master/src/main/java/com/ruoyi/project/ticket/domain/PermitRelation.java

@@ -12,9 +12,26 @@ public class PermitRelation extends BaseEntity {
     private String cbWorkContent;
     private String hVNoOne;
     private String chVNoOne;
-
+    private String delayCount;
+    private String delayNo;
     private List<PermitRelation> children;
 
+    public String getDelayCount() {
+        return delayCount;
+    }
+
+    public void setDelayCount(String delayCount) {
+        this.delayCount = delayCount;
+    }
+
+    public String getDelayNo() {
+        return delayNo;
+    }
+
+    public void setDelayNo(String delayNo) {
+        this.delayNo = delayNo;
+    }
+
     public List<PermitRelation> getChildren() {
         return children;
     }

+ 119 - 0
master/src/main/java/com/ruoyi/project/ticket/domain/TDelayPermit.java

@@ -0,0 +1,119 @@
+package com.ruoyi.project.ticket.domain;
+
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import com.ruoyi.framework.web.domain.BaseEntity;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+
+import java.util.List;
+
+/**
+ * 延期票主体对象对象 t_delay_permit
+ *
+ * @author ruoyi
+ * @date 2021-12-23
+ */
+public class TDelayPermit extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 主键ID */
+    private Long id;
+
+    /** 延期票ID */
+    @Excel(name = "延期票ID")
+    private Long vId;
+
+    /** 危害工作许可证ID */
+    @Excel(name = "危害工作许可证ID")
+    private Long aId;
+
+    /** 动火工作许可证ID */
+    @Excel(name = "动火工作许可证ID")
+    private Long hId;
+
+    /** 限制性空间进入许可证ID */
+    @Excel(name = "限制性空间进入许可证ID")
+    private Long cId;
+
+    /** 延期票附属数据ID */
+    @Excel(name = "延期票附属数据ID")
+    private Long otherId;
+
+    private List<TDelayPermitOther> others;
+
+    public List<TDelayPermitOther> getOthers() {
+        return others;
+    }
+
+    public void setOthers(List<TDelayPermitOther> others) {
+        this.others = others;
+    }
+
+    public void setId(Long id)
+    {
+        this.id = id;
+    }
+
+    public Long getId()
+    {
+        return id;
+    }
+    public void setvId(Long vId)
+    {
+        this.vId = vId;
+    }
+
+    public Long getvId()
+    {
+        return vId;
+    }
+    public void setaId(Long aId)
+    {
+        this.aId = aId;
+    }
+
+    public Long getaId()
+    {
+        return aId;
+    }
+    public void sethId(Long hId)
+    {
+        this.hId = hId;
+    }
+
+    public Long gethId()
+    {
+        return hId;
+    }
+    public void setcId(Long cId)
+    {
+        this.cId = cId;
+    }
+
+    public Long getcId()
+    {
+        return cId;
+    }
+    public void setOtherId(Long otherId)
+    {
+        this.otherId = otherId;
+    }
+
+    public Long getOtherId()
+    {
+        return otherId;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("vId", getvId())
+            .append("aId", getaId())
+            .append("hId", gethId())
+            .append("cId", getcId())
+            .append("otherId", getOtherId())
+            .toString();
+    }
+}

+ 562 - 0
master/src/main/java/com/ruoyi/project/ticket/domain/TDelayPermitOther.java

@@ -0,0 +1,562 @@
+package com.ruoyi.project.ticket.domain;
+
+import java.sql.Date;
+import java.sql.Timestamp;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import com.ruoyi.framework.web.domain.BaseEntity;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import org.springframework.format.annotation.DateTimeFormat;
+
+/**
+ * 延期票附属对象对象 t_delay_permit_other
+ *
+ * @author ruoyi
+ * @date 2021-12-23
+ */
+public class TDelayPermitOther extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 附属主键ID
+     */
+    private Long id;
+
+    /**
+     * 开始时间
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date startTime;
+
+    /**
+     * 结束时间
+     */
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd'T'HH:mm:ss")
+    private Date endTime;
+
+    /**
+     * 危害不变G签名
+     */
+    @Excel(name = "危害不变G签名")
+    private String aGSign;
+
+    /**
+     * 危害不变G签名时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @Excel(name = "危害不变G签名时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date aGDate;
+
+    /**
+     * D栏的安全措施已重新检查及重新批准签名
+     */
+    @Excel(name = "D栏的安全措施已重新检查及重新批准签名")
+    private String aHSign;
+
+    /**
+     * D栏的安全措施已重新检查及重新批准签名时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @Excel(name = "D栏的安全措施已重新检查及重新批准签名时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date aHDate;
+
+    /**
+     * 授权的维修主管签名
+     */
+    @Excel(name = "授权的维修主管签名")
+    private String aI1aSign;
+
+    /**
+     * 授权的维修主管签名时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @Excel(name = "授权的维修主管签名时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date aI1aDate;
+
+    /**
+     * 安全协调员签名
+     */
+    @Excel(name = "安全协调员签名")
+    private String aA4Sign;
+
+    /**
+     * 安全协调员签名时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @Excel(name = "安全协调员签名时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date aA4Date;
+
+    /**
+     * 授权的装置维修工人签名
+     */
+    @Excel(name = "授权的装置维修工人签名")
+    private String aI1bSign;
+
+    /**
+     * 授权的装置维修工人签名时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @Excel(name = "授权的装置维修工人签名时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date aI1bDate;
+
+    /**
+     * F栏安全措施已实施签名
+     */
+    @Excel(name = "F栏安全措施已实施签名")
+    private String aKSign;
+
+    /**
+     * F栏安全措施已实施签名时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @Excel(name = "F栏安全措施已实施签名时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date aKDate;
+
+    /**
+     * 安全监护人签名时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @Excel(name = "安全监护人签名时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date aE3StartTime;
+
+    /**
+     * 安全监护人签名时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @Excel(name = "安全监护人签名时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date aE3EndTime;
+
+    /**
+     * 安全监护人签名
+     */
+    @Excel(name = "安全监护人签名")
+    private String aE3Sign;
+
+    /**
+     * 安全监护人签名时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @Excel(name = "安全监护人签名时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date aE3Date;
+
+
+    /**
+     * 安全监护人签名时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @Excel(name = "安全监护人签名时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date hE3StartTime;
+
+    /**
+     * 安全监护人签名时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @Excel(name = "安全监护人签名时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date hE3EndTime;
+
+    /**
+     * 动火监护人签名
+     */
+    @Excel(name = "动火监护人签名")
+    private String hE3Sign;
+
+    /**
+     * 动火监护人签名时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @Excel(name = "动火监护人签名时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date hE3Date;
+
+    /**
+     * D5.1签名
+     */
+    @Excel(name = "D5.1签名")
+    private String h51Sign;
+
+    /**
+     * D5.1签名时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @Excel(name = "D5.1签名时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date h51Date;
+
+    /**
+     * D5.2签名
+     */
+    @Excel(name = "D5.2签名")
+    private String h52Sign;
+
+    /**
+     * D5.2签名时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @Excel(name = "D5.2签名时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date h52Date;
+
+
+    /**
+     * 安全监护人签名时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @Excel(name = "安全监护人签名时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date cI2StartTime1;
+
+    /**
+     * 安全监护人签名时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @Excel(name = "安全监护人签名时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date cI2EndTime1;
+
+    /**
+     * 安全监护人/观察员1签名
+     */
+    @Excel(name = "安全监护人/观察员1签名")
+    private String cI2Sign1;
+
+    /**
+     * 安全监护人/观察员1签名时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @Excel(name = "安全监护人/观察员1签名时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date cI2Date1;
+
+    /**
+     * 安全监护人签名时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @Excel(name = "安全监护人签名时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date cI2StartTime2;
+
+    /**
+     * 安全监护人签名时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @Excel(name = "安全监护人签名时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date cI2EndTime2;
+
+    /**
+     * 安全监护人/观察员2签名
+     */
+    @Excel(name = "安全监护人/观察员2签名")
+    private String cI2Sign2;
+
+    /**
+     * 安全监护人/观察员2签名时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @Excel(name = "安全监护人/观察员2签名时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date cI2Date2;
+
+    public Date getaE3StartTime() {
+        return aE3StartTime;
+    }
+
+    public void setaE3StartTime(Date aE3StartTime) {
+        this.aE3StartTime = aE3StartTime;
+    }
+
+    public Date getaE3EndTime() {
+        return aE3EndTime;
+    }
+
+    public void setaE3EndTime(Date aE3EndTime) {
+        this.aE3EndTime = aE3EndTime;
+    }
+
+    public Date gethE3StartTime() {
+        return hE3StartTime;
+    }
+
+    public void sethE3StartTime(Date hE3StartTime) {
+        this.hE3StartTime = hE3StartTime;
+    }
+
+    public Date gethE3EndTime() {
+        return hE3EndTime;
+    }
+
+    public void sethE3EndTime(Date hE3EndTime) {
+        this.hE3EndTime = hE3EndTime;
+    }
+
+    public Date getcI2StartTime2() {
+        return cI2StartTime2;
+    }
+
+    public void setcI2StartTime2(Date cI2StartTime2) {
+        this.cI2StartTime2 = cI2StartTime2;
+    }
+
+    public Date getcI2EndTime2() {
+        return cI2EndTime2;
+    }
+
+    public void setcI2EndTime2(Date cI2EndTime2) {
+        this.cI2EndTime2 = cI2EndTime2;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setStartTime(Date startTime) {
+        this.startTime = startTime;
+    }
+
+    public Date getStartTime() {
+        return startTime;
+    }
+
+    public void setEndTime(Date endTime) {
+        this.endTime = endTime;
+    }
+
+    public void setaGSign(String aGSign) {
+        this.aGSign = aGSign;
+    }
+
+    public String getaGSign() {
+        return aGSign;
+    }
+
+    public void setaGDate(Date aGDate) {
+        this.aGDate = aGDate;
+    }
+
+    public Date getaGDate() {
+        return aGDate;
+    }
+
+    public void setaHSign(String aHSign) {
+        this.aHSign = aHSign;
+    }
+
+    public String getaHSign() {
+        return aHSign;
+    }
+
+    public void setaHDate(Date aHDate) {
+        this.aHDate = aHDate;
+    }
+
+    public Date getaHDate() {
+        return aHDate;
+    }
+
+    public void setaI1aSign(String aI1aSign) {
+        this.aI1aSign = aI1aSign;
+    }
+
+    public String getaI1aSign() {
+        return aI1aSign;
+    }
+
+    public void setaI1aDate(Date aI1aDate) {
+        this.aI1aDate = aI1aDate;
+    }
+
+    public Date getaI1aDate() {
+        return aI1aDate;
+    }
+
+    public void setaA4Sign(String aA4Sign) {
+        this.aA4Sign = aA4Sign;
+    }
+
+    public String getaA4Sign() {
+        return aA4Sign;
+    }
+
+    public void setaA4Date(Date aA4Date) {
+        this.aA4Date = aA4Date;
+    }
+
+    public Date getaA4Date() {
+        return aA4Date;
+    }
+
+    public void setaI1bSign(String aI1bSign) {
+        this.aI1bSign = aI1bSign;
+    }
+
+    public String getaI1bSign() {
+        return aI1bSign;
+    }
+
+    public void setaI1bDate(Date aI1bDate) {
+        this.aI1bDate = aI1bDate;
+    }
+
+    public Date getaI1bDate() {
+        return aI1bDate;
+    }
+
+    public void setaKSign(String aKSign) {
+        this.aKSign = aKSign;
+    }
+
+    public String getaKSign() {
+        return aKSign;
+    }
+
+    public void setaKDate(Date aKDate) {
+        this.aKDate = aKDate;
+    }
+
+    public Date getaKDate() {
+        return aKDate;
+    }
+
+    public void setaE3Sign(String aE3Sign) {
+        this.aE3Sign = aE3Sign;
+    }
+
+    public String getaE3Sign() {
+        return aE3Sign;
+    }
+
+    public void setaE3Date(Date aE3Date) {
+        this.aE3Date = aE3Date;
+    }
+
+    public Date getaE3Date() {
+        return aE3Date;
+    }
+
+    public void sethE3Sign(String hE3Sign) {
+        this.hE3Sign = hE3Sign;
+    }
+
+    public String gethE3Sign() {
+        return hE3Sign;
+    }
+
+    public void sethE3Date(Date hE3Date) {
+        this.hE3Date = hE3Date;
+    }
+
+    public Date gethE3Date() {
+        return hE3Date;
+    }
+
+    public void setH51Sign(String h51Sign) {
+        this.h51Sign = h51Sign;
+    }
+
+    public String getH51Sign() {
+        return h51Sign;
+    }
+
+    public void setH51Date(Date h51Date) {
+        this.h51Date = h51Date;
+    }
+
+    public Date getH51Date() {
+        return h51Date;
+    }
+
+    public void setH52Sign(String h52Sign) {
+        this.h52Sign = h52Sign;
+    }
+
+    public String getH52Sign() {
+        return h52Sign;
+    }
+
+    public void setH52Date(Date h52Date) {
+        this.h52Date = h52Date;
+    }
+
+    public Date getH52Date() {
+        return h52Date;
+    }
+
+    public Date getcI2StartTime1() {
+        return cI2StartTime1;
+    }
+
+    public void setcI2StartTime1(Date cI2StartTime1) {
+        this.cI2StartTime1 = cI2StartTime1;
+    }
+
+    public Date getcI2EndTime1() {
+        return cI2EndTime1;
+    }
+
+    public void setcI2EndTime1(Date cI2EndTime1) {
+        this.cI2EndTime1 = cI2EndTime1;
+    }
+
+    public String getcI2Sign1() {
+        return cI2Sign1;
+    }
+
+    public void setcI2Sign1(String cI2Sign1) {
+        this.cI2Sign1 = cI2Sign1;
+    }
+
+    public Date getcI2Date1() {
+        return cI2Date1;
+    }
+
+    public void setcI2Date1(Date cI2Date1) {
+        this.cI2Date1 = cI2Date1;
+    }
+
+    public void setcI2Sign2(String cI2Sign2) {
+        this.cI2Sign2 = cI2Sign2;
+    }
+
+    public String getcI2Sign2() {
+        return cI2Sign2;
+    }
+
+    public void setcI2Date2(Date cI2Date2) {
+        this.cI2Date2 = cI2Date2;
+    }
+
+    public Date getcI2Date2() {
+        return cI2Date2;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
+                .append("id", getId())
+                .append("startTime", getStartTime())
+                .append("endTime", getEndTime())
+                .append("aGSign", getaGSign())
+                .append("aGDate", getaGDate())
+                .append("aHSign", getaHSign())
+                .append("aHDate", getaHDate())
+                .append("aI1aSign", getaI1aSign())
+                .append("aI1aDate", getaI1aDate())
+                .append("aA4Sign", getaA4Sign())
+                .append("aA4Date", getaA4Date())
+                .append("aI1bSign", getaI1bSign())
+                .append("aI1bDate", getaI1bDate())
+                .append("aKSign", getaKSign())
+                .append("aKDate", getaKDate())
+                .append("aE3Sign", getaE3Sign())
+                .append("aE3Date", getaE3Date())
+                .append("hE3Sign", gethE3Sign())
+                .append("hE3Date", gethE3Date())
+                .append("h51Sign", getH51Sign())
+                .append("h51Date", getH51Date())
+                .append("h52Sign", getH52Sign())
+                .append("h52Date", getH52Date())
+                .append("cI2Sign", getcI2Sign1())
+                .append("cI2Date", getcI2Date1())
+                .append("cI2Sign2", getcI2Sign2())
+                .append("cI2Date2", getcI2Date2())
+                .toString();
+    }
+}

+ 562 - 0
master/src/main/java/com/ruoyi/project/ticket/domain/TDelayPermitVo.java

@@ -0,0 +1,562 @@
+package com.ruoyi.project.ticket.domain;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.framework.aspectj.lang.annotation.Excel;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+public class TDelayPermitVo {
+    /**
+     * 主键ID
+     */
+    private Long id;
+
+    /**
+     * 延期票ID
+     */
+    private Long vId;
+
+    /**
+     * 危害工作许可证ID
+     */
+    private Long aId;
+
+    /**
+     * 动火工作许可证ID
+     */
+    private Long hId;
+
+    /**
+     * 限制性空间进入许可证ID
+     */
+    private Long cId;
+
+    /**
+     * 延期票附属数据ID
+     */
+    private Long otherId;
+
+    /**
+     * 开始时间
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd'T'HH:mm:ss")
+    private Date startTime;
+
+    /**
+     * 结束时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date endTime;
+
+    /**
+     * 危害不变G签名
+     */
+    private String aGSign;
+
+    /**
+     * 危害不变G签名时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date aGDate;
+
+    /**
+     * D栏的安全措施已重新检查及重新批准签名
+     */
+    private String aHSign;
+
+    /**
+     * D栏的安全措施已重新检查及重新批准签名时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date aHDate;
+
+    /**
+     * 授权的维修主管签名
+     */
+    @Excel(name = "授权的维修主管签名")
+    private String aI1aSign;
+
+    /**
+     * 授权的维修主管签名时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date aI1aDate;
+
+    /**
+     * 安全协调员签名
+     */
+    @Excel(name = "安全协调员签名")
+    private String aA4Sign;
+
+    /**
+     * 安全协调员签名时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date aA4Date;
+
+    /**
+     * 授权的装置维修工人签名
+     */
+    @Excel(name = "授权的装置维修工人签名")
+    private String aI1bSign;
+
+    /**
+     * 授权的装置维修工人签名时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date aI1bDate;
+
+    /**
+     * F栏安全措施已实施签名
+     */
+    @Excel(name = "F栏安全措施已实施签名")
+    private String aKSign;
+
+    /**
+     * F栏安全措施已实施签名时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date aKDate;
+
+    /**
+     * 安全监护人签名时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date aE3StartTime;
+
+    /**
+     * 安全监护人签名时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date aE3EndTime;
+
+    /**
+     * 安全监护人签名
+     */
+    @Excel(name = "安全监护人签名")
+    private String aE3Sign;
+
+    /**
+     * 安全监护人签名时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date aE3Date;
+
+
+    /**
+     * 安全监护人签名时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date hE3StartTime;
+
+    /**
+     * 安全监护人签名时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date hE3EndTime;
+
+    /**
+     * 动火监护人签名
+     */
+    @Excel(name = "动火监护人签名")
+    private String hE3Sign;
+
+    /**
+     * 动火监护人签名时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date hE3Date;
+
+    /**
+     * D5.1签名
+     */
+    @Excel(name = "D5.1签名")
+    private String h51Sign;
+
+    /**
+     * D5.1签名时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date h51Date;
+
+    /**
+     * D5.2签名
+     */
+    @Excel(name = "D5.2签名")
+    private String h52Sign;
+
+    /**
+     * D5.2签名时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date h52Date;
+
+
+    /**
+     * 安全监护人签名时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date cI2StartTime1;
+
+    /**
+     * 安全监护人签名时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date cI2EndTime1;
+
+    /**
+     * 安全监护人/观察员1签名
+     */
+    @Excel(name = "安全监护人/观察员1签名")
+    private String cI2Sign1;
+
+    /**
+     * 安全监护人/观察员1签名时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date cI2Date1;
+
+    /**
+     * 安全监护人签名时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date cI2StartTime2;
+
+    /**
+     * 安全监护人签名时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+    private Date cI2EndTime2;
+
+    /**
+     * 安全监护人/观察员2签名
+     */
+    private String cI2Sign2;
+
+    /**
+     * 安全监护人/观察员2签名时间
+     */
+    private Date cI2Date2;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getvId() {
+        return vId;
+    }
+
+    public void setvId(Long vId) {
+        this.vId = vId;
+    }
+
+    public Long getaId() {
+        return aId;
+    }
+
+    public void setaId(Long aId) {
+        this.aId = aId;
+    }
+
+    public Long gethId() {
+        return hId;
+    }
+
+    public void sethId(Long hId) {
+        this.hId = hId;
+    }
+
+    public Long getcId() {
+        return cId;
+    }
+
+    public void setcId(Long cId) {
+        this.cId = cId;
+    }
+
+    public Long getOtherId() {
+        return otherId;
+    }
+
+    public void setOtherId(Long otherId) {
+        this.otherId = otherId;
+    }
+
+    public Date getStartTime() {
+        return startTime;
+    }
+
+    public void setStartTime(Date startTime) {
+        this.startTime = startTime;
+    }
+
+    public Date getEndTime() {
+        return endTime;
+    }
+
+    public void setEndTime(Date endTime) {
+        this.endTime = endTime;
+    }
+
+    public String getaGSign() {
+        return aGSign;
+    }
+
+    public void setaGSign(String aGSign) {
+        this.aGSign = aGSign;
+    }
+
+    public Date getaGDate() {
+        return aGDate;
+    }
+
+    public void setaGDate(Date aGDate) {
+        this.aGDate = aGDate;
+    }
+
+    public String getaHSign() {
+        return aHSign;
+    }
+
+    public void setaHSign(String aHSign) {
+        this.aHSign = aHSign;
+    }
+
+    public Date getaHDate() {
+        return aHDate;
+    }
+
+    public void setaHDate(Date aHDate) {
+        this.aHDate = aHDate;
+    }
+
+    public String getaI1aSign() {
+        return aI1aSign;
+    }
+
+    public void setaI1aSign(String aI1aSign) {
+        this.aI1aSign = aI1aSign;
+    }
+
+    public Date getaI1aDate() {
+        return aI1aDate;
+    }
+
+    public void setaI1aDate(Date aI1aDate) {
+        this.aI1aDate = aI1aDate;
+    }
+
+    public String getaA4Sign() {
+        return aA4Sign;
+    }
+
+    public void setaA4Sign(String aA4Sign) {
+        this.aA4Sign = aA4Sign;
+    }
+
+    public Date getaA4Date() {
+        return aA4Date;
+    }
+
+    public void setaA4Date(Date aA4Date) {
+        this.aA4Date = aA4Date;
+    }
+
+    public String getaI1bSign() {
+        return aI1bSign;
+    }
+
+    public void setaI1bSign(String aI1bSign) {
+        this.aI1bSign = aI1bSign;
+    }
+
+    public Date getaI1bDate() {
+        return aI1bDate;
+    }
+
+    public void setaI1bDate(Date aI1bDate) {
+        this.aI1bDate = aI1bDate;
+    }
+
+    public String getaKSign() {
+        return aKSign;
+    }
+
+    public void setaKSign(String aKSign) {
+        this.aKSign = aKSign;
+    }
+
+    public Date getaKDate() {
+        return aKDate;
+    }
+
+    public void setaKDate(Date aKDate) {
+        this.aKDate = aKDate;
+    }
+
+    public Date getaE3StartTime() {
+        return aE3StartTime;
+    }
+
+    public void setaE3StartTime(Date aE3StartTime) {
+        this.aE3StartTime = aE3StartTime;
+    }
+
+    public Date getaE3EndTime() {
+        return aE3EndTime;
+    }
+
+    public void setaE3EndTime(Date aE3EndTime) {
+        this.aE3EndTime = aE3EndTime;
+    }
+
+    public String getaE3Sign() {
+        return aE3Sign;
+    }
+
+    public void setaE3Sign(String aE3Sign) {
+        this.aE3Sign = aE3Sign;
+    }
+
+    public Date getaE3Date() {
+        return aE3Date;
+    }
+
+    public void setaE3Date(Date aE3Date) {
+        this.aE3Date = aE3Date;
+    }
+
+    public Date gethE3StartTime() {
+        return hE3StartTime;
+    }
+
+    public void sethE3StartTime(Date hE3StartTime) {
+        this.hE3StartTime = hE3StartTime;
+    }
+
+    public Date gethE3EndTime() {
+        return hE3EndTime;
+    }
+
+    public void sethE3EndTime(Date hE3EndTime) {
+        this.hE3EndTime = hE3EndTime;
+    }
+
+    public String gethE3Sign() {
+        return hE3Sign;
+    }
+
+    public void sethE3Sign(String hE3Sign) {
+        this.hE3Sign = hE3Sign;
+    }
+
+    public Date gethE3Date() {
+        return hE3Date;
+    }
+
+    public void sethE3Date(Date hE3Date) {
+        this.hE3Date = hE3Date;
+    }
+
+    public String getH51Sign() {
+        return h51Sign;
+    }
+
+    public void setH51Sign(String h51Sign) {
+        this.h51Sign = h51Sign;
+    }
+
+    public Date getH51Date() {
+        return h51Date;
+    }
+
+    public void setH51Date(Date h51Date) {
+        this.h51Date = h51Date;
+    }
+
+    public String getH52Sign() {
+        return h52Sign;
+    }
+
+    public void setH52Sign(String h52Sign) {
+        this.h52Sign = h52Sign;
+    }
+
+    public Date getH52Date() {
+        return h52Date;
+    }
+
+    public void setH52Date(Date h52Date) {
+        this.h52Date = h52Date;
+    }
+
+    public Date getcI2StartTime1() {
+        return cI2StartTime1;
+    }
+
+    public void setcI2StartTime1(Date cI2StartTime1) {
+        this.cI2StartTime1 = cI2StartTime1;
+    }
+
+    public Date getcI2EndTime1() {
+        return cI2EndTime1;
+    }
+
+    public void setcI2EndTime1(Date cI2EndTime1) {
+        this.cI2EndTime1 = cI2EndTime1;
+    }
+
+    public String getcI2Sign1() {
+        return cI2Sign1;
+    }
+
+    public void setcI2Sign1(String cI2Sign1) {
+        this.cI2Sign1 = cI2Sign1;
+    }
+
+    public Date getcI2Date1() {
+        return cI2Date1;
+    }
+
+    public void setcI2Date1(Date cI2Date1) {
+        this.cI2Date1 = cI2Date1;
+    }
+
+    public Date getcI2StartTime2() {
+        return cI2StartTime2;
+    }
+
+    public void setcI2StartTime2(Date cI2StartTime2) {
+        this.cI2StartTime2 = cI2StartTime2;
+    }
+
+    public Date getcI2EndTime2() {
+        return cI2EndTime2;
+    }
+
+    public void setcI2EndTime2(Date cI2EndTime2) {
+        this.cI2EndTime2 = cI2EndTime2;
+    }
+
+    public String getcI2Sign2() {
+        return cI2Sign2;
+    }
+
+    public void setcI2Sign2(String cI2Sign2) {
+        this.cI2Sign2 = cI2Sign2;
+    }
+
+    public Date getcI2Date2() {
+        return cI2Date2;
+    }
+
+    public void setcI2Date2(Date cI2Date2) {
+        this.cI2Date2 = cI2Date2;
+    }
+}

+ 67 - 0
master/src/main/java/com/ruoyi/project/ticket/mapper/TDelayPermitMapper.java

@@ -0,0 +1,67 @@
+package com.ruoyi.project.ticket.mapper;
+
+import com.ruoyi.framework.aspectj.lang.annotation.DataScope;
+import com.ruoyi.project.ticket.domain.TDelayPermit;
+
+import java.util.List;
+
+/**
+ * 延期票主体对象Mapper接口
+ *
+ * @author ruoyi
+ * @date 2021-12-23
+ */
+public interface TDelayPermitMapper {
+    /**
+     * 查询延期票主体对象
+     *
+     * @param id 延期票主体对象ID
+     * @return 延期票主体对象
+     */
+    public TDelayPermit selectTDelayPermitById(Long id);
+
+    public Long selectVid();
+
+    public List<TDelayPermit> selectDelayCount(TDelayPermit tDelayPermit);
+
+    /**
+     * 查询延期票主体对象列表
+     *
+     * @param tDelayPermit 延期票主体对象
+     * @return 延期票主体对象集合
+     */
+    @DataScope(deptAlias = "d")
+    public List<TDelayPermit> selectTDelayPermitList(TDelayPermit tDelayPermit);
+
+    /**
+     * 新增延期票主体对象
+     *
+     * @param tDelayPermit 延期票主体对象
+     * @return 结果
+     */
+    public int insertTDelayPermit(TDelayPermit tDelayPermit);
+
+    /**
+     * 修改延期票主体对象
+     *
+     * @param tDelayPermit 延期票主体对象
+     * @return 结果
+     */
+    public int updateTDelayPermit(TDelayPermit tDelayPermit);
+
+    /**
+     * 删除延期票主体对象
+     *
+     * @param id 延期票主体对象ID
+     * @return 结果
+     */
+    public int deleteTDelayPermitById(Long id);
+
+    /**
+     * 批量删除延期票主体对象
+     *
+     * @param ids 需要删除的数据ID
+     * @return 结果
+     */
+    public int deleteTDelayPermitByIds(Long[] ids);
+}

+ 65 - 0
master/src/main/java/com/ruoyi/project/ticket/mapper/TDelayPermitOtherMapper.java

@@ -0,0 +1,65 @@
+package com.ruoyi.project.ticket.mapper;
+
+import com.ruoyi.framework.aspectj.lang.annotation.DataScope;
+import com.ruoyi.project.ticket.domain.TDelayPermitOther;
+
+import java.util.List;
+
+/**
+ * 延期票附属对象Mapper接口
+ *
+ * @author ruoyi
+ * @date 2021-12-23
+ */
+public interface TDelayPermitOtherMapper {
+    /**
+     * 查询延期票附属对象
+     *
+     * @param id 延期票附属对象ID
+     * @return 延期票附属对象
+     */
+    public TDelayPermitOther selectTDelayPermitOtherById(Long id);
+
+    public List<TDelayPermitOther> selectTDelayPermitOtherByIds(Long vId);
+
+    /**
+     * 查询延期票附属对象列表
+     *
+     * @param tDelayPermitOther 延期票附属对象
+     * @return 延期票附属对象集合
+     */
+    @DataScope(deptAlias = "d")
+    public List<TDelayPermitOther> selectTDelayPermitOtherList(TDelayPermitOther tDelayPermitOther);
+
+    /**
+     * 新增延期票附属对象
+     *
+     * @param tDelayPermitOther 延期票附属对象
+     * @return 结果
+     */
+    public int insertTDelayPermitOther(TDelayPermitOther tDelayPermitOther);
+
+    /**
+     * 修改延期票附属对象
+     *
+     * @param tDelayPermitOther 延期票附属对象
+     * @return 结果
+     */
+    public int updateTDelayPermitOther(TDelayPermitOther tDelayPermitOther);
+
+    /**
+     * 删除延期票附属对象
+     *
+     * @param id 延期票附属对象ID
+     * @return 结果
+     */
+    public int deleteTDelayPermitOtherById(Long id);
+
+    /**
+     * 批量删除延期票附属对象
+     *
+     * @param ids 需要删除的数据ID
+     * @return 结果
+     */
+    public int deleteTDelayPermitOtherByIds(Long[] ids);
+}

+ 64 - 0
master/src/main/java/com/ruoyi/project/ticket/service/ITDelayPermitOtherService.java

@@ -0,0 +1,64 @@
+package com.ruoyi.project.ticket.service;
+
+import com.ruoyi.project.ticket.domain.TDelayPermitOther;
+
+import java.util.List;
+
+/**
+ * 延期票附属对象Service接口
+ *
+ * @author ruoyi
+ * @date 2021-12-23
+ */
+public interface ITDelayPermitOtherService {
+
+    public List<TDelayPermitOther> selectTDelayPermitOtherByIds(Long vId);
+
+    /**
+     * 查询延期票附属对象
+     *
+     * @param id 延期票附属对象ID
+     * @return 延期票附属对象
+     */
+    public TDelayPermitOther selectTDelayPermitOtherById(Long id);
+
+    /**
+     * 查询延期票附属对象列表
+     *
+     * @param tDelayPermitOther 延期票附属对象
+     * @return 延期票附属对象集合
+     */
+    public List<TDelayPermitOther> selectTDelayPermitOtherList(TDelayPermitOther tDelayPermitOther);
+
+    /**
+     * 新增延期票附属对象
+     *
+     * @param tDelayPermitOther 延期票附属对象
+     * @return 结果
+     */
+    public int insertTDelayPermitOther(TDelayPermitOther tDelayPermitOther);
+
+    /**
+     * 修改延期票附属对象
+     *
+     * @param tDelayPermitOther 延期票附属对象
+     * @return 结果
+     */
+    public int updateTDelayPermitOther(TDelayPermitOther tDelayPermitOther);
+
+    /**
+     * 批量删除延期票附属对象
+     *
+     * @param ids 需要删除的延期票附属对象ID
+     * @return 结果
+     */
+    public int deleteTDelayPermitOtherByIds(Long[] ids);
+
+    /**
+     * 删除延期票附属对象信息
+     *
+     * @param id 延期票附属对象ID
+     * @return 结果
+     */
+    public int deleteTDelayPermitOtherById(Long id);
+}

+ 66 - 0
master/src/main/java/com/ruoyi/project/ticket/service/ITDelayPermitService.java

@@ -0,0 +1,66 @@
+package com.ruoyi.project.ticket.service;
+
+import com.ruoyi.project.ticket.domain.TDelayPermit;
+
+import java.util.List;
+
+/**
+ * 延期票主体对象Service接口
+ *
+ * @author ruoyi
+ * @date 2021-12-23
+ */
+public interface ITDelayPermitService
+{
+    /**
+     * 查询延期票主体对象
+     *
+     * @param id 延期票主体对象ID
+     * @return 延期票主体对象
+     */
+    public TDelayPermit selectTDelayPermitById(Long id);
+
+    /**
+     * 查询延期票主体对象列表
+     *
+     * @param tDelayPermit 延期票主体对象
+     * @return 延期票主体对象集合
+     */
+    public List<TDelayPermit> selectTDelayPermitList(TDelayPermit tDelayPermit);
+
+    public Long selectVid();
+
+    public List<TDelayPermit> selectDelayCount(TDelayPermit tDelayPermit);
+
+    /**
+     * 新增延期票主体对象
+     *
+     * @param tDelayPermit 延期票主体对象
+     * @return 结果
+     */
+    public int insertTDelayPermit(TDelayPermit tDelayPermit);
+
+    /**
+     * 修改延期票主体对象
+     *
+     * @param tDelayPermit 延期票主体对象
+     * @return 结果
+     */
+    public int updateTDelayPermit(TDelayPermit tDelayPermit);
+
+    /**
+     * 批量删除延期票主体对象
+     *
+     * @param ids 需要删除的延期票主体对象ID
+     * @return 结果
+     */
+    public int deleteTDelayPermitByIds(Long[] ids);
+
+    /**
+     * 删除延期票主体对象信息
+     *
+     * @param id 延期票主体对象ID
+     * @return 结果
+     */
+    public int deleteTDelayPermitById(Long id);
+}

+ 93 - 0
master/src/main/java/com/ruoyi/project/ticket/service/impl/TDelayPermitOtherServiceImpl.java

@@ -0,0 +1,93 @@
+package com.ruoyi.project.ticket.service.impl;
+
+import com.ruoyi.project.ticket.domain.TDelayPermitOther;
+import com.ruoyi.project.ticket.mapper.TDelayPermitOtherMapper;
+import com.ruoyi.project.ticket.service.ITDelayPermitOtherService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 延期票附属对象Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2021-12-23
+ */
+@Service
+public class TDelayPermitOtherServiceImpl implements ITDelayPermitOtherService {
+
+    @Resource
+    private TDelayPermitOtherMapper tDelayPermitOtherMapper;
+
+    @Override
+    public List<TDelayPermitOther> selectTDelayPermitOtherByIds(Long vId) {
+        return tDelayPermitOtherMapper.selectTDelayPermitOtherByIds(vId);
+    }
+
+    /**
+     * 查询延期票附属对象
+     *
+     * @param id 延期票附属对象ID
+     * @return 延期票附属对象
+     */
+    @Override
+    public TDelayPermitOther selectTDelayPermitOtherById(Long id) {
+        return tDelayPermitOtherMapper.selectTDelayPermitOtherById(id);
+    }
+
+    /**
+     * 查询延期票附属对象列表
+     *
+     * @param tDelayPermitOther 延期票附属对象
+     * @return 延期票附属对象
+     */
+    @Override
+    public List<TDelayPermitOther> selectTDelayPermitOtherList(TDelayPermitOther tDelayPermitOther) {
+        return tDelayPermitOtherMapper.selectTDelayPermitOtherList(tDelayPermitOther);
+    }
+
+    /**
+     * 新增延期票附属对象
+     *
+     * @param tDelayPermitOther 延期票附属对象
+     * @return 结果
+     */
+    @Override
+    public int insertTDelayPermitOther(TDelayPermitOther tDelayPermitOther) {
+        return tDelayPermitOtherMapper.insertTDelayPermitOther(tDelayPermitOther);
+    }
+
+    /**
+     * 修改延期票附属对象
+     *
+     * @param tDelayPermitOther 延期票附属对象
+     * @return 结果
+     */
+    @Override
+    public int updateTDelayPermitOther(TDelayPermitOther tDelayPermitOther) {
+        return tDelayPermitOtherMapper.updateTDelayPermitOther(tDelayPermitOther);
+    }
+
+    /**
+     * 批量删除延期票附属对象
+     *
+     * @param ids 需要删除的延期票附属对象ID
+     * @return 结果
+     */
+    @Override
+    public int deleteTDelayPermitOtherByIds(Long[] ids) {
+        return tDelayPermitOtherMapper.deleteTDelayPermitOtherByIds(ids);
+    }
+
+    /**
+     * 删除延期票附属对象信息
+     *
+     * @param id 延期票附属对象ID
+     * @return 结果
+     */
+    @Override
+    public int deleteTDelayPermitOtherById(Long id) {
+        return tDelayPermitOtherMapper.deleteTDelayPermitOtherById(id);
+    }
+}

+ 98 - 0
master/src/main/java/com/ruoyi/project/ticket/service/impl/TDelayPermitServiceImpl.java

@@ -0,0 +1,98 @@
+package com.ruoyi.project.ticket.service.impl;
+
+import com.ruoyi.project.ticket.domain.TDelayPermit;
+import com.ruoyi.project.ticket.mapper.TDelayPermitMapper;
+import com.ruoyi.project.ticket.service.ITDelayPermitService;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * 延期票主体对象Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2021-12-23
+ */
+@Service
+public class TDelayPermitServiceImpl implements ITDelayPermitService {
+
+    @Resource
+    private TDelayPermitMapper tDelayPermitMapper;
+
+    /**
+     * 查询延期票主体对象
+     *
+     * @param id 延期票主体对象ID
+     * @return 延期票主体对象
+     */
+    @Override
+    public TDelayPermit selectTDelayPermitById(Long id) {
+        return tDelayPermitMapper.selectTDelayPermitById(id);
+    }
+
+    /**
+     * 查询延期票主体对象列表
+     *
+     * @param tDelayPermit 延期票主体对象
+     * @return 延期票主体对象
+     */
+    @Override
+    public List<TDelayPermit> selectTDelayPermitList(TDelayPermit tDelayPermit) {
+        return tDelayPermitMapper.selectTDelayPermitList(tDelayPermit);
+    }
+
+    @Override
+    public Long selectVid() {
+        return this.tDelayPermitMapper.selectVid();
+    }
+
+    @Override
+    public List<TDelayPermit> selectDelayCount(TDelayPermit tDelayPermit) {
+        return this.tDelayPermitMapper.selectDelayCount(tDelayPermit);
+    }
+
+    /**
+     * 新增延期票主体对象
+     *
+     * @param tDelayPermit 延期票主体对象
+     * @return 结果
+     */
+    @Override
+    public int insertTDelayPermit(TDelayPermit tDelayPermit) {
+        return tDelayPermitMapper.insertTDelayPermit(tDelayPermit);
+    }
+
+    /**
+     * 修改延期票主体对象
+     *
+     * @param tDelayPermit 延期票主体对象
+     * @return 结果
+     */
+    @Override
+    public int updateTDelayPermit(TDelayPermit tDelayPermit) {
+        return tDelayPermitMapper.updateTDelayPermit(tDelayPermit);
+    }
+
+    /**
+     * 批量删除延期票主体对象
+     *
+     * @param ids 需要删除的延期票主体对象ID
+     * @return 结果
+     */
+    @Override
+    public int deleteTDelayPermitByIds(Long[] ids) {
+        return tDelayPermitMapper.deleteTDelayPermitByIds(ids);
+    }
+
+    /**
+     * 删除延期票主体对象信息
+     *
+     * @param id 延期票主体对象ID
+     * @return 结果
+     */
+    @Override
+    public int deleteTDelayPermitById(Long id) {
+        return tDelayPermitMapper.deleteTDelayPermitById(id);
+    }
+}

+ 103 - 0
master/src/main/resources/mybatis/ticket/TDelayPermitMapper.xml

@@ -0,0 +1,103 @@
+<?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="com.ruoyi.project.ticket.mapper.TDelayPermitMapper">
+
+    <resultMap type="TDelayPermit" id="TDelayPermitResult">
+        <result property="id" column="id"/>
+        <result property="vId" column="v_id"/>
+        <result property="aId" column="a_id"/>
+        <result property="hId" column="h_id"/>
+        <result property="cId" column="c_id"/>
+        <result property="otherId" column="other_id"/>
+    </resultMap>
+
+    <sql id="selectTDelayPermitVo">
+        select d.id, d.v_id, d.a_id, d.h_id, d.c_id, d.other_id
+        from t_delay_permit d
+    </sql>
+
+    <select id="selectDelayCount" parameterType="TDelayPermit" resultMap="TDelayPermitResult">
+        <include refid="selectTDelayPermitVo"/>
+        <where>
+            <if test="vId != null ">and v_id = #{vId}</if>
+            <if test="aId != null ">and a_id = #{aId}</if>
+            <if test="hId != null ">and h_id = #{hId}</if>
+            <if test="cId != null ">and c_id = #{cId}</if>
+            <if test="otherId != null ">and other_id = #{otherId}</if>
+        </where>
+        order by v_id
+    </select>
+
+    <select id="selectTDelayPermitList" parameterType="TDelayPermit" resultMap="TDelayPermitResult">
+        <include refid="selectTDelayPermitVo"/>
+        <where>
+            <if test="vId != null ">and v_id = #{vId}</if>
+            <if test="aId != null ">and a_id = #{aId}</if>
+            <if test="hId != null ">and h_id = #{hId}</if>
+            <if test="cId != null ">and c_id = #{cId}</if>
+            <if test="otherId != null ">and other_id = #{otherId}</if>
+        </where>
+    </select>
+
+    <select id="selectTDelayPermitById" parameterType="Long" resultMap="TDelayPermitResult">
+        <include refid="selectTDelayPermitVo"/>
+        where v_id = #{id}
+        and rownum = 1
+    </select>
+
+    <select id="selectVid" resultType="Long">
+        SELECT seq_t_delay_permit_vid.NEXTVAL as id
+        FROM DUAL
+    </select>
+
+    <insert id="insertTDelayPermit" parameterType="TDelayPermit">
+        <selectKey keyProperty="id" resultType="long" order="BEFORE">
+            SELECT seq_t_delay_permit.NEXTVAL as id FROM DUAL
+        </selectKey>
+        insert into t_delay_permit
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">id,</if>
+            <if test="vId != null">v_id,</if>
+            <if test="aId != null">a_id,</if>
+            <if test="hId != null">h_id,</if>
+            <if test="cId != null">c_id,</if>
+            <if test="otherId != null">other_id,</if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">#{id},</if>
+            <if test="vId != null">#{vId},</if>
+            <if test="aId != null">#{aId},</if>
+            <if test="hId != null">#{hId},</if>
+            <if test="cId != null">#{cId},</if>
+            <if test="otherId != null">#{otherId},</if>
+        </trim>
+    </insert>
+
+    <update id="updateTDelayPermit" parameterType="TDelayPermit">
+        update t_delay_permit
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="vId != null">v_id = #{vId},</if>
+            <if test="aId != null">a_id = #{aId},</if>
+            <if test="hId != null">h_id = #{hId},</if>
+            <if test="cId != null">c_id = #{cId},</if>
+            <if test="otherId != null">other_id = #{otherId},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <update id="deleteTDelayPermitById" parameterType="Long">
+        update t_delay_permit
+        set del_flag = 2
+        where id = #{id}
+    </update>
+
+    <update id="deleteTDelayPermitByIds" parameterType="String">
+        update t_delay_permit set del_flag = 2 where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </update>
+
+</mapper>

+ 254 - 0
master/src/main/resources/mybatis/ticket/TDelayPermitOtherMapper.xml

@@ -0,0 +1,254 @@
+<?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="com.ruoyi.project.ticket.mapper.TDelayPermitOtherMapper">
+
+    <resultMap type="TDelayPermitOther" id="TDelayPermitOtherResult">
+        <result property="id" column="id"/>
+        <result property="startTime" column="start_time"/>
+        <result property="endTime" column="end_time"/>
+        <result property="aGSign" column="a_g_sign"/>
+        <result property="aGDate" column="a_g_date"/>
+        <result property="aHSign" column="a_h_sign"/>
+        <result property="aHDate" column="a_h_date"/>
+        <result property="aI1aSign" column="a_i1a_sign"/>
+        <result property="aI1aDate" column="a_i1a_date"/>
+        <result property="aA4Sign" column="a_a4_sign"/>
+        <result property="aA4Date" column="a_a4_date"/>
+        <result property="aI1bSign" column="a_i1b_sign"/>
+        <result property="aI1bDate" column="a_i1b_date"/>
+        <result property="aKSign" column="a_k_sign"/>
+        <result property="aKDate" column="a_k_date"/>
+        <result property="aE3Sign" column="a_e3_sign"/>
+        <result property="aE3Date" column="a_e3_date"/>
+        <result property="hE3Sign" column="h_e3_sign"/>
+        <result property="hE3Date" column="h_e3_date"/>
+        <result property="h51Sign" column="h_51_sign"/>
+        <result property="h51Date" column="h_51_date"/>
+        <result property="h52Sign" column="h_52_sign"/>
+        <result property="h52Date" column="h_52_date"/>
+        <result property="cI2Sign1" column="c_i2_sign1"/>
+        <result property="cI2Date1" column="c_i2_date1"/>
+        <result property="cI2Sign2" column="c_i2_sign2"/>
+        <result property="cI2Date2" column="c_i2_date2"/>
+        <result property="aE3StartTime" column="A_E3_START_TIME"/>
+        <result property="aE3EndTime" column="A_E3_END_TIME"/>
+        <result property="hE3StartTime" column="H_E3_START_TIME"/>
+        <result property="hE3EndTime" column="H_E3_END_TIME"/>
+        <result property="cI2StartTime1" column="C_I2_START_TIME1"/>
+        <result property="cI2EndTime1" column="C_I2_END_TIME1"/>
+        <result property="cI2StartTime2" column="C_I2_START_TIME2"/>
+        <result property="cI2EndTime2" column="C_I2_END_TIME2"/>
+    </resultMap>
+
+    <sql id="selectTDelayPermitOtherVo">
+        select d.id,
+               d.start_time,
+               d.end_time,
+               d.a_g_sign,
+               d.a_g_date,
+               d.a_h_sign,
+               d.a_h_date,
+               d.a_i1a_sign,
+               d.a_i1a_date,
+               d.a_a4_sign,
+               d.a_a4_date,
+               d.a_i1b_sign,
+               d.a_i1b_date,
+               d.a_k_sign,
+               d.a_k_date,
+               d.a_e3_sign,
+               d.a_e3_date,
+               d.h_e3_sign,
+               d.h_e3_date,
+               d.h_51_sign,
+               d.h_51_date,
+               d.h_52_sign,
+               d.h_52_date,
+               d.c_i2_sign1,
+               d.c_i2_date1,
+               d.c_i2_sign2,
+               d.c_i2_date2,
+               A_E3_START_TIME,
+               A_E3_END_TIME,
+               H_E3_START_TIME,
+               H_E3_END_TIME,
+               C_I2_START_TIME1,
+               C_I2_END_TIME1,
+               C_I2_START_TIME2,
+               C_I2_END_TIME2
+        from t_delay_permit_other d
+    </sql>
+
+    <select id="selectTDelayPermitOtherList" parameterType="TDelayPermitOther" resultMap="TDelayPermitOtherResult">
+        <include refid="selectTDelayPermitOtherVo"/>
+        <where>
+            <if test="startTime != null ">and start_time = #{startTime}</if>
+            <if test="endTime != null ">and end_time = #{endTime}</if>
+            <if test="aGSign != null  and aGSign != ''">and a_g_sign = #{aGSign}</if>
+            <if test="aGDate != null ">and a_g_date = #{aGDate}</if>
+            <if test="aHSign != null  and aHSign != ''">and a_h_sign = #{aHSign}</if>
+            <if test="aHDate != null ">and a_h_date = #{aHDate}</if>
+            <if test="aI1aSign != null  and aI1aSign != ''">and a_i1a_sign = #{aI1aSign}</if>
+            <if test="aI1aDate != null ">and a_i1a_date = #{aI1aDate}</if>
+            <if test="aA4Sign != null  and aA4Sign != ''">and a_a4_sign = #{aA4Sign}</if>
+            <if test="aA4Date != null ">and a_a4_date = #{aA4Date}</if>
+            <if test="aI1bSign != null  and aI1bSign != ''">and a_i1b_sign = #{aI1bSign}</if>
+            <if test="aI1bDate != null ">and a_i1b_date = #{aI1bDate}</if>
+            <if test="aKSign != null  and aKSign != ''">and a_k_sign = #{aKSign}</if>
+            <if test="aKDate != null ">and a_k_date = #{aKDate}</if>
+            <if test="aE3Sign != null  and aE3Sign != ''">and a_e3_sign = #{aE3Sign}</if>
+            <if test="aE3Date != null ">and a_e3_date = #{aE3Date}</if>
+            <if test="hE3Sign != null  and hE3Sign != ''">and h_e3_sign = #{hE3Sign}</if>
+            <if test="hE3Date != null ">and h_e3_date = #{hE3Date}</if>
+            <if test="h51Sign != null  and h51Sign != ''">and h_51_sign = #{h51Sign}</if>
+            <if test="h51Date != null ">and h_51_date = #{h51Date}</if>
+            <if test="h52Sign != null  and h52Sign != ''">and h_52_sign = #{h52Sign}</if>
+            <if test="h52Date != null ">and h_52_date = #{h52Date}</if>
+            <if test="cI2Sign1 != null  and cI2Sign1 != ''">and c_i2_sign1 = #{cI2Sign1}</if>
+            <if test="cI2Date1 != null ">and c_i2_date1 = #{cI2Date1}</if>
+            <if test="cI2Sign2 != null  and cI2Sign2 != ''">and c_i2_sign2 = #{cI2Sign2}</if>
+            <if test="cI2Date2 != null ">and c_i2_date2 = #{cI2Date2}</if>
+        </where>
+    </select>
+
+    <select id="selectTDelayPermitOtherById" parameterType="Long" resultMap="TDelayPermitOtherResult">
+        <include refid="selectTDelayPermitOtherVo"/>
+        where id = #{id}
+    </select>
+
+    <select id="selectTDelayPermitOtherByIds" parameterType="Long" resultMap="TDelayPermitOtherResult">
+        <include refid="selectTDelayPermitOtherVo"/>
+        where id IN (SELECT OTHER_ID from T_DELAY_PERMIT WHERE V_ID = #{vId})
+        order by id
+    </select>
+
+    <insert id="insertTDelayPermitOther" parameterType="TDelayPermitOther">
+        <selectKey keyProperty="id" resultType="long" order="BEFORE">
+            SELECT seq_t_delay_permit_other.NEXTVAL as id FROM DUAL
+        </selectKey>
+        insert into t_delay_permit_other
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">id,</if>
+            <if test="startTime != null">start_time,</if>
+            <if test="endTime != null">end_time,</if>
+            <if test="aGSign != null">a_g_sign,</if>
+            <if test="aGDate != null">a_g_date,</if>
+            <if test="aHSign != null">a_h_sign,</if>
+            <if test="aHDate != null">a_h_date,</if>
+            <if test="aI1aSign != null">a_i1a_sign,</if>
+            <if test="aI1aDate != null">a_i1a_date,</if>
+            <if test="aA4Sign != null">a_a4_sign,</if>
+            <if test="aA4Date != null">a_a4_date,</if>
+            <if test="aI1bSign != null">a_i1b_sign,</if>
+            <if test="aI1bDate != null">a_i1b_date,</if>
+            <if test="aKSign != null">a_k_sign,</if>
+            <if test="aKDate != null">a_k_date,</if>
+            <if test="aE3Sign != null">a_e3_sign,</if>
+            <if test="aE3Date != null">a_e3_date,</if>
+            <if test="hE3Sign != null">h_e3_sign,</if>
+            <if test="hE3Date != null">h_e3_date,</if>
+            <if test="h51Sign != null">h_51_sign,</if>
+            <if test="h51Date != null">h_51_date,</if>
+            <if test="h52Sign != null">h_52_sign,</if>
+            <if test="h52Date != null">h_52_date,</if>
+            <if test="cI2Sign1 != null">c_i2_sign1,</if>
+            <if test="cI2Date1 != null">c_i2_date1,</if>
+            <if test="cI2Sign2 != null">c_i2_sign2,</if>
+            <if test="cI2Date2 != null">c_i2_date2,</if>
+            <if test="aE3StartTime != null">A_E3_START_TIME,</if>
+            <if test="aE3EndTime != null">A_E3_END_TIME,</if>
+            <if test="hE3StartTime != null">H_E3_START_TIME,</if>
+            <if test="hE3EndTime != null">H_E3_END_TIME,</if>
+            <if test="cI2StartTime1 != null">C_I2_START_TIME1,</if>
+            <if test="cI2EndTime1 != null">C_I2_END_TIME1,</if>
+            <if test="cI2StartTime2 != null">C_I2_START_TIME2,</if>
+            <if test="cI2EndTime2 != null">C_I2_END_TIME2,</if>
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">#{id},</if>
+            <if test="startTime != null">#{startTime},</if>
+            <if test="endTime != null">#{endTime},</if>
+            <if test="aGSign != null">#{aGSign},</if>
+            <if test="aGDate != null">#{aGDate},</if>
+            <if test="aHSign != null">#{aHSign},</if>
+            <if test="aHDate != null">#{aHDate},</if>
+            <if test="aI1aSign != null">#{aI1aSign},</if>
+            <if test="aI1aDate != null">#{aI1aDate},</if>
+            <if test="aA4Sign != null">#{aA4Sign},</if>
+            <if test="aA4Date != null">#{aA4Date},</if>
+            <if test="aI1bSign != null">#{aI1bSign},</if>
+            <if test="aI1bDate != null">#{aI1bDate},</if>
+            <if test="aKSign != null">#{aKSign},</if>
+            <if test="aKDate != null">#{aKDate},</if>
+            <if test="aE3Sign != null">#{aE3Sign},</if>
+            <if test="aE3Date != null">#{aE3Date},</if>
+            <if test="hE3Sign != null">#{hE3Sign},</if>
+            <if test="hE3Date != null">#{hE3Date},</if>
+            <if test="h51Sign != null">#{h51Sign},</if>
+            <if test="h51Date != null">#{h51Date},</if>
+            <if test="h52Sign != null">#{h52Sign},</if>
+            <if test="h52Date != null">#{h52Date},</if>
+            <if test="cI2Sign1 != null">#{cI2Sign1},</if>
+            <if test="cI2Date1 != null">#{cI2Date1},</if>
+            <if test="cI2Sign2 != null">#{cI2Sign2},</if>
+            <if test="cI2Date2 != null">#{cI2Date2},</if>
+            <if test="aE3StartTime != null">#{aE3StartTime},</if>
+            <if test="aE3EndTime != null">#{aE3EndTime},</if>
+            <if test="hE3StartTime != null">#{hE3StartTime},</if>
+            <if test="hE3EndTime != null">#{hE3EndTime},</if>
+            <if test="cI2StartTime1 != null">#{cI2StartTime1},</if>
+            <if test="cI2EndTime1 != null">#{cI2EndTime1},</if>
+            <if test="cI2StartTime2 != null">#{cI2StartTime2},</if>
+            <if test="cI2EndTime2 != null">#{cI2EndTime2},</if>
+        </trim>
+    </insert>
+
+    <update id="updateTDelayPermitOther" parameterType="TDelayPermitOther">
+        update t_delay_permit_other
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="startTime != null">start_time = #{startTime},</if>
+            <if test="endTime != null">end_time = #{endTime},</if>
+            <if test="aGSign != null">a_g_sign = #{aGSign},</if>
+            <if test="aGDate != null">a_g_date = #{aGDate},</if>
+            <if test="aHSign != null">a_h_sign = #{aHSign},</if>
+            <if test="aHDate != null">a_h_date = #{aHDate},</if>
+            <if test="aI1aSign != null">a_i1a_sign = #{aI1aSign},</if>
+            <if test="aI1aDate != null">a_i1a_date = #{aI1aDate},</if>
+            <if test="aA4Sign != null">a_a4_sign = #{aA4Sign},</if>
+            <if test="aA4Date != null">a_a4_date = #{aA4Date},</if>
+            <if test="aI1bSign != null">a_i1b_sign = #{aI1bSign},</if>
+            <if test="aI1bDate != null">a_i1b_date = #{aI1bDate},</if>
+            <if test="aKSign != null">a_k_sign = #{aKSign},</if>
+            <if test="aKDate != null">a_k_date = #{aKDate},</if>
+            <if test="aE3Sign != null">a_e3_sign = #{aE3Sign},</if>
+            <if test="aE3Date != null">a_e3_date = #{aE3Date},</if>
+            <if test="hE3Sign != null">h_e3_sign = #{hE3Sign},</if>
+            <if test="hE3Date != null">h_e3_date = #{hE3Date},</if>
+            <if test="h51Sign != null">h_51_sign = #{h51Sign},</if>
+            <if test="h51Date != null">h_51_date = #{h51Date},</if>
+            <if test="h52Sign != null">h_52_sign = #{h52Sign},</if>
+            <if test="h52Date != null">h_52_date = #{h52Date},</if>
+            <if test="cI2Sign1 != null">c_i2_sign = #{cI2Sign1},</if>
+            <if test="cI2Date1 != null">c_i2_date = #{cI2Date1},</if>
+            <if test="cI2Sign2 != null">c_i2_sign2 = #{cI2Sign2},</if>
+            <if test="cI2Date2 != null">c_i2_date2 = #{cI2Date2},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <update id="deleteTDelayPermitOtherById" parameterType="Long">
+        update t_delay_permit_other
+        set del_flag = 2
+        where id = #{id}
+    </update>
+
+    <update id="deleteTDelayPermitOtherByIds" parameterType="String">
+        update t_delay_permit_other set del_flag = 2 where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </update>
+
+</mapper>

+ 36 - 0
ui/src/api/invoicing/delaypermit.js

@@ -0,0 +1,36 @@
+import request from '@/utils/request'
+
+// 查询延期票主体对象列表
+export function listPermit(query) {
+  return request({
+    url: '/ticket/delaypermits/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询延期票主体对象详细
+export function getDelayPermit(id) {
+  return request({
+    url: '/ticket/delaypermits/' + id,
+    method: 'get'
+  })
+}
+
+// 新增延期票主体对象
+export function addDelayPermit(data) {
+  return request({
+    url: '/ticket/delaypermits',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改延期票主体对象
+export function updateDelayPermit(data) {
+  return request({
+    url: '/ticket/delaypermits',
+    method: 'put',
+    data: data
+  })
+}

+ 53 - 0
ui/src/api/invoicing/delaypermitother.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询延期票附属对象列表
+export function listOther(query) {
+  return request({
+    url: '/ehs/other/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询延期票附属对象详细
+export function getOther(id) {
+  return request({
+    url: '/ehs/other/' + id,
+    method: 'get'
+  })
+}
+
+// 新增延期票附属对象
+export function addOther(data) {
+  return request({
+    url: '/ehs/other',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改延期票附属对象
+export function updateOther(data) {
+  return request({
+    url: '/ehs/other',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除延期票附属对象
+export function delOther(id) {
+  return request({
+    url: '/ehs/other/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出延期票附属对象
+export function exportOther(query) {
+  return request({
+    url: '/ehs/other/export',
+    method: 'get',
+    params: query
+  })
+}

+ 844 - 187
ui/src/views/invoicing/delaypermit/index.vue

@@ -30,18 +30,23 @@
             <td></td>
             <td></td>
             <td style="width: 300px;text-align: right">V
-              <el-input style="width: 200px" v-model="vId"/>
+              <el-input style="width: 200px" v-model="form.vId"/>
+            </td>
+            <td>
+              <el-form-item>
+                <el-button type="primary" @click="onSubmit" :disabled="this.split==5">提交当前数据</el-button>
+              </el-form-item>
             </td>
           </tr>
           <tr>
             <td>A
-              <el-input style="width: 150px" v-model="aId"/>
+              <el-input style="width: 150px" v-model="form.aId"/>
             </td>
             <td>H
-              <el-input style="width: 150px" v-model="hId"/>
+              <el-input style="width: 150px" v-model="form.hId"/>
             </td>
             <td>C
-              <el-input style="width: 150px" v-model="cId"/>
+              <el-input style="width: 150px" v-model="form.cId"/>
             </td>
           </tr>
         </table>
@@ -50,38 +55,58 @@
             <td style="width: 100px">勾选需要的签名</td>
             <td>由 日期、时间:</td>
             <td>
-              <el-input/>
+              <el-date-picker
+                v-model="form.startTime1"
+                type="datetime"
+                placeholder="选择日期时间" format="yyyy-MM-dd HH:mm:ss">
+              </el-date-picker>
             </td>
             <td>
-              <el-input/>
+              <el-date-picker
+                v-model="form.startTime2"
+                type="datetime"
+                placeholder="选择日期时间">
+              </el-date-picker>
             </td>
             <td>
-              <el-input/>
+              <el-date-picker
+                v-model="form.startTime3"
+                type="datetime"
+                placeholder="选择日期时间">
+              </el-date-picker>
             </td>
             <td>
-              <el-input/>
+              <el-date-picker
+                v-model="form.startTime4"
+                type="datetime"
+                placeholder="选择日期时间">
+              </el-date-picker>
             </td>
             <td>
-              <el-input/>
+              <el-date-picker
+                v-model="form.startTime5"
+                type="datetime"
+                placeholder="选择日期时间">
+              </el-date-picker>
             </td>
           </tr>
           <tr>
             <td>↓</td>
             <td>至 日期、时间:</td>
             <td>
-              <el-input/>
+              <el-input v-model="form.endTime1"/>
             </td>
             <td>
-              <el-input/>
+              <el-input v-model="form.endTime2"/>
             </td>
             <td>
-              <el-input/>
+              <el-input v-model="form.endTime3"/>
             </td>
             <td>
-              <el-input/>
+              <el-input v-model="form.endTime4"/>
             </td>
             <td>
-              <el-input/>
+              <el-input v-model="form.endTime5"/>
             </td>
           </tr>
         </table>
@@ -96,32 +121,32 @@
           <tr>
             <td>危害不变(G)</td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.aGSign1"/>
+              <el-input style="width: 100px" v-model="form.aGDate1"/>
               <br>
               签名/时间
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.aGSign2"/>
+              <el-input style="width: 100px" v-model="form.aGDate2"/>
               <br>
               签名/时间
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.aGSign3"/>
+              <el-input style="width: 100px" v-model="form.aGDate3"/>
               <br>
               签名/时间
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.aGSign4"/>
+              <el-input style="width: 100px" v-model="form.aGDate4"/>
               <br>
               签名/时间
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.aGSign5"/>
+              <el-input style="width: 100px" v-model="form.aGDate5"/>
               <br>
               签名/时间
             </td>
@@ -129,32 +154,32 @@
           <tr>
             <td style="width: 160px">D栏的安全措施已重新检查及重新批准(H)</td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.aHSign1"/>
+              <el-input style="width: 100px" v-model="form.aHDate1"/>
               <br>
               签名/时间
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.aHSign2"/>
+              <el-input style="width: 100px" v-model="form.aHDate2"/>
               <br>
               签名/时间
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.aHSign3"/>
+              <el-input style="width: 100px" v-model="form.aHDate3"/>
               <br>
               签名/时间
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.aHSign4"/>
+              <el-input style="width: 100px" v-model="form.aHDate4"/>
               <br>
               签名/时间
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.aHSign5"/>
+              <el-input style="width: 100px" v-model="form.aHDate5"/>
               <br>
               签名/时间
             </td>
@@ -162,32 +187,32 @@
           <tr>
             <td>授权的维修主管(I1a)</td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.aI1aSign1"/>
+              <el-input style="width: 100px" v-model="form.aI1aDate1"/>
               <br>
               签名/时间
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.aI1aSign2"/>
+              <el-input style="width: 100px" v-model="form.aI1aDate2"/>
               <br>
               签名/时间
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.aI1aSign3"/>
+              <el-input style="width: 100px" v-model="form.aI1aDate3"/>
               <br>
               签名/时间
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.aI1aSign4"/>
+              <el-input style="width: 100px" v-model="form.aI1aDate4"/>
               <br>
               签名/时间
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.aI1aSign5"/>
+              <el-input style="width: 100px" v-model="form.aI1aDate5"/>
               <br>
               签名/时间
             </td>
@@ -195,32 +220,32 @@
           <tr>
             <td>安全协调员(A4)</td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.aA4Sign1"/>
+              <el-input style="width: 100px" v-model="form.aA4Date1"/>
               <br>
               签名/时间
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.aA4Sign2"/>
+              <el-input style="width: 100px" v-model="form.aA4Date2"/>
               <br>
               签名/时间
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.aA4Sign3"/>
+              <el-input style="width: 100px" v-model="form.aA4Date3"/>
               <br>
               签名/时间
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.aA4Sign4"/>
+              <el-input style="width: 100px" v-model="form.aA4Date4"/>
               <br>
               签名/时间
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.aA4Sign5"/>
+              <el-input style="width: 100px" v-model="form.aA4Date5"/>
               <br>
               签名/时间
             </td>
@@ -228,32 +253,32 @@
           <tr>
             <td>授权的装置维修工人(I1b)</td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.aI1bSign1"/>
+              <el-input style="width: 100px" v-model="form.aI1bDate1"/>
               <br>
               签名/时间
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.aI1bSign2"/>
+              <el-input style="width: 100px" v-model="form.aI1bDate2"/>
               <br>
               签名/时间
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.aI1bSign3"/>
+              <el-input style="width: 100px" v-model="form.aI1bDate3"/>
               <br>
               签名/时间
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.aI1bSign4"/>
+              <el-input style="width: 100px" v-model="form.aI1bDate4"/>
               <br>
               签名/时间
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.aI1bSign5"/>
+              <el-input style="width: 100px" v-model="form.aI1bDate5"/>
               <br>
               签名/时间
             </td>
@@ -261,32 +286,32 @@
           <tr>
             <td>F栏安全措施已实施(K)</td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.aKSign1"/>
+              <el-input style="width: 100px" v-model="form.aKSign1"/>
               <br>
               签名/时间
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.aKSign2"/>
+              <el-input style="width: 100px" v-model="form.aKSign2"/>
               <br>
               签名/时间
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.aKSign3"/>
+              <el-input style="width: 100px" v-model="form.aKSign3"/>
               <br>
               签名/时间
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.aKSign4"/>
+              <el-input style="width: 100px" v-model="form.aKSign4"/>
               <br>
               签名/时间
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.aKSign5"/>
+              <el-input style="width: 100px" v-model="form.aKSign5"/>
               <br>
               签名/时间
             </td>
@@ -307,47 +332,47 @@
           <tr>
             <td></td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.aE3StartTime1"/>
+              <el-input style="width: 100px" v-model="form.aE3EndTime1"/>
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.aE3StartTime2"/>
+              <el-input style="width: 100px" v-model="form.aE3EndTime2"/>
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.aE3StartTime3"/>
+              <el-input style="width: 100px" v-model="form.aE3EndTime3"/>
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.aE3StartTime4"/>
+              <el-input style="width: 100px" v-model="form.aE3EndTime4"/>
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.aE3StartTime5"/>
+              <el-input style="width: 100px" v-model="form.aE3EndTime5"/>
             </td>
           </tr>
           <tr>
             <td></td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.aE3Sign1"/>
+              <el-input style="width: 100px" v-model="form.aE3Date1"/>
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.aE3Sign2"/>
+              <el-input style="width: 100px" v-model="form.aE3Date2"/>
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.aE3Sign3"/>
+              <el-input style="width: 100px" v-model="form.aE3Date3"/>
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.aE3Sign4"/>
+              <el-input style="width: 100px" v-model="form.aE3Date4"/>
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.aE3Sign5"/>
+              <el-input style="width: 100px" v-model="form.aE3Date5"/>
             </td>
           </tr>
           <tr>
@@ -374,47 +399,47 @@
           <tr>
             <td></td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.hE3StartTime1"/>
+              <el-input style="width: 100px" v-model="form.hE3EndTime1"/>
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.hE3StartTime2"/>
+              <el-input style="width: 100px" v-model="form.hE3EndTime2"/>
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.hE3StartTime3"/>
+              <el-input style="width: 100px" v-model="form.hE3EndTime3"/>
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.hE3StartTime4"/>
+              <el-input style="width: 100px" v-model="form.hE3EndTime4"/>
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.hE3StartTime5"/>
+              <el-input style="width: 100px" v-model="form.hE3EndTime5"/>
             </td>
           </tr>
           <tr>
             <td></td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.hE3Sign1"/>
+              <el-input style="width: 100px" v-model="form.hE3Date1"/>
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.hE3Sign2"/>
+              <el-input style="width: 100px" v-model="form.hE3Date2"/>
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.hE3Sign3"/>
+              <el-input style="width: 100px" v-model="form.hE3Date3"/>
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.hE3Sign4"/>
+              <el-input style="width: 100px" v-model="form.hE3Date4"/>
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.hE3Sign5"/>
+              <el-input style="width: 100px" v-model="form.hE3Date5"/>
             </td>
           </tr>
           <tr>
@@ -428,24 +453,24 @@
           <tr>
             <td>D5.1</td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.h51Sign1"/>
+              <el-input style="width: 100px" v-model="form.h51Date1"/>
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.h51Sign2"/>
+              <el-input style="width: 100px" v-model="form.h51Date2"/>
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.h51Sign3"/>
+              <el-input style="width: 100px" v-model="form.h51Date3"/>
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.h51Sign4"/>
+              <el-input style="width: 100px" v-model="form.h51Date4"/>
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.h51Sign5"/>
+              <el-input style="width: 100px" v-model="form.h51Date5"/>
             </td>
           </tr>
           <tr>
@@ -459,24 +484,24 @@
           <tr>
             <td>D5.2</td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.h52Sign1"/>
+              <el-input style="width: 100px" v-model="form.h52Date1"/>
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.h52Sign2"/>
+              <el-input style="width: 100px" v-model="form.h52Date2"/>
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.h52Sign3"/>
+              <el-input style="width: 100px" v-model="form.h52Date3"/>
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.h52Sign4"/>
+              <el-input style="width: 100px" v-model="form.h52Date4"/>
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.h52Sign5"/>
+              <el-input style="width: 100px" v-model="form.h52Date5"/>
             </td>
           </tr>
           <tr>
@@ -503,47 +528,47 @@
           <tr>
             <td></td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.cI2StartTime11"/>
+              <el-input style="width: 100px" v-model="form.cI2EndTime11"/>
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.cI2StartTime12"/>
+              <el-input style="width: 100px" v-model="form.cI2EndTime12"/>
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.cI2StartTime13"/>
+              <el-input style="width: 100px" v-model="form.cI2EndTime13"/>
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.cI2StartTime14"/>
+              <el-input style="width: 100px" v-model="form.cI2EndTime14"/>
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.cI2StartTime15"/>
+              <el-input style="width: 100px" v-model="form.cI2EndTime15"/>
             </td>
           </tr>
           <tr>
             <td></td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.cI2Sign11"/>
+              <el-input style="width: 100px" v-model="form.cI2Date11"/>
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.cI2Sign12"/>
+              <el-input style="width: 100px" v-model="form.cI2Date12"/>
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.cI2Sign13"/>
+              <el-input style="width: 100px" v-model="form.cI2Date13"/>
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.cI2Sign14"/>
+              <el-input style="width: 100px" v-model="form.cI2Date14"/>
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.cI2Sign15"/>
+              <el-input style="width: 100px" v-model="form.cI2Date15"/>
             </td>
           </tr>
           <tr>
@@ -565,47 +590,47 @@
           <tr>
             <td></td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.cI2StartTime21"/>
+              <el-input style="width: 100px" v-model="form.cI2EndTime21"/>
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.cI2StartTime22"/>
+              <el-input style="width: 100px" v-model="form.cI2EndTime22"/>
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.cI2StartTime23"/>
+              <el-input style="width: 100px" v-model="form.cI2EndTime23"/>
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.cI2StartTime24"/>
+              <el-input style="width: 100px" v-model="form.cI2EndTime24"/>
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.cI2StartTime25"/>
+              <el-input style="width: 100px" v-model="form.cI2EndTime25"/>
             </td>
           </tr>
           <tr>
             <td></td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.cI2Sign21"/>
+              <el-input style="width: 100px" v-model="form.cI2Date21"/>
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.cI2Sign22"/>
+              <el-input style="width: 100px" v-model="form.cI2Date22"/>
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.cI2Sign23"/>
+              <el-input style="width: 100px" v-model="form.cI2Date23"/>
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.cI2Sign24"/>
+              <el-input style="width: 100px" v-model="form.cI2Date24"/>
             </td>
             <td>
-              <el-input style="width: 100px"/>
-              <el-input style="width: 100px"/>
+              <el-input style="width: 100px" v-model="form.cI2Sign25"/>
+              <el-input style="width: 100px" v-model="form.cI2Date25"/>
             </td>
           </tr>
           <tr>
@@ -680,25 +705,657 @@
 </template>
 
 <script>
+import {addDelayPermit, getDelayPermit} from "@/api/invoicing/delaypermit";
+
 export default {
   data() {
     return {
-      vId: null,
-      aId: null,
-      hId: null,
-      cId: null,
-      form1: {},
-      form2: {},
-      form3: {},
-      form4: {},
-      form5: {},
+      delayData: {
+        startTime: null,
+        endTime: null,
+        aGSign: null,
+        aGDate: null,
+        aHSign: null,
+        aHDate: null,
+        aI1aSign: null,
+        aI1aDate: null,
+        aA4Sign: null,
+        aA4Date: null,
+        aI1bSign: null,
+        aI1bDate: null,
+        aKSign: null,
+        aKDate: null,
+        aE3StartTime: null,
+        aE3EndTime: null,
+        aE3Sign: null,
+        aE3Date: null,
+        hE3StartTime: null,
+        hE3EndTime: null,
+        hE3Sign: null,
+        hE3Date: null,
+        h51Sign: null,
+        h51Date: null,
+        h52Sign: null,
+        h52Date: null,
+        cI2StartTime1: null,
+        cI2EndTime1: null,
+        cI2Sign1: null,
+        cI2Date1: null,
+        cI2StartTime2: null,
+        cI2EndTime2: null,
+        cI2Sign2: null,
+        cI2Date2: null,
+      },
+      form: {
+        vId: null,
+        aId: null,
+        hId: null,
+        cId: null,
+        startTime: null,
+        endTime: null,
+        startTime1: null,
+        endTime1: null,
+        startTime2: null,
+        endTime2: null,
+        startTime3: null,
+        endTime3: null,
+        startTime4: null,
+        endTime4: null,
+        startTime5: null,
+        endTime5: null,
+        aGSign: null,
+        aGDate: null,
+        aGSign1: null,
+        aGDate1: null,
+        aGSign2: null,
+        aGDate2: null,
+        aGSign3: null,
+        aGDate3: null,
+        aGSign4: null,
+        aGDate4: null,
+        aGSign5: null,
+        aGDate5: null,
+        aHSign: null,
+        aHDate: null,
+        aHSign1: null,
+        aHDate1: null,
+        aHSign2: null,
+        aHDate2: null,
+        aHSign3: null,
+        aHDate3: null,
+        aHSign4: null,
+        aHDate4: null,
+        aHSign5: null,
+        aHDate5: null,
+        aI1aSign: null,
+        aI1aDate: null,
+        aI1aSign1: null,
+        aI1aDate1: null,
+        aI1aSign2: null,
+        aI1aDate2: null,
+        aI1aSign3: null,
+        aI1aDate3: null,
+        aI1aSign4: null,
+        aI1aDate4: null,
+        aI1aSign5: null,
+        aI1aDate5: null,
+        aA4Sign: null,
+        aA4Date: null,
+        aA4Sign1: null,
+        aA4Date1: null,
+        aA4Sign2: null,
+        aA4Date2: null,
+        aA4Sign3: null,
+        aA4Date3: null,
+        aA4Sign4: null,
+        aA4Date4: null,
+        aA4Sign5: null,
+        aA4Date5: null,
+        aI1bSign: null,
+        aI1bDate: null,
+        aI1bSign1: null,
+        aI1bDate1: null,
+        aI1bSign2: null,
+        aI1bDate2: null,
+        aI1bSign3: null,
+        aI1bDate3: null,
+        aI1bSign4: null,
+        aI1bDate4: null,
+        aI1bSign5: null,
+        aI1bDate5: null,
+        aKSign: null,
+        aKDate: null,
+        aKSign1: null,
+        aKDate1: null,
+        aKSign2: null,
+        aKDate2: null,
+        aKSign3: null,
+        aKDate3: null,
+        aKSign4: null,
+        aKDate4: null,
+        aKSign5: null,
+        aKDate5: null,
+        aE3StartTime: null,
+        aE3EndTime: null,
+        aE3StartTime1: null,
+        aE3EndTime1: null,
+        aE3StartTime2: null,
+        aE3EndTime2: null,
+        aE3StartTime3: null,
+        aE3EndTime3: null,
+        aE3StartTime4: null,
+        aE3EndTime4: null,
+        aE3StartTime5: null,
+        aE3EndTime5: null,
+        aE3Sign: null,
+        aE3Date: null,
+        aE3Sign1: null,
+        aE3Date1: null,
+        aE3Sign2: null,
+        aE3Date2: null,
+        aE3Sign3: null,
+        aE3Date3: null,
+        aE3Sign4: null,
+        aE3Date4: null,
+        aE3Sign5: null,
+        aE3Date5: null,
+        hE3StartTime: null,
+        hE3EndTime: null,
+        hE3StartTime1: null,
+        hE3EndTime1: null,
+        hE3StartTime2: null,
+        hE3EndTime2: null,
+        hE3StartTime3: null,
+        hE3EndTime3: null,
+        hE3StartTime4: null,
+        hE3EndTime4: null,
+        hE3StartTime5: null,
+        hE3EndTime5: null,
+        hE3Sign: null,
+        hE3Date: null,
+        hE3Sign1: null,
+        hE3Date1: null,
+        hE3Sign2: null,
+        hE3Date2: null,
+        hE3Sign3: null,
+        hE3Date3: null,
+        hE3Sign4: null,
+        hE3Date4: null,
+        hE3Sign5: null,
+        hE3Date5: null,
+        h51Sign: null,
+        h51Date: null,
+        h51Sign1: null,
+        h51Date1: null,
+        h51Sign2: null,
+        h51Date2: null,
+        h51Sign3: null,
+        h51Date3: null,
+        h51Sign4: null,
+        h51Date4: null,
+        h51Sign5: null,
+        h51Date5: null,
+        h52Sign: null,
+        h52Date: null,
+        h52Sign1: null,
+        h52Date1: null,
+        h52Sign2: null,
+        h52Date2: null,
+        h52Sign3: null,
+        h52Date3: null,
+        h52Sign4: null,
+        h52Date4: null,
+        h52Sign5: null,
+        h52Date5: null,
+        cI2StartTime1: null,
+        cI2EndTime1: null,
+        cI2StartTime11: null,
+        cI2EndTime11: null,
+        cI2StartTime12: null,
+        cI2EndTime12: null,
+        cI2StartTime13: null,
+        cI2EndTime13: null,
+        cI2StartTime14: null,
+        cI2EndTime14: null,
+        cI2StartTime15: null,
+        cI2EndTime15: null,
+        cI2Sign1: null,
+        cI2Date1: null,
+        cI2Sign11: null,
+        cI2Date11: null,
+        cI2Sign12: null,
+        cI2Date12: null,
+        cI2Sign13: null,
+        cI2Date13: null,
+        cI2Sign14: null,
+        cI2Date14: null,
+        cI2Sign15: null,
+        cI2Date15: null,
+        cI2StartTime2: null,
+        cI2EndTime2: null,
+        cI2StartTime21: null,
+        cI2EndTime21: null,
+        cI2StartTime22: null,
+        cI2EndTime22: null,
+        cI2StartTime23: null,
+        cI2EndTime23: null,
+        cI2StartTime24: null,
+        cI2EndTime24: null,
+        cI2StartTime25: null,
+        cI2EndTime25: null,
+        cI2Sign2: null,
+        cI2Date2: null,
+        cI2Sign21: null,
+        cI2Date21: null,
+        cI2Sign22: null,
+        cI2Date22: null,
+        cI2Sign23: null,
+        cI2Date23: null,
+        cI2Sign24: null,
+        cI2Date24: null,
+        cI2Sign25: null,
+        cI2Date25: null,
+      },
+      split: 0,
     }
   },
-  created() {
-    var vId = this.$route.query.vId;
-    this.vId = vId;
+  created: function () {
+    this.form.vId = this.$route.query.vId;
+    this.form.aId = this.$route.query.aId;
+    this.form.hId = this.$route.query.hId;
+    this.form.cId = this.$route.query.cId;
+    //TODO 数据回显查询(延期票号存在的情况下)
+    if (this.form.vId != null) {
+      getDelayPermit(this.form.vId).then(response => {
+        var list = response.data.others;
+        // 设置提交按钮灰色不可使用
+        this.split = list.length;
+        console.log(this.split);
+        if (list.size = 1) {
+          for (let i = 0; i < list.length; i++) {
+            var one = list[i];
+            this.delayData = one;
+            this.allDataView(i);
+          }
+        }
+        var data = response.data;
+        this.form.vId = data.vId;
+        this.form.aId = data.aId;
+        this.form.hId = data.hId;
+        this.form.cId = data.cId;
+        this.msgSuccess(this.$t('延期票数据加载成功'));
+      });
+    }
   },
-  methods: {}
+  methods: {
+    onSubmit() {
+      this.dataSplit(this.split + 1)
+      addDelayPermit(this.form).then(response => {
+        this.form.vId = response.data;
+        this.msgSuccess(this.$t('延期票数据提交成功'));
+      });
+    },
+    dataSplit(splitStr) {
+      if (splitStr == 1) {
+        this.form.startTime = this.form.startTime1;
+        this.form.endTime = this.form.endTime1;
+        this.form.aGSign = this.form.aGSign1;
+        this.form.aGDate = this.form.aGDate1;
+        this.form.aHSign = this.form.aHSign1;
+        this.form.aHDate = this.form.aHDate1;
+        this.form.aI1aSign = this.form.aI1aSign1;
+        this.form.aI1aDate = this.form.aI1aDate1;
+        this.form.aA4Sign = this.form.aA4Sign1;
+        this.form.aA4Date = this.form.aA4Date1;
+        this.form.aI1bSign = this.form.aI1bSign1;
+        this.form.aI1bDate = this.form.aI1bDate1;
+        this.form.aKSign = this.form.aKSign1;
+        this.form.aE3Sign = this.form.aE3Sign1;
+        this.form.aE3Date = this.form.aE3Date1;
+        this.form.aE3StartTime = this.form.aE3StartTime1;
+        this.form.aE3EndTime = this.form.aE3EndTime1;
+        this.form.hE3Sign = this.form.hE3Sign1;
+        this.form.hE3Date = this.form.hE3Date1;
+        this.form.hE3StartTime = this.form.hE3StartTime1;
+        this.form.hE3EndTime = this.form.hE3EndTime1;
+        this.form.h51Sign = this.form.h51Sign1;
+        this.form.h51Date = this.form.h51Date1;
+        this.form.h52Sign = this.form.h52Sign1;
+        this.form.cI2Sign1 = this.form.cI2Sign11;
+        this.form.cI2Date1 = this.form.cI2Date11;
+        this.form.cI2StartTime1 = this.form.cI2StartTime11;
+        this.form.cI2EndTime1 = this.form.cI2EndTime11;
+        this.form.cI2Sign2 = this.form.cI2Sign11;
+        this.form.cI2Date2 = this.form.cI2Date11;
+        this.form.cI2StartTime2 = this.form.cI2StartTime21;
+        this.form.cI2EndTime2 = this.form.cI2EndTime21;
+      }
+      if (splitStr == 2) {
+        this.form.startTime = this.form.startTime2;
+        this.form.endTime = this.form.endTime2;
+        this.form.aGSign = this.form.aGSign2;
+        this.form.aGDate = this.form.aGDate2;
+        this.form.aHSign = this.form.aHSign2;
+        this.form.aHDate = this.form.aHDate2;
+        this.form.aI1aSign = this.form.aI1aSign2;
+        this.form.aI1aDate = this.form.aI1aDate2;
+        this.form.aA4Sign = this.form.aA4Sign2;
+        this.form.aA4Date = this.form.aA4Date2;
+        this.form.aI1bSign = this.form.aI1bSign2;
+        this.form.aI1bDate = this.form.aI1bDate2;
+        this.form.aKSign = this.form.aKSign2;
+        this.form.aE3Sign = this.form.aE3Sign2;
+        this.form.aE3Date = this.form.aE3Date2;
+        this.form.aE3StartTime = this.form.aE3StartTime2;
+        this.form.aE3EndTime = this.form.aE3EndTime2;
+        this.form.hE3Sign = this.form.hE3Sign2;
+        this.form.hE3Date = this.form.hE3Date2;
+        this.form.hE3StartTime = this.form.hE3StartTime2;
+        this.form.hE3EndTime = this.form.hE3EndTime2;
+        this.form.h51Sign = this.form.h51Sign2;
+        this.form.h51Date = this.form.h51Date2;
+        this.form.h52Sign = this.form.h52Sign2;
+        this.form.cI2Sign1 = this.form.cI2Sign12;
+        this.form.cI2Date1 = this.form.cI2Date12;
+        this.form.cI2StartTime1 = this.form.cI2StartTime12;
+        this.form.cI2EndTime1 = this.form.cI2EndTime12;
+        this.form.cI2Sign2 = this.form.cI2Sign12;
+        this.form.cI2Date2 = this.form.cI2Date12;
+        this.form.cI2StartTime2 = this.form.cI2StartTime22;
+        this.form.cI2EndTime2 = this.form.cI2EndTime22;
+      }
+      if (splitStr == 3) {
+        this.form.startTime = this.form.startTime3;
+        this.form.endTime = this.form.endTime3;
+        this.form.aGSign = this.form.aGSign3;
+        this.form.aGDate = this.form.aGDate3;
+        this.form.aHSign = this.form.aHSign3;
+        this.form.aHDate = this.form.aHDate3;
+        this.form.aI1aSign = this.form.aI1aSign3;
+        this.form.aI1aDate = this.form.aI1aDate3;
+        this.form.aA4Sign = this.form.aA4Sign3;
+        this.form.aA4Date = this.form.aA4Date3;
+        this.form.aI1bSign = this.form.aI1bSign3;
+        this.form.aI1bDate = this.form.aI1bDate3;
+        this.form.aKSign = this.form.aKSign3;
+        this.form.aE3Sign = this.form.aE3Sign3;
+        this.form.aE3Date = this.form.aE3Date3;
+        this.form.aE3StartTime = this.form.aE3StartTime3;
+        this.form.aE3EndTime = this.form.aE3EndTime3;
+        this.form.hE3Sign = this.form.hE3Sign3;
+        this.form.hE3Date = this.form.hE3Date3;
+        this.form.hE3StartTime = this.form.hE3StartTime3;
+        this.form.hE3EndTime = this.form.hE3EndTime3;
+        this.form.h51Sign = this.form.h51Sign3;
+        this.form.h51Date = this.form.h51Date3;
+        this.form.h52Sign = this.form.h52Sign3;
+        this.form.cI2Sign1 = this.form.cI2Sign13;
+        this.form.cI2Date1 = this.form.cI2Date13;
+        this.form.cI2StartTime1 = this.form.cI2StartTime13;
+        this.form.cI2EndTime1 = this.form.cI2EndTime13;
+        this.form.cI2Sign2 = this.form.cI2Sign13;
+        this.form.cI2Date2 = this.form.cI2Date13;
+        this.form.cI2StartTime2 = this.form.cI2StartTime23;
+        this.form.cI2EndTime2 = this.form.cI2EndTime23;
+      }
+      if (splitStr == 4) {
+        this.form.startTime = this.form.startTime4;
+        this.form.endTime = this.form.endTime4;
+        this.form.aGSign = this.form.aGSign4;
+        this.form.aGDate = this.form.aGDate4;
+        this.form.aHSign = this.form.aHSign4;
+        this.form.aHDate = this.form.aHDate4;
+        this.form.aI1aSign = this.form.aI1aSign4;
+        this.form.aI1aDate = this.form.aI1aDate4;
+        this.form.aA4Sign = this.form.aA4Sign4;
+        this.form.aA4Date = this.form.aA4Date4;
+        this.form.aI1bSign = this.form.aI1bSign4;
+        this.form.aI1bDate = this.form.aI1bDate4;
+        this.form.aKSign = this.form.aKSign4;
+        this.form.aE3Sign = this.form.aE3Sign4;
+        this.form.aE3Date = this.form.aE3Date4;
+        this.form.aE3StartTime = this.form.aE3StartTime4;
+        this.form.aE3EndTime = this.form.aE3EndTime4;
+        this.form.hE3Sign = this.form.hE3Sign4;
+        this.form.hE3Date = this.form.hE3Date4;
+        this.form.hE3StartTime = this.form.hE3StartTime4;
+        this.form.hE3EndTime = this.form.hE3EndTime4;
+        this.form.h51Sign = this.form.h51Sign4;
+        this.form.h51Date = this.form.h51Date4;
+        this.form.h52Sign = this.form.h52Sign4;
+        this.form.cI2Sign1 = this.form.cI2Sign14;
+        this.form.cI2Date1 = this.form.cI2Date14;
+        this.form.cI2StartTime1 = this.form.cI2StartTime14;
+        this.form.cI2EndTime1 = this.form.cI2EndTime14;
+        this.form.cI2Sign2 = this.form.cI2Sign14;
+        this.form.cI2Date2 = this.form.cI2Date14;
+        this.form.cI2StartTime2 = this.form.cI2StartTime24;
+        this.form.cI2EndTime2 = this.form.cI2EndTime24;
+      }
+      if (splitStr == 5) {
+        this.form.startTime = this.form.startTime5;
+        this.form.endTime = this.form.endTime5;
+        this.form.aGSign = this.form.aGSign5;
+        this.form.aGDate = this.form.aGDate5;
+        this.form.aHSign = this.form.aHSign5;
+        this.form.aHDate = this.form.aHDate5;
+        this.form.aI1aSign = this.form.aI1aSign5;
+        this.form.aI1aDate = this.form.aI1aDate5;
+        this.form.aA4Sign = this.form.aA4Sign5;
+        this.form.aA4Date = this.form.aA4Date5;
+        this.form.aI1bSign = this.form.aI1bSign5;
+        this.form.aI1bDate = this.form.aI1bDate5;
+        this.form.aKSign = this.form.aKSign5;
+        this.form.aE3Sign = this.form.aE3Sign5;
+        this.form.aE3Date = this.form.aE3Date5;
+        this.form.aE3StartTime = this.form.aE3StartTime5;
+        this.form.aE3EndTime = this.form.aE3EndTime5;
+        this.form.hE3Sign = this.form.hE3Sign5;
+        this.form.hE3Date = this.form.hE3Date5;
+        this.form.hE3StartTime = this.form.hE3StartTime5;
+        this.form.hE3EndTime = this.form.hE3EndTime5;
+        this.form.h51Sign = this.form.h51Sign5;
+        this.form.h51Date = this.form.h51Date5;
+        this.form.h52Sign = this.form.h52Sign5;
+        this.form.cI2Sign1 = this.form.cI2Sign15;
+        this.form.cI2Date1 = this.form.cI2Date15;
+        this.form.cI2StartTime1 = this.form.cI2StartTime15;
+        this.form.cI2EndTime1 = this.form.cI2EndTime15;
+        this.form.cI2Sign2 = this.form.cI2Sign15;
+        this.form.cI2Date2 = this.form.cI2Date15;
+        this.form.cI2StartTime2 = this.form.cI2StartTime25;
+        this.form.cI2EndTime2 = this.form.cI2EndTime25;
+      }
+    },
+    allDataView(i) {
+      console.log(i)
+      if (i == 0) {
+        this.dataOneView();
+      }
+      if (i == 1) {
+        this.dataTwoView();
+      }
+      if (i == 2) {
+        this.dataThreeView();
+      }
+      if (i == 3) {
+        this.dataFourView();
+      }
+      if (i == 4) {
+        this.dataFiveView();
+      }
+    },
+    dataOneView() {
+      this.form.startTime1 = this.delayData.startTime;
+      this.form.endTime1 = this.delayData.endTime;
+      this.form.aGSign1 = this.delayData.aGSign;
+      this.form.aGDate1 = this.delayData.aGDate;
+      this.form.aHSign1 = this.delayData.aHSign;
+      this.form.aHDate1 = this.delayData.aHDate;
+      this.form.aI1aSign1 = this.delayData.aI1aSign;
+      this.form.aI1aDate1 = this.delayData.aI1aDate;
+      this.form.aA4Sign1 = this.delayData.aA4Sign;
+      this.form.aA4Date1 = this.delayData.aA4Date;
+      this.form.aI1bSign1 = this.delayData.aI1bSign;
+      this.form.aI1bDate1 = this.delayData.aI1bDate;
+      this.form.aKSign1 = this.delayData.aKSign;
+      this.form.aE3Sign1 = this.delayData.aE3Sign;
+      this.form.aE3Date1 = this.delayData.aE3Date;
+      this.form.aE3StartTime1 = this.delayData.aE3StartTime;
+      this.form.aE3EndTime1 = this.delayData.aE3EndTime;
+      this.form.hE3Sign1 = this.delayData.hE3Sign;
+      this.form.hE3Date1 = this.delayData.hE3Date;
+      this.form.hE3StartTime1 = this.delayData.hE3StartTime;
+      this.form.hE3EndTime1 = this.delayData.hE3EndTime;
+      this.form.h51Sign1 = this.delayData.h51Sign;
+      this.form.h51Date1 = this.delayData.h51Date;
+      this.form.h52Sign1 = this.delayData.h52Sign;
+      this.form.cI2Sign11 = this.delayData.cI2Sign1;
+      this.form.cI2Date11 = this.delayData.cI2Date1;
+      this.form.cI2StartTime11 = this.delayData.cI2StartTime1;
+      this.form.cI2EndTime11 = this.delayData.cI2EndTime1;
+      this.form.cI2Sign21 = this.delayData.cI2Sign1;
+      this.form.cI2Date21 = this.delayData.cI2Date1;
+      this.form.cI2StartTime21 = this.delayData.cI2StartTime2;
+      this.form.cI2EndTime21 = this.delayData.cI2EndTime2;
+    },
+    dataTwoView() {
+      this.form.startTime2 = this.delayData.startTime;
+      this.form.endTime2 = this.delayData.endTime;
+      this.form.aGSign2 = this.delayData.aGSign;
+      this.form.aGDate2 = this.delayData.aGDate;
+      this.form.aHSign2 = this.delayData.aHSign;
+      this.form.aHDate2 = this.delayData.aHDate;
+      this.form.aI1aSign2 = this.delayData.aI1aSign;
+      this.form.aI1aDate2 = this.delayData.aI1aDate;
+      this.form.aA4Sign2 = this.delayData.aA4Sign;
+      this.form.aA4Date2 = this.delayData.aA4Date;
+      this.form.aI1bSign2 = this.delayData.aI1bSign;
+      this.form.aI1bDate2 = this.delayData.aI1bDate;
+      this.form.aKSign2 = this.delayData.aKSign;
+      this.form.aE3Sign2 = this.delayData.aE3Sign;
+      this.form.aE3Date2 = this.delayData.aE3Date;
+      this.form.aE3StartTime2 = this.delayData.aE3StartTime;
+      this.form.aE3EndTime2 = this.delayData.aE3EndTime;
+      this.form.hE3Sign2 = this.delayData.hE3Sign;
+      this.form.hE3Date2 = this.delayData.hE3Date;
+      this.form.hE3StartTime2 = this.delayData.hE3StartTime;
+      this.form.hE3EndTime2 = this.delayData.hE3EndTime;
+      this.form.h51Sign2 = this.delayData.h51Sign;
+      this.form.h51Date2 = this.delayData.h51Date;
+      this.form.h52Sign2 = this.delayData.h52Sign;
+      this.form.cI2Sign12 = this.delayData.cI2Sign1;
+      this.form.cI2Date12 = this.delayData.cI2Date1;
+      this.form.cI2StartTime12 = this.delayData.cI2StartTime1;
+      this.form.cI2EndTime12 = this.delayData.cI2EndTime1;
+      this.form.cI2Sign22 = this.delayData.cI2Sign1;
+      this.form.cI2Date22 = this.delayData.cI2Date1;
+      this.form.cI2StartTime22 = this.delayData.cI2StartTime2;
+      this.form.cI2EndTime22 = this.delayData.cI2EndTime2;
+    },
+    dataThreeView() {
+      this.form.startTime3 = this.delayData.startTime;
+      this.form.endTime3 = this.delayData.endTime;
+      this.form.aGSign3 = this.delayData.aGSign;
+      this.form.aGDate3 = this.delayData.aGDate;
+      this.form.aHSign3 = this.delayData.aHSign;
+      this.form.aHDate3 = this.delayData.aHDate;
+      this.form.aI1aSign3 = this.delayData.aI1aSign;
+      this.form.aI1aDate3 = this.delayData.aI1aDate;
+      this.form.aA4Sign3 = this.delayData.aA4Sign;
+      this.form.aA4Date3 = this.delayData.aA4Date;
+      this.form.aI1bSign3 = this.delayData.aI1bSign;
+      this.form.aI1bDate3 = this.delayData.aI1bDate;
+      this.form.aKSign3 = this.delayData.aKSign;
+      this.form.aE3Sign3 = this.delayData.aE3Sign;
+      this.form.aE3Date3 = this.delayData.aE3Date;
+      this.form.aE3StartTime3 = this.delayData.aE3StartTime;
+      this.form.aE3EndTime3 = this.delayData.aE3EndTime;
+      this.form.hE3Sign3 = this.delayData.hE3Sign;
+      this.form.hE3Date3 = this.delayData.hE3Date;
+      this.form.hE3StartTime3 = this.delayData.hE3StartTime;
+      this.form.hE3EndTime3 = this.delayData.hE3EndTime;
+      this.form.h51Sign3 = this.delayData.h51Sign;
+      this.form.h51Date3 = this.delayData.h51Date;
+      this.form.h52Sign3 = this.delayData.h52Sign;
+      this.form.cI2Sign13 = this.delayData.cI2Sign1;
+      this.form.cI2Date13 = this.delayData.cI2Date1;
+      this.form.cI2StartTime13 = this.delayData.cI2StartTime1;
+      this.form.cI2EndTime13 = this.delayData.cI2EndTime1;
+      this.form.cI2Sign23 = this.delayData.cI2Sign1;
+      this.form.cI2Date23 = this.delayData.cI2Date1;
+      this.form.cI2StartTime23 = this.delayData.cI2StartTime2;
+      this.form.cI2EndTime23 = this.delayData.cI2EndTime2;
+    },
+    dataFourView() {
+      this.form.startTime4 = this.delayData.startTime;
+      this.form.endTime4 = this.delayData.endTime;
+      this.form.aGSign4 = this.delayData.aGSign;
+      this.form.aGDate4 = this.delayData.aGDate;
+      this.form.aHSign4 = this.delayData.aHSign;
+      this.form.aHDate4 = this.delayData.aHDate;
+      this.form.aI1aSign4 = this.delayData.aI1aSign;
+      this.form.aI1aDate4 = this.delayData.aI1aDate;
+      this.form.aA4Sign4 = this.delayData.aA4Sign;
+      this.form.aA4Date4 = this.delayData.aA4Date;
+      this.form.aI1bSign4 = this.delayData.aI1bSign;
+      this.form.aI1bDate4 = this.delayData.aI1bDate;
+      this.form.aKSign4 = this.delayData.aKSign;
+      this.form.aE3Sign4 = this.delayData.aE3Sign;
+      this.form.aE3Date4 = this.delayData.aE3Date;
+      this.form.aE3StartTime4 = this.delayData.aE3StartTime;
+      this.form.aE3EndTime4 = this.delayData.aE3EndTime;
+      this.form.hE3Sign4 = this.delayData.hE3Sign;
+      this.form.hE3Date4 = this.delayData.hE3Date;
+      this.form.hE3StartTime4 = this.delayData.hE3StartTime;
+      this.form.hE3EndTime4 = this.delayData.hE3EndTime;
+      this.form.h51Sign4 = this.delayData.h51Sign;
+      this.form.h51Date4 = this.delayData.h51Date;
+      this.form.h52Sign4 = this.delayData.h52Sign;
+      this.form.cI2Sign14 = this.delayData.cI2Sign1;
+      this.form.cI2Date14 = this.delayData.cI2Date1;
+      this.form.cI2StartTime14 = this.delayData.cI2StartTime1;
+      this.form.cI2EndTime14 = this.delayData.cI2EndTime1;
+      this.form.cI2Sign24 = this.delayData.cI2Sign1;
+      this.form.cI2Date24 = this.delayData.cI2Date1;
+      this.form.cI2StartTime24 = this.delayData.cI2StartTime2;
+      this.form.cI2EndTime24 = this.delayData.cI2EndTime2;
+    },
+    dataFiveView() {
+      this.form.startTime5 = this.delayData.startTime;
+      this.form.endTime5 = this.delayData.endTime;
+      this.form.aGSign5 = this.delayData.aGSign;
+      this.form.aGDate5 = this.delayData.aGDate;
+      this.form.aHSign5 = this.delayData.aHSign;
+      this.form.aHDate5 = this.delayData.aHDate;
+      this.form.aI1aSign5 = this.delayData.aI1aSign;
+      this.form.aI1aDate5 = this.delayData.aI1aDate;
+      this.form.aA4Sign5 = this.delayData.aA4Sign;
+      this.form.aA4Date5 = this.delayData.aA4Date;
+      this.form.aI1bSign5 = this.delayData.aI1bSign;
+      this.form.aI1bDate5 = this.delayData.aI1bDate;
+      this.form.aKSign5 = this.delayData.aKSign;
+      this.form.aE3Sign5 = this.delayData.aE3Sign;
+      this.form.aE3Date5 = this.delayData.aE3Date;
+      this.form.aE3StartTime5 = this.delayData.aE3StartTime;
+      this.form.aE3EndTime5 = this.delayData.aE3EndTime;
+      this.form.hE3Sign5 = this.delayData.hE3Sign;
+      this.form.hE3Date5 = this.delayData.hE3Date;
+      this.form.hE3StartTime5 = this.delayData.hE3StartTime;
+      this.form.hE3EndTime5 = this.delayData.hE3EndTime;
+      this.form.h51Sign5 = this.delayData.h51Sign;
+      this.form.h51Date5 = this.delayData.h51Date;
+      this.form.h52Sign5 = this.delayData.h52Sign;
+      this.form.cI2Sign15 = this.delayData.cI2Sign1;
+      this.form.cI2Date15 = this.delayData.cI2Date1;
+      this.form.cI2StartTime15 = this.delayData.cI2StartTime1;
+      this.form.cI2EndTime15 = this.delayData.cI2EndTime1;
+      this.form.cI2Sign25 = this.delayData.cI2Sign1;
+      this.form.cI2Date25 = this.delayData.cI2Date1;
+      this.form.cI2StartTime25 = this.delayData.cI2StartTime2;
+      this.form.cI2EndTime25 = this.delayData.cI2EndTime2;
+    }
+  }
 }
 </script>
 

+ 23 - 12
ui/src/views/invoicing/ticketList/index.vue

@@ -1,21 +1,20 @@
 <template>
   <div class="app-container">
-    <el-table v-loading="loading" :data="ticketList" border row-key="hVNoOne"
+    <el-table v-loading="loading" :data="ticketList" border row-key="aId"
               :tree-props="{children: 'children', hasChildren: 'hasChildren'}">
-      <!--      <el-table-column label="编号" align="center" prop="aId" :show-overflow-tooltip="true"/>-->
-      <!--      <el-table-column label="日期" align="center" prop="plantCode" :show-overflow-tooltip="true"/>
-            <el-table-column label="时间" align="center" prop="year" :show-overflow-tooltip="true"/>
-            <el-table-column label="班组" align="center" prop="fileName" :show-overflow-tooltip="true"/>
-            <el-table-column label="签发人" align="center" prop="filePath" :show-overflow-tooltip="true"/>-->
-      <el-table-column label="延期票号" align="center" prop="hVNoOne" :show-overflow-tooltip="true">
+      <el-table-column label="日期" align="center" prop="plantCode" :show-overflow-tooltip="true"/>
+      <el-table-column label="时间" align="center" prop="year" :show-overflow-tooltip="true"/>
+      <el-table-column label="班组" align="center" prop="fileName" :show-overflow-tooltip="true"/>
+      <el-table-column label="签发人" align="center" prop="filePath" :show-overflow-tooltip="true"/>
+      <el-table-column label="延期次数" align="center" prop="delayCount" :show-overflow-tooltip="true">
         <template slot-scope="{row}">
-          {{ row.hVNoOne || '-' }}
+          {{ row.delayCount || '-' }}
         </template>
       </el-table-column>
       <el-table-column label="续票状态" align="center" prop="filePath" :show-overflow-tooltip="true"/>
       <el-table-column label="危害工作许可证票号" align="center" prop="aId" :show-overflow-tooltip="true"/>
-      <!--      <el-table-column label="动火工作许可证票号" align="center" prop="hId" :show-overflow-tooltip="true"/>
-            <el-table-column label="动火作业等级" align="center" prop="hId" :show-overflow-tooltip="true"/>-->
+      <el-table-column label="动火工作许可证票号" align="center" prop="hId" :show-overflow-tooltip="true"/>
+      <el-table-column label="动火作业等级" align="center" prop="hId" :show-overflow-tooltip="true"/>
       <el-table-column label="限制性空间进入许可证票号" align="center" prop="cId" :show-overflow-tooltip="true"/>
       <el-table-column label="工作内容" align="center" prop="bWorkContent" :show-overflow-tooltip="true"/>
       <el-table-column label="操作" align="center" fixed="right" width="160" class-name="small-padding fixed-width">
@@ -81,6 +80,7 @@ export default {
       this.loading = true;
       listTicket(this.queryParams).then(response => {
         this.ticketList = response.rows;
+        console.log(this.ticketList);
         this.total = response.total;
         this.loading = false;
       });
@@ -101,11 +101,22 @@ export default {
     },
     /** 延期操作 */
     delay(row) {
-      if (row.hVNoOne != null) {
+      //TODO 缺少延期次数的校验
+      if (row.delayNo != null) {
         this.$router.push({
           path: '/ticket/delaypermit',
           query: {
-            vId: row.hVNoOne
+            vId: row.delayNo
+          }
+        });
+      }
+      if (row.delayNo == null) {
+        this.$router.push({
+          path: '/ticket/delaypermit',
+          query: {
+            aId: row.aId,
+            hId: row.hId,
+            cId: row.cId,
           }
         });
       }