Browse Source

feat: 辅助决策/维修任务

wanggaokun 1 year ago
parent
commit
428c6de9d0
16 changed files with 1345 additions and 0 deletions
  1. 121 0
      als-modules/agile-assurance/src/main/java/org/eco/als/controller/MaintenanceDecisionController.java
  2. 121 0
      als-modules/agile-assurance/src/main/java/org/eco/als/controller/MaintenanceTaskController.java
  3. 81 0
      als-modules/agile-assurance/src/main/java/org/eco/als/domain/MaintenanceDecision.java
  4. 82 0
      als-modules/agile-assurance/src/main/java/org/eco/als/domain/MaintenanceTask.java
  5. 74 0
      als-modules/agile-assurance/src/main/java/org/eco/als/domain/bo/MaintenanceDecisionBo.java
  6. 84 0
      als-modules/agile-assurance/src/main/java/org/eco/als/domain/bo/MaintenanceTaskBo.java
  7. 109 0
      als-modules/agile-assurance/src/main/java/org/eco/als/domain/vo/MaintenanceDecisionVo.java
  8. 113 0
      als-modules/agile-assurance/src/main/java/org/eco/als/domain/vo/MaintenanceTaskVo.java
  9. 16 0
      als-modules/agile-assurance/src/main/java/org/eco/als/mapper/MaintenanceDecisionMapper.java
  10. 16 0
      als-modules/agile-assurance/src/main/java/org/eco/als/mapper/MaintenanceTaskMapper.java
  11. 86 0
      als-modules/agile-assurance/src/main/java/org/eco/als/service/IMaintenanceDecisionService.java
  12. 86 0
      als-modules/agile-assurance/src/main/java/org/eco/als/service/IMaintenanceTaskService.java
  13. 171 0
      als-modules/agile-assurance/src/main/java/org/eco/als/service/impl/MaintenanceDecisionServiceImpl.java
  14. 171 0
      als-modules/agile-assurance/src/main/java/org/eco/als/service/impl/MaintenanceTaskServiceImpl.java
  15. 7 0
      als-modules/agile-assurance/src/main/resources/mapper/als/MaintenanceDecisionMapper.xml
  16. 7 0
      als-modules/agile-assurance/src/main/resources/mapper/als/MaintenanceTaskMapper.xml

+ 121 - 0
als-modules/agile-assurance/src/main/java/org/eco/als/controller/MaintenanceDecisionController.java

@@ -0,0 +1,121 @@
+package org.eco.als.controller;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import cn.hutool.core.collection.CollUtil;
+import jakarta.annotation.Resource;
+import lombok.RequiredArgsConstructor;
+import org.eco.als.domain.bo.MaintenanceDecisionBo;
+import org.eco.als.domain.vo.MaintenanceDecisionVo;
+import org.eco.als.service.IMaintenanceDecisionService;
+import org.eco.common.core.core.domain.CommonResult;
+import org.eco.common.core.core.domain.model.LoginUser;
+import org.eco.common.core.core.page.PageResult;
+import org.eco.common.log.annotation.Log;
+import org.eco.common.log.enums.BusinessType;
+import org.eco.common.security.utils.LoginHelper;
+import org.eco.common.web.annotation.RepeatSubmit;
+import org.eco.common.web.core.BaseController;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * 辅助维修决策Controller
+ *
+ * @author wgk
+ * @date 2024-07-24
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/als/maintenanceDecision")
+public class MaintenanceDecisionController extends BaseController {
+    @Resource
+    private IMaintenanceDecisionService maintenanceDecisionService;
+
+    /**
+     * 查询辅助维修决策列表
+     */
+    @SaCheckPermission("als:maintenanceDecision:list")
+    @GetMapping("/list")
+    public CommonResult<PageResult<MaintenanceDecisionVo>> list(MaintenanceDecisionBo maintenanceDecisionBo) {
+        return CommonResult.success(maintenanceDecisionService.selectPage(maintenanceDecisionBo));
+    }
+
+    /**
+     * 导出辅助维修决策列表
+     */
+    @SaCheckPermission("als:maintenanceDecision:export")
+    @Log(title = "辅助维修决策", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public CommonResult<Void> export(MaintenanceDecisionBo maintenanceDecisionBo) {
+        LoginUser loginUser = LoginHelper.getLoginUser();
+        List<MaintenanceDecisionVo> list = maintenanceDecisionService.selectList(maintenanceDecisionBo);
+        if (CollUtil.isEmpty(list)) {
+            return CommonResult.fail("导出列表为空");
+        }
+        maintenanceDecisionService.asyncExport(list, "辅助维修决策", loginUser);
+        return CommonResult.success();
+    }
+
+    /**
+     * 获取辅助维修决策详细信息
+     */
+    @SaCheckPermission("als:maintenanceDecision:query")
+    @GetMapping(value = "/{id}")
+    public CommonResult<MaintenanceDecisionVo> getInfo(@PathVariable Long id) {
+        return CommonResult.success(maintenanceDecisionService.selectById(id));
+    }
+
+    /**
+     * 新增辅助维修决策
+     */
+    @SaCheckPermission("als:maintenanceDecision:add")
+    @Log(title = "辅助维修决策", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping
+    public CommonResult<Void> add(@Validated @RequestBody MaintenanceDecisionBo maintenanceDecisionBo) {
+        boolean inserted = maintenanceDecisionService.insert(maintenanceDecisionBo);
+        if (!inserted) {
+            return CommonResult.fail("新增辅助维修决策记录失败!");
+        }
+        return CommonResult.success();
+    }
+
+    /**
+     * 修改辅助维修决策
+     */
+    @SaCheckPermission("als:maintenanceDecision:edit")
+    @Log(title = "辅助维修决策", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PutMapping
+    public CommonResult<Void> edit(@Validated @RequestBody MaintenanceDecisionBo maintenanceDecisionBo) {
+        boolean updated = maintenanceDecisionService.update(maintenanceDecisionBo);
+        if (!updated) {
+            return CommonResult.fail("修改辅助维修决策记录失败!");
+        }
+        return CommonResult.success();
+    }
+
+    /**
+     * 删除辅助维修决策
+     */
+    @SaCheckPermission("als:maintenanceDecision:remove")
+    @Log(title = "辅助维修决策", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public CommonResult<Void> remove(@PathVariable Long[] ids) {
+        boolean deleted = maintenanceDecisionService.deleteByIds(ids);
+        if (!deleted) {
+            return CommonResult.fail("删除辅助维修决策记录失败!");
+        }
+        return CommonResult.success();
+    }
+}

+ 121 - 0
als-modules/agile-assurance/src/main/java/org/eco/als/controller/MaintenanceTaskController.java

@@ -0,0 +1,121 @@
+package org.eco.als.controller;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import cn.hutool.core.collection.CollUtil;
+import jakarta.annotation.Resource;
+import lombok.RequiredArgsConstructor;
+import org.eco.als.domain.bo.MaintenanceTaskBo;
+import org.eco.als.domain.vo.MaintenanceTaskVo;
+import org.eco.als.service.IMaintenanceTaskService;
+import org.eco.common.core.core.domain.CommonResult;
+import org.eco.common.core.core.domain.model.LoginUser;
+import org.eco.common.core.core.page.PageResult;
+import org.eco.common.log.annotation.Log;
+import org.eco.common.log.enums.BusinessType;
+import org.eco.common.security.utils.LoginHelper;
+import org.eco.common.web.annotation.RepeatSubmit;
+import org.eco.common.web.core.BaseController;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * 维修任务Controller
+ *
+ * @author wgk
+ * @date 2024-07-24
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/als/maintenanceTask")
+public class MaintenanceTaskController extends BaseController {
+    @Resource
+    private IMaintenanceTaskService maintenanceTaskService;
+
+    /**
+     * 查询维修任务列表
+     */
+    @SaCheckPermission("als:maintenanceTask:list")
+    @GetMapping("/list")
+    public CommonResult<PageResult<MaintenanceTaskVo>> list(MaintenanceTaskBo maintenanceTaskBo) {
+        return CommonResult.success(maintenanceTaskService.selectPage(maintenanceTaskBo));
+    }
+
+    /**
+     * 导出维修任务列表
+     */
+    @SaCheckPermission("als:maintenanceTask:export")
+    @Log(title = "维修任务", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public CommonResult<Void> export(MaintenanceTaskBo maintenanceTaskBo) {
+        LoginUser loginUser = LoginHelper.getLoginUser();
+        List<MaintenanceTaskVo> list = maintenanceTaskService.selectList(maintenanceTaskBo);
+        if (CollUtil.isEmpty(list)) {
+            return CommonResult.fail("导出列表为空");
+        }
+        maintenanceTaskService.asyncExport(list, "维修任务", loginUser);
+        return CommonResult.success();
+    }
+
+    /**
+     * 获取维修任务详细信息
+     */
+    @SaCheckPermission("als:maintenanceTask:query")
+    @GetMapping(value = "/{id}")
+    public CommonResult<MaintenanceTaskVo> getInfo(@PathVariable Long id) {
+        return CommonResult.success(maintenanceTaskService.selectById(id));
+    }
+
+    /**
+     * 新增维修任务
+     */
+    @SaCheckPermission("als:maintenanceTask:add")
+    @Log(title = "维修任务", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping
+    public CommonResult<Void> add(@Validated @RequestBody MaintenanceTaskBo maintenanceTaskBo) {
+        boolean inserted = maintenanceTaskService.insert(maintenanceTaskBo);
+        if (!inserted) {
+            return CommonResult.fail("新增维修任务记录失败!");
+        }
+        return CommonResult.success();
+    }
+
+    /**
+     * 修改维修任务
+     */
+    @SaCheckPermission("als:maintenanceTask:edit")
+    @Log(title = "维修任务", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PutMapping
+    public CommonResult<Void> edit(@Validated @RequestBody MaintenanceTaskBo maintenanceTaskBo) {
+        boolean updated = maintenanceTaskService.update(maintenanceTaskBo);
+        if (!updated) {
+            return CommonResult.fail("修改维修任务记录失败!");
+        }
+        return CommonResult.success();
+    }
+
+    /**
+     * 删除维修任务
+     */
+    @SaCheckPermission("als:maintenanceTask:remove")
+    @Log(title = "维修任务", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public CommonResult<Void> remove(@PathVariable Long[] ids) {
+        boolean deleted = maintenanceTaskService.deleteByIds(ids);
+        if (!deleted) {
+            return CommonResult.fail("删除维修任务记录失败!");
+        }
+        return CommonResult.success();
+    }
+}

+ 81 - 0
als-modules/agile-assurance/src/main/java/org/eco/als/domain/MaintenanceDecision.java

@@ -0,0 +1,81 @@
+package org.eco.als.domain;
+
+import com.mybatisflex.annotation.Column;
+import com.mybatisflex.annotation.Id;
+import com.mybatisflex.annotation.Table;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.eco.common.orm.core.domain.BaseEntity;
+
+import java.io.Serial;
+
+/**
+ * 辅助维修决策对象 als_maintenance_decision_t
+ *
+ * @author wgk
+ * @date 2024-07-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Table(value = "als_maintenance_decision_t")
+public class MaintenanceDecision extends BaseEntity {
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 编号
+     */
+    @Id
+    private Long id;
+
+    /**
+     * 架次号
+     */
+    private Long sortieNo;
+
+    /**
+     * 机号
+     */
+    private Integer aircraftNo;
+
+    /**
+     * 诊断结果
+     */
+    private Long resultId;
+
+    /**
+     * 故障代码
+     */
+    private String code;
+
+    /**
+     * 系统
+     */
+    private String systemName;
+
+    /**
+     * 单位
+     */
+    private String unitName;
+
+    /**
+     * 故障部件
+     */
+    private String faultPart;
+
+    /**
+     * 维修建议
+     */
+    private String proposal;
+
+    /**
+     * 状态(1正常)
+     */
+    private String status;
+
+    /**
+     * 删除标识(1删除 0未删除)
+     */
+    @Column(isLogicDelete = true)
+    private Integer delFlag;
+}

+ 82 - 0
als-modules/agile-assurance/src/main/java/org/eco/als/domain/MaintenanceTask.java

@@ -0,0 +1,82 @@
+package org.eco.als.domain;
+
+import com.mybatisflex.annotation.Column;
+import com.mybatisflex.annotation.Id;
+import com.mybatisflex.annotation.Table;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.eco.common.orm.core.domain.BaseEntity;
+
+import java.io.Serial;
+import java.util.Date;
+
+/**
+ * 维修任务对象 als_maintenance_task_t
+ *
+ * @author wgk
+ * @date 2024-07-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Table(value = "als_maintenance_task_t")
+public class MaintenanceTask extends BaseEntity {
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 编号
+     */
+    @Id
+    private Long id;
+
+    /**
+     * 架次号
+     */
+    private Long sortieNo;
+
+    /**
+     * 机号
+     */
+    private Integer aircraftNo;
+
+    /**
+     * 所属系统
+     */
+    private String systemName;
+
+    /**
+     * 单位
+     */
+    private String unitName;
+
+    /**
+     * 处理人
+     */
+    private String operator;
+
+    /**
+     * 故障部件
+     */
+    private String faultPart;
+
+    /**
+     * 维修建议
+     */
+    private String proposal;
+
+    /**
+     * 维修时间
+     */
+    private Date handlerDate;
+
+    /**
+     * 状态(1正常)
+     */
+    private String status;
+
+    /**
+     * 删除标识(1删除 0未删除)
+     */
+    @Column(isLogicDelete = true)
+    private Integer delFlag;
+}

+ 74 - 0
als-modules/agile-assurance/src/main/java/org/eco/als/domain/bo/MaintenanceDecisionBo.java

@@ -0,0 +1,74 @@
+package org.eco.als.domain.bo;
+
+import io.github.linpeilie.annotations.AutoMapper;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.eco.als.domain.MaintenanceDecision;
+import org.eco.common.orm.core.domain.BaseEntity;
+
+/**
+ * 辅助维修决策业务对象 als_maintenance_decision_t
+ *
+ * @author wgk
+ * @date 2024-07-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = MaintenanceDecision.class, reverseConvertGenerate = false)
+public class MaintenanceDecisionBo extends BaseEntity {
+    /**
+     * 编号
+     */
+    private Long id;
+
+    /**
+     * 架次号
+     */
+    @NotNull(message = "架次号不能为空")
+    private Long sortieNo;
+
+    /**
+     * 机号
+     */
+    @NotNull(message = "机号不能为空")
+    private Integer aircraftNo;
+
+    /**
+     * 故障代码
+     */
+    @NotBlank(message = "故障代码不能为空")
+    private String code;
+
+    /**
+     * 系统
+     */
+    @NotBlank(message = "系统不能为空")
+    private String systemName;
+
+    /**
+     * 单位
+     */
+    @NotBlank(message = "单位不能为空")
+    private String unitName;
+
+    /**
+     * 故障部件
+     */
+    @NotBlank(message = "故障部件不能为空")
+    private String faultPart;
+
+    /**
+     * 维修建议
+     */
+    @NotBlank(message = "维修建议不能为空")
+    private String proposal;
+
+    /**
+     * 状态(1正常)
+     */
+    private String status;
+
+
+}

+ 84 - 0
als-modules/agile-assurance/src/main/java/org/eco/als/domain/bo/MaintenanceTaskBo.java

@@ -0,0 +1,84 @@
+package org.eco.als.domain.bo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.github.linpeilie.annotations.AutoMapper;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.eco.als.domain.MaintenanceTask;
+import org.eco.common.orm.core.domain.BaseEntity;
+
+import java.util.Date;
+
+/**
+ * 维修任务业务对象 als_maintenance_task_t
+ *
+ * @author wgk
+ * @date 2024-07-24
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = MaintenanceTask.class, reverseConvertGenerate = false)
+public class MaintenanceTaskBo extends BaseEntity {
+    /**
+     * 编号
+     */
+    private Long id;
+
+    /**
+     * 架次号
+     */
+    @NotNull(message = "架次号不能为空")
+    private Long sortieNo;
+
+    /**
+     * 机号
+     */
+    @NotNull(message = "机号不能为空")
+    private Integer aircraftNo;
+
+    /**
+     * 所属系统
+     */
+    @NotBlank(message = "所属系统不能为空")
+    private String systemName;
+
+    /**
+     * 单位
+     */
+    @NotBlank(message = "单位不能为空")
+    private String unitName;
+
+    /**
+     * 处理人
+     */
+    @NotBlank(message = "处理人不能为空")
+    private String operator;
+
+    /**
+     * 故障部件
+     */
+    @NotBlank(message = "故障部件不能为空")
+    private String faultPart;
+
+    /**
+     * 维修建议
+     */
+    @NotBlank(message = "维修建议不能为空")
+    private String proposal;
+
+    /**
+     * 维修时间
+     */
+    @NotNull(message = "维修时间不能为空")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private Date handlerDate;
+
+    /**
+     * 状态(1正常)
+     */
+    private String status;
+
+
+}

+ 109 - 0
als-modules/agile-assurance/src/main/java/org/eco/als/domain/vo/MaintenanceDecisionVo.java

@@ -0,0 +1,109 @@
+package org.eco.als.domain.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.eco.common.mapper.annotation.FieldMapper;
+import com.eco.common.mapper.constant.MapperConstant;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.eco.als.domain.MaintenanceDecision;
+import org.eco.common.orm.core.domain.BaseEntity;
+
+import java.io.Serial;
+import java.io.Serializable;
+
+/**
+ * 辅助维修决策视图对象 als_maintenance_decision_t
+ *
+ * @author wgk
+ * @date 2024-07-24
+ */
+@Data
+@ExcelIgnoreUnannotated
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = MaintenanceDecision.class)
+public class MaintenanceDecisionVo extends BaseEntity implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 编号
+     */
+    @ExcelProperty(value = "编号")
+    private Long id;
+
+    /**
+     * 架次号
+     */
+    @ExcelProperty(value = "架次号")
+    private Long sortieNo;
+
+    /**
+     * 机号
+     */
+    @ExcelProperty(value = "机号")
+    private Integer aircraftNo;
+
+    /**
+     * 诊断结果
+     */
+    @ExcelProperty(value = "诊断结果")
+    private Long resultId;
+
+    /**
+     * 故障代码
+     */
+    @ExcelProperty(value = "故障代码")
+    private String code;
+
+    /**
+     * 系统
+     */
+    @ExcelProperty(value = "系统")
+    private String systemName;
+
+    /**
+     * 单位
+     */
+    @ExcelProperty(value = "单位")
+    private String unitName;
+
+    /**
+     * 故障部件
+     */
+    @ExcelProperty(value = "故障部件")
+    private String faultPart;
+
+    /**
+     * 维修建议
+     */
+    @ExcelProperty(value = "维修建议")
+    private String proposal;
+
+    /**
+     * 状态(1正常)
+     */
+    @ExcelProperty(value = "状态(1正常)")
+    private String status;
+
+    /**
+     * 删除标识(1删除 0未删除)
+     */
+    private Integer delFlag;
+
+
+    /**
+     * 创建人名称
+     */
+    @FieldMapper(type = MapperConstant.USER_ID_TO_NAME, mapper = "createBy")
+    private String createByName;
+
+    /**
+     * 创建人名称
+     */
+    @FieldMapper(type = MapperConstant.USER_ID_TO_NAME, mapper = "updateBy")
+    private String updateByName;
+
+}

+ 113 - 0
als-modules/agile-assurance/src/main/java/org/eco/als/domain/vo/MaintenanceTaskVo.java

@@ -0,0 +1,113 @@
+package org.eco.als.domain.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.eco.common.mapper.annotation.FieldMapper;
+import com.eco.common.mapper.constant.MapperConstant;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import org.eco.als.domain.MaintenanceTask;
+import org.eco.common.excel.annotation.ExcelDictFormat;
+import org.eco.common.excel.convert.ExcelDictConvert;
+import org.eco.common.orm.core.domain.BaseEntity;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 维修任务视图对象 als_maintenance_task_t
+ *
+ * @author wgk
+ * @date 2024-07-24
+ */
+@Data
+@ExcelIgnoreUnannotated
+@EqualsAndHashCode(callSuper = true)
+@AutoMapper(target = MaintenanceTask.class)
+public class MaintenanceTaskVo extends BaseEntity implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 编号
+     */
+    @ExcelProperty(value = "编号")
+    private Long id;
+
+    /**
+     * 架次号
+     */
+    @ExcelProperty(value = "架次号")
+    private Long sortieNo;
+
+    /**
+     * 机号
+     */
+    @ExcelProperty(value = "机号")
+    private Integer aircraftNo;
+
+    /**
+     * 所属系统
+     */
+    @ExcelProperty(value = "所属系统")
+    private String systemName;
+
+    /**
+     * 单位
+     */
+    @ExcelProperty(value = "单位")
+    private String unitName;
+
+    /**
+     * 处理人
+     */
+    @ExcelProperty(value = "处理人")
+    private String operator;
+
+    /**
+     * 故障部件
+     */
+    @ExcelProperty(value = "故障部件")
+    private String faultPart;
+
+    /**
+     * 维修建议
+     */
+    @ExcelProperty(value = "维修建议")
+    private String proposal;
+
+    /**
+     * 维修时间
+     */
+    @ExcelProperty(value = "维修时间")
+    private Date handlerDate;
+
+    /**
+     * 状态(1正常)
+     */
+    @ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
+    @ExcelDictFormat(dictType = "common_type")
+    private String status;
+
+    /**
+     * 删除标识(1删除 0未删除)
+     */
+    private Integer delFlag;
+
+
+    /**
+     * 创建人名称
+     */
+    @FieldMapper(type = MapperConstant.USER_ID_TO_NAME, mapper = "createBy")
+    private String createByName;
+
+    /**
+     * 创建人名称
+     */
+    @FieldMapper(type = MapperConstant.USER_ID_TO_NAME, mapper = "updateBy")
+    private String updateByName;
+
+}

+ 16 - 0
als-modules/agile-assurance/src/main/java/org/eco/als/mapper/MaintenanceDecisionMapper.java

@@ -0,0 +1,16 @@
+package org.eco.als.mapper;
+
+import com.mybatisflex.core.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.eco.als.domain.MaintenanceDecision;
+
+/**
+ * 辅助维修决策Mapper接口
+ *
+ * @author wgk
+ * @date 2024-07-24
+ */
+@Mapper
+public interface MaintenanceDecisionMapper extends BaseMapper<MaintenanceDecision> {
+
+}

+ 16 - 0
als-modules/agile-assurance/src/main/java/org/eco/als/mapper/MaintenanceTaskMapper.java

@@ -0,0 +1,16 @@
+package org.eco.als.mapper;
+
+import com.mybatisflex.core.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.eco.als.domain.MaintenanceTask;
+
+/**
+ * 维修任务Mapper接口
+ *
+ * @author wgk
+ * @date 2024-07-24
+ */
+@Mapper
+public interface MaintenanceTaskMapper extends BaseMapper<MaintenanceTask> {
+
+}

+ 86 - 0
als-modules/agile-assurance/src/main/java/org/eco/als/service/IMaintenanceDecisionService.java

@@ -0,0 +1,86 @@
+package org.eco.als.service;
+
+import org.eco.als.domain.MaintenanceDecision;
+import org.eco.als.domain.bo.MaintenanceDecisionBo;
+import org.eco.als.domain.vo.MaintenanceDecisionVo;
+import org.eco.common.core.core.domain.model.LoginUser;
+import org.eco.common.core.core.page.PageResult;
+import org.eco.common.orm.core.service.IBaseService;
+import org.springframework.scheduling.annotation.Async;
+
+import java.util.List;
+
+/**
+ * 辅助维修决策Service接口
+ *
+ * @author wgk
+ * @date 2024-07-24
+ */
+public interface IMaintenanceDecisionService extends IBaseService<MaintenanceDecision> {
+    /**
+     * 查询辅助维修决策
+     *
+     * @param id 辅助维修决策主键
+     * @return 辅助维修决策
+     */
+    MaintenanceDecisionVo selectById(Long id);
+
+    /**
+     * 查询辅助维修决策列表
+     *
+     * @param maintenanceDecisionBo 辅助维修决策Bo
+     * @return 辅助维修决策集合
+     */
+    List<MaintenanceDecisionVo> selectList(MaintenanceDecisionBo maintenanceDecisionBo);
+
+    /**
+     * 分页查询辅助维修决策列表
+     *
+     * @param maintenanceDecisionBo 辅助维修决策Bo
+     * @return 分页辅助维修决策集合
+     */
+    PageResult<MaintenanceDecisionVo> selectPage(MaintenanceDecisionBo maintenanceDecisionBo);
+
+    /**
+     * 新增辅助维修决策
+     *
+     * @param maintenanceDecisionBo 辅助维修决策Bo
+     * @return 结果:true 操作成功,false 操作失败
+     */
+    boolean insert(MaintenanceDecisionBo maintenanceDecisionBo);
+
+    /**
+     * 新增辅助维修决策,前台提供主键值,一般用于导入的场合
+     *
+     * @param maintenanceDecisionBo 辅助维修决策Bo
+     * @return 结果:true 操作成功,false 操作失败
+     */
+    boolean insertWithPk(MaintenanceDecisionBo maintenanceDecisionBo);
+
+    /**
+     * 修改辅助维修决策
+     *
+     * @param maintenanceDecisionBo 辅助维修决策Bo
+     * @return 结果:true 更新成功,false 更新失败
+     */
+    boolean update(MaintenanceDecisionBo maintenanceDecisionBo);
+
+    /**
+     * 批量删除辅助维修决策
+     *
+     * @param ids 需要删除的辅助维修决策主键集合
+     * @return 结果:true 删除成功,false 删除失败
+     */
+    boolean deleteByIds(Long[] ids);
+
+    /**
+     * asyncExport 异步导出
+     *
+     * @param listVo    数据列表
+     * @param sheetName 文件名称
+     * @param user      上下文
+     */
+    @Async
+    void asyncExport(List<MaintenanceDecisionVo> listVo, String sheetName, LoginUser user);
+
+}

+ 86 - 0
als-modules/agile-assurance/src/main/java/org/eco/als/service/IMaintenanceTaskService.java

@@ -0,0 +1,86 @@
+package org.eco.als.service;
+
+import org.eco.als.domain.MaintenanceTask;
+import org.eco.als.domain.bo.MaintenanceTaskBo;
+import org.eco.als.domain.vo.MaintenanceTaskVo;
+import org.eco.common.core.core.domain.model.LoginUser;
+import org.eco.common.core.core.page.PageResult;
+import org.eco.common.orm.core.service.IBaseService;
+import org.springframework.scheduling.annotation.Async;
+
+import java.util.List;
+
+/**
+ * 维修任务Service接口
+ *
+ * @author wgk
+ * @date 2024-07-24
+ */
+public interface IMaintenanceTaskService extends IBaseService<MaintenanceTask> {
+    /**
+     * 查询维修任务
+     *
+     * @param id 维修任务主键
+     * @return 维修任务
+     */
+    MaintenanceTaskVo selectById(Long id);
+
+    /**
+     * 查询维修任务列表
+     *
+     * @param maintenanceTaskBo 维修任务Bo
+     * @return 维修任务集合
+     */
+    List<MaintenanceTaskVo> selectList(MaintenanceTaskBo maintenanceTaskBo);
+
+    /**
+     * 分页查询维修任务列表
+     *
+     * @param maintenanceTaskBo 维修任务Bo
+     * @return 分页维修任务集合
+     */
+    PageResult<MaintenanceTaskVo> selectPage(MaintenanceTaskBo maintenanceTaskBo);
+
+    /**
+     * 新增维修任务
+     *
+     * @param maintenanceTaskBo 维修任务Bo
+     * @return 结果:true 操作成功,false 操作失败
+     */
+    boolean insert(MaintenanceTaskBo maintenanceTaskBo);
+
+    /**
+     * 新增维修任务,前台提供主键值,一般用于导入的场合
+     *
+     * @param maintenanceTaskBo 维修任务Bo
+     * @return 结果:true 操作成功,false 操作失败
+     */
+    boolean insertWithPk(MaintenanceTaskBo maintenanceTaskBo);
+
+    /**
+     * 修改维修任务
+     *
+     * @param maintenanceTaskBo 维修任务Bo
+     * @return 结果:true 更新成功,false 更新失败
+     */
+    boolean update(MaintenanceTaskBo maintenanceTaskBo);
+
+    /**
+     * 批量删除维修任务
+     *
+     * @param ids 需要删除的维修任务主键集合
+     * @return 结果:true 删除成功,false 删除失败
+     */
+    boolean deleteByIds(Long[] ids);
+
+    /**
+     * asyncExport 异步导出
+     *
+     * @param listVo    数据列表
+     * @param sheetName 文件名称
+     * @param user      上下文
+     */
+    @Async
+    void asyncExport(List<MaintenanceTaskVo> listVo, String sheetName, LoginUser user);
+
+}

+ 171 - 0
als-modules/agile-assurance/src/main/java/org/eco/als/service/impl/MaintenanceDecisionServiceImpl.java

@@ -0,0 +1,171 @@
+package org.eco.als.service.impl;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.mybatisflex.core.paginate.Page;
+import com.mybatisflex.core.query.QueryWrapper;
+import jakarta.annotation.Resource;
+import lombok.extern.slf4j.Slf4j;
+import org.eco.als.domain.MaintenanceDecision;
+import org.eco.als.domain.bo.MaintenanceDecisionBo;
+import org.eco.als.domain.vo.MaintenanceDecisionVo;
+import org.eco.als.mapper.MaintenanceDecisionMapper;
+import org.eco.als.service.IMaintenanceDecisionService;
+import org.eco.common.core.core.domain.model.LoginUser;
+import org.eco.common.core.core.page.PageResult;
+import org.eco.common.core.utils.MapstructUtils;
+import org.eco.common.excel.entity.ExcelResultRes;
+import org.eco.common.excel.service.IExcelService;
+import org.eco.common.orm.core.page.PageQuery;
+import org.eco.common.orm.core.service.impl.BaseServiceImpl;
+import org.eco.system.service.IImportExportService;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Arrays;
+import java.util.List;
+
+import static org.eco.als.domain.table.MaintenanceDecisionTableDef.MAINTENANCE_DECISION;
+
+/**
+ * 辅助维修决策Service业务层处理
+ *
+ * @author wgk
+ * @date 2024-07-24
+ */
+@Service
+@Slf4j
+public class MaintenanceDecisionServiceImpl extends BaseServiceImpl<MaintenanceDecisionMapper, MaintenanceDecision> implements IMaintenanceDecisionService {
+    @Resource
+    private MaintenanceDecisionMapper maintenanceDecisionMapper;
+
+    @Resource
+    private IExcelService excelService;
+
+    @Resource
+    private IImportExportService importExportService;
+
+    @Override
+    public QueryWrapper query() {
+        return super.query().from(MAINTENANCE_DECISION);
+    }
+
+    private QueryWrapper buildQueryWrapper(MaintenanceDecisionBo maintenanceDecisionBo) {
+        QueryWrapper queryWrapper = super.buildBaseQueryWrapper();
+        queryWrapper.and(MAINTENANCE_DECISION.SORTIE_NO.eq
+            (maintenanceDecisionBo.getSortieNo()));
+        queryWrapper.and(MAINTENANCE_DECISION.AIRCRAFT_NO.eq
+            (maintenanceDecisionBo.getAircraftNo()));
+        queryWrapper.and(MAINTENANCE_DECISION.CODE.eq
+            (maintenanceDecisionBo.getCode()));
+        queryWrapper.and(MAINTENANCE_DECISION.SYSTEM_NAME.like
+            (maintenanceDecisionBo.getSystemName()));
+        queryWrapper.and(MAINTENANCE_DECISION.UNIT_NAME.like
+            (maintenanceDecisionBo.getUnitName()));
+        queryWrapper.and(MAINTENANCE_DECISION.STATUS.eq
+            (maintenanceDecisionBo.getStatus()));
+
+        return queryWrapper;
+    }
+
+    /**
+     * 查询辅助维修决策
+     *
+     * @param id 辅助维修决策主键
+     * @return 辅助维修决策
+     */
+    @Override
+    public MaintenanceDecisionVo selectById(Long id) {
+        return this.getOneAs(query().where(MAINTENANCE_DECISION.ID.eq(id)), MaintenanceDecisionVo.class);
+
+    }
+
+
+    /**
+     * 查询辅助维修决策列表
+     *
+     * @param maintenanceDecisionBo 辅助维修决策Bo
+     * @return 辅助维修决策集合
+     */
+    @Override
+    public List<MaintenanceDecisionVo> selectList(MaintenanceDecisionBo maintenanceDecisionBo) {
+        QueryWrapper queryWrapper = buildQueryWrapper(maintenanceDecisionBo);
+        return this.listAs(queryWrapper, MaintenanceDecisionVo.class);
+    }
+
+    /**
+     * 分页查询辅助维修决策列表
+     *
+     * @param maintenanceDecisionBo 辅助维修决策Bo
+     * @return 分页辅助维修决策集合
+     */
+    @Override
+    public PageResult<MaintenanceDecisionVo> selectPage(MaintenanceDecisionBo maintenanceDecisionBo) {
+        QueryWrapper queryWrapper = buildQueryWrapper(maintenanceDecisionBo);
+        Page<MaintenanceDecisionVo> page = this.pageAs(PageQuery.build(), queryWrapper, MaintenanceDecisionVo.class);
+        return PageResult.build(page);
+    }
+
+    /**
+     * 新增辅助维修决策
+     *
+     * @param maintenanceDecisionBo 辅助维修决策Bo
+     * @return 结果:true 操作成功,false 操作失败
+     */
+    @Override
+    public boolean insert(MaintenanceDecisionBo maintenanceDecisionBo) {
+        MaintenanceDecision maintenanceDecision = MapstructUtils.convert(maintenanceDecisionBo, MaintenanceDecision.class);
+
+        return this.save(maintenanceDecision);//使用全局配置的雪花算法主键生成器生成ID值
+    }
+
+    /**
+     * 新增辅助维修决策,前台提供主键值,一般用于导入的场合
+     *
+     * @param maintenanceDecisionBo 辅助维修决策Bo
+     * @return 结果:true 操作成功,false 操作失败
+     */
+    @Override
+    public boolean insertWithPk(MaintenanceDecisionBo maintenanceDecisionBo) {
+        MaintenanceDecision maintenanceDecision = MapstructUtils.convert(maintenanceDecisionBo, MaintenanceDecision.class);
+
+
+        return maintenanceDecisionMapper.insertWithPk(maintenanceDecision) > 0;//前台传来主键值
+    }
+
+    /**
+     * 修改辅助维修决策
+     *
+     * @param maintenanceDecisionBo 辅助维修决策Bo
+     * @return 结果:true 更新成功,false 更新失败
+     */
+    @Override
+    public boolean update(MaintenanceDecisionBo maintenanceDecisionBo) {
+        MaintenanceDecision maintenanceDecision = MapstructUtils.convert(maintenanceDecisionBo, MaintenanceDecision.class);
+        if (ObjectUtil.isNotNull(maintenanceDecision) && ObjectUtil.isNotNull(maintenanceDecision.getId())) {
+            return this.updateById(maintenanceDecision);
+        }
+        return false;
+    }
+
+    @Override
+    public void asyncExport(List<MaintenanceDecisionVo> listVo, String sheetName, LoginUser loginUser) {
+        ExcelResultRes result = excelService.exportExcel(listVo, sheetName, MaintenanceDecisionVo.class);
+        boolean flag = importExportService.saveInfo(result, loginUser, "1");
+        if (flag) {
+            log.info("异步导出日志写入成功");
+        }
+    }
+
+    /**
+     * 批量删除辅助维修决策
+     *
+     * @param ids 需要删除的辅助维修决策主键集合
+     * @return 结果:true 删除成功,false 删除失败
+     */
+    @Transactional
+    @Override
+    public boolean deleteByIds(Long[] ids) {
+        return this.removeByIds(Arrays.asList(ids));
+    }
+
+}

+ 171 - 0
als-modules/agile-assurance/src/main/java/org/eco/als/service/impl/MaintenanceTaskServiceImpl.java

@@ -0,0 +1,171 @@
+package org.eco.als.service.impl;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.mybatisflex.core.paginate.Page;
+import com.mybatisflex.core.query.QueryWrapper;
+import jakarta.annotation.Resource;
+import lombok.extern.slf4j.Slf4j;
+import org.eco.als.domain.MaintenanceTask;
+import org.eco.als.domain.bo.MaintenanceTaskBo;
+import org.eco.als.domain.vo.MaintenanceTaskVo;
+import org.eco.als.mapper.MaintenanceTaskMapper;
+import org.eco.als.service.IMaintenanceTaskService;
+import org.eco.common.core.core.domain.model.LoginUser;
+import org.eco.common.core.core.page.PageResult;
+import org.eco.common.core.utils.MapstructUtils;
+import org.eco.common.excel.entity.ExcelResultRes;
+import org.eco.common.excel.service.IExcelService;
+import org.eco.common.orm.core.page.PageQuery;
+import org.eco.common.orm.core.service.impl.BaseServiceImpl;
+import org.eco.system.service.IImportExportService;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Arrays;
+import java.util.List;
+
+import static org.eco.als.domain.table.MaintenanceTaskTableDef.MAINTENANCE_TASK;
+
+/**
+ * 维修任务Service业务层处理
+ *
+ * @author wgk
+ * @date 2024-07-24
+ */
+@Service
+@Slf4j
+public class MaintenanceTaskServiceImpl extends BaseServiceImpl<MaintenanceTaskMapper, MaintenanceTask> implements IMaintenanceTaskService {
+    @Resource
+    private MaintenanceTaskMapper maintenanceTaskMapper;
+
+    @Resource
+    private IExcelService excelService;
+
+    @Resource
+    private IImportExportService importExportService;
+
+    @Override
+    public QueryWrapper query() {
+        return super.query().from(MAINTENANCE_TASK);
+    }
+
+    private QueryWrapper buildQueryWrapper(MaintenanceTaskBo maintenanceTaskBo) {
+        QueryWrapper queryWrapper = super.buildBaseQueryWrapper();
+        queryWrapper.and(MAINTENANCE_TASK.SORTIE_NO.eq
+            (maintenanceTaskBo.getSortieNo()));
+        queryWrapper.and(MAINTENANCE_TASK.AIRCRAFT_NO.eq
+            (maintenanceTaskBo.getAircraftNo()));
+        queryWrapper.and(MAINTENANCE_TASK.SYSTEM_NAME.like
+            (maintenanceTaskBo.getSystemName()));
+        queryWrapper.and(MAINTENANCE_TASK.UNIT_NAME.like
+            (maintenanceTaskBo.getUnitName()));
+        queryWrapper.and(MAINTENANCE_TASK.HANDLER_DATE.eq
+            (maintenanceTaskBo.getHandlerDate()));
+        queryWrapper.and(MAINTENANCE_TASK.STATUS.eq
+            (maintenanceTaskBo.getStatus()));
+
+        return queryWrapper;
+    }
+
+    /**
+     * 查询维修任务
+     *
+     * @param id 维修任务主键
+     * @return 维修任务
+     */
+    @Override
+    public MaintenanceTaskVo selectById(Long id) {
+        return this.getOneAs(query().where(MAINTENANCE_TASK.ID.eq(id)), MaintenanceTaskVo.class);
+
+    }
+
+
+    /**
+     * 查询维修任务列表
+     *
+     * @param maintenanceTaskBo 维修任务Bo
+     * @return 维修任务集合
+     */
+    @Override
+    public List<MaintenanceTaskVo> selectList(MaintenanceTaskBo maintenanceTaskBo) {
+        QueryWrapper queryWrapper = buildQueryWrapper(maintenanceTaskBo);
+        return this.listAs(queryWrapper, MaintenanceTaskVo.class);
+    }
+
+    /**
+     * 分页查询维修任务列表
+     *
+     * @param maintenanceTaskBo 维修任务Bo
+     * @return 分页维修任务集合
+     */
+    @Override
+    public PageResult<MaintenanceTaskVo> selectPage(MaintenanceTaskBo maintenanceTaskBo) {
+        QueryWrapper queryWrapper = buildQueryWrapper(maintenanceTaskBo);
+        Page<MaintenanceTaskVo> page = this.pageAs(PageQuery.build(), queryWrapper, MaintenanceTaskVo.class);
+        return PageResult.build(page);
+    }
+
+    /**
+     * 新增维修任务
+     *
+     * @param maintenanceTaskBo 维修任务Bo
+     * @return 结果:true 操作成功,false 操作失败
+     */
+    @Override
+    public boolean insert(MaintenanceTaskBo maintenanceTaskBo) {
+        MaintenanceTask maintenanceTask = MapstructUtils.convert(maintenanceTaskBo, MaintenanceTask.class);
+
+        return this.save(maintenanceTask);//使用全局配置的雪花算法主键生成器生成ID值
+    }
+
+    /**
+     * 新增维修任务,前台提供主键值,一般用于导入的场合
+     *
+     * @param maintenanceTaskBo 维修任务Bo
+     * @return 结果:true 操作成功,false 操作失败
+     */
+    @Override
+    public boolean insertWithPk(MaintenanceTaskBo maintenanceTaskBo) {
+        MaintenanceTask maintenanceTask = MapstructUtils.convert(maintenanceTaskBo, MaintenanceTask.class);
+
+
+        return maintenanceTaskMapper.insertWithPk(maintenanceTask) > 0;//前台传来主键值
+    }
+
+    /**
+     * 修改维修任务
+     *
+     * @param maintenanceTaskBo 维修任务Bo
+     * @return 结果:true 更新成功,false 更新失败
+     */
+    @Override
+    public boolean update(MaintenanceTaskBo maintenanceTaskBo) {
+        MaintenanceTask maintenanceTask = MapstructUtils.convert(maintenanceTaskBo, MaintenanceTask.class);
+        if (ObjectUtil.isNotNull(maintenanceTask) && ObjectUtil.isNotNull(maintenanceTask.getId())) {
+            return this.updateById(maintenanceTask);
+        }
+        return false;
+    }
+
+    @Override
+    public void asyncExport(List<MaintenanceTaskVo> listVo, String sheetName, LoginUser loginUser) {
+        ExcelResultRes result = excelService.exportExcel(listVo, sheetName, MaintenanceTaskVo.class);
+        boolean flag = importExportService.saveInfo(result, loginUser, "1");
+        if (flag) {
+            log.info("异步导出日志写入成功");
+        }
+    }
+
+    /**
+     * 批量删除维修任务
+     *
+     * @param ids 需要删除的维修任务主键集合
+     * @return 结果:true 删除成功,false 删除失败
+     */
+    @Transactional
+    @Override
+    public boolean deleteByIds(Long[] ids) {
+        return this.removeByIds(Arrays.asList(ids));
+    }
+
+}

+ 7 - 0
als-modules/agile-assurance/src/main/resources/mapper/als/MaintenanceDecisionMapper.xml

@@ -0,0 +1,7 @@
+<?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="org.eco.als.mapper.MaintenanceDecisionMapper">
+
+</mapper>

+ 7 - 0
als-modules/agile-assurance/src/main/resources/mapper/als/MaintenanceTaskMapper.xml

@@ -0,0 +1,7 @@
+<?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="org.eco.als.mapper.MaintenanceTaskMapper">
+
+</mapper>