瀏覽代碼

构型树修改

Gaokun Wang 7 月之前
父節點
當前提交
a7b91f34e9

+ 4 - 4
als-modules/agile-assurance/src/main/java/org/eco/als/controller/AirConfigurationController.java

@@ -20,7 +20,6 @@ import org.eco.als.domain.vo.AirConfigurationVo;
 import org.eco.als.domain.bo.AirConfigurationBo;
 import org.eco.als.service.IAirConfigurationService;
 import org.springframework.web.multipart.MultipartFile;
-import org.eco.common.core.core.page.PageResult;
 
 import java.util.List;
 import java.util.ArrayList;
@@ -29,7 +28,7 @@ import java.util.ArrayList;
  * 飞机构型Controller
  *
  * @author wgk
- * @date 2024-10-25
+ * @date 2024-11-13
  */
 @Validated
 @RequiredArgsConstructor
@@ -44,8 +43,9 @@ public class AirConfigurationController extends BaseController {
      */
     @SaCheckPermission("als:airConfiguration:list")
     @GetMapping("/list")
-    public CommonResult<PageResult<AirConfigurationVo>> list(AirConfigurationBo airConfigurationBo) {
-        return CommonResult.success(airConfigurationService.selectPage(airConfigurationBo));
+    public CommonResult<List<AirConfigurationVo>> list(AirConfigurationBo airConfigurationBo) {
+        List<AirConfigurationVo> list = airConfigurationService.selectList(airConfigurationBo);
+        return CommonResult.success(list);
     }
 
     /**

+ 3 - 6
als-modules/agile-assurance/src/main/java/org/eco/als/domain/AirConfiguration.java

@@ -1,8 +1,5 @@
 package org.eco.als.domain;
 
-import java.util.Date;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
 import com.mybatisflex.annotation.Column;
 import com.mybatisflex.annotation.Id;
 import com.mybatisflex.annotation.Table;
@@ -11,18 +8,18 @@ import lombok.EqualsAndHashCode;
 
 import java.io.Serial;
 
-import org.eco.common.orm.core.domain.BaseEntity;
+import org.eco.common.orm.core.domain.TreeEntity;
 
 /**
  * 飞机构型对象 als_air_configuration_t
  *
  * @author wgk
- * @date 2024-10-25
+ * @date 2024-11-13
  */
 @Data
 @EqualsAndHashCode(callSuper = true)
 @Table(value = "als_air_configuration_t")
-public class AirConfiguration extends BaseEntity {
+public class AirConfiguration extends TreeEntity {
     @Serial
     private static final long serialVersionUID = 1L;
 

+ 11 - 7
als-modules/agile-assurance/src/main/java/org/eco/als/domain/bo/AirConfigurationBo.java

@@ -5,60 +5,64 @@ import io.github.linpeilie.annotations.AutoMapper;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import jakarta.validation.constraints.*;
-
-import java.util.Date;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
-import org.eco.common.orm.core.domain.BaseEntity;
+import org.eco.common.orm.core.domain.TreeEntity;
 
 /**
  * 飞机构型业务对象 als_air_configuration_t
  *
  * @author wgk
- * @date 2024-10-25
+ * @date 2024-11-13
  */
 @Data
 @EqualsAndHashCode(callSuper = true)
 @AutoMapper(target = AirConfiguration.class, reverseConvertGenerate = false)
-public class AirConfigurationBo extends BaseEntity {
+public class AirConfigurationBo extends TreeEntity {
     /**
      * 唯一ID
      */
+    @NotNull(message = "唯一ID不能为空")
     private Long id;
 
     /**
      * 机型
      */
+    @NotBlank(message = "机型不能为空")
     private String aircraftType;
 
     /**
      * 构型编码
      */
+    @NotBlank(message = "构型编码不能为空")
     private String conCode;
 
     /**
      * 产品名称
      */
+    @NotBlank(message = "产品名称不能为空")
     private String name;
 
     /**
      * 规格型号
      */
+    @NotBlank(message = "规格型号不能为空")
     private String specsModel;
 
     /**
      * 图号
      */
+    @NotBlank(message = "图号不能为空")
     private String drawingNumber;
 
     /**
      * 供应商
      */
+    @NotBlank(message = "供应商不能为空")
     private String supplier;
 
     /**
      * 描述
      */
+    @NotBlank(message = "描述不能为空")
     private String remarks;
 
 

+ 18 - 4
als-modules/agile-assurance/src/main/java/org/eco/als/domain/vo/AirConfigurationImportVo.java

@@ -1,8 +1,5 @@
 package org.eco.als.domain.vo;
 
-import java.util.Date;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
 import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
 import com.alibaba.excel.annotation.ExcelProperty;
 import org.eco.common.excel.annotation.ExcelDictFormat;
@@ -18,7 +15,7 @@ import lombok.NoArgsConstructor;
  * 飞机构型导入视图对象 als_air_configuration_t
  *
  * @author wgk
- * @date 2024-10-25
+ * @date 2024-11-13
  */
 
 @Data
@@ -29,6 +26,17 @@ public class AirConfigurationImportVo implements Serializable {
     @Serial
     private static final long serialVersionUID = 1L;
 
+    /**
+     * 唯一ID
+     */
+    @ExcelProperty(value = "唯一ID")
+    private Long id;
+
+    /**
+     * 父Id
+     */
+    @ExcelProperty(value = "父Id")
+    private Long parentId;
 
     /**
      * 机型
@@ -78,4 +86,10 @@ public class AirConfigurationImportVo implements Serializable {
     @ExcelProperty(value = "删除标识(1删除 0未删除)")
     private Integer delFlag;
 
+
+    /**
+     * 显示顺序
+     */
+    @ExcelProperty(value = "显示顺序")
+    private Integer orderNum;
 }

+ 4 - 6
als-modules/agile-assurance/src/main/java/org/eco/als/domain/vo/AirConfigurationVo.java

@@ -1,8 +1,5 @@
 package org.eco.als.domain.vo;
 
-import java.util.Date;
-
-import com.fasterxml.jackson.annotation.JsonFormat;
 import org.eco.als.domain.AirConfiguration;
 import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
 import com.alibaba.excel.annotation.ExcelProperty;
@@ -17,19 +14,19 @@ import lombok.EqualsAndHashCode;
 import java.io.Serial;
 import java.io.Serializable;
 
-import org.eco.common.orm.core.domain.BaseEntity;
+import org.eco.common.orm.core.domain.TreeEntity;
 
 /**
  * 飞机构型视图对象 als_air_configuration_t
  *
  * @author wgk
- * @date 2024-10-25
+ * @date 2024-11-13
  */
 @Data
 @ExcelIgnoreUnannotated
 @EqualsAndHashCode(callSuper = true)
 @AutoMapper(target = AirConfiguration.class)
-public class AirConfigurationVo extends BaseEntity implements Serializable {
+public class AirConfigurationVo extends TreeEntity implements Serializable {
 
     @Serial
     private static final long serialVersionUID = 1L;
@@ -88,6 +85,7 @@ public class AirConfigurationVo extends BaseEntity implements Serializable {
     @ExcelProperty(value = "删除标识(1删除 0未删除)")
     private Integer delFlag;
 
+
     /**
      * 创建人名称
      */

+ 2 - 2
als-modules/agile-assurance/src/main/java/org/eco/als/listener/AirConfigurationImportListener.java

@@ -50,12 +50,12 @@ public class AirConfigurationImportListener extends AnalysisEventListener<AirCon
             //TODO:根据某个字段,查询数据库表中是否存在记录,不存在就新增,存在就更新
             AirConfigurationVo airConfigurationVo1 = null;
 
-            //airConfigurationVo1 = airConfigurationService.selectBySomefield(airConfigurationVo.getSomefield());
+            airConfigurationVo1 = airConfigurationService.selectById(airConfigurationVo.getId());
             if (ObjectUtil.isNull(airConfigurationVo1)) {
                 //不存在就新增
                 setBo(airConfigurationBo);
                 ValidatorUtils.validate(airConfigurationBo);
-                boolean inserted = airConfigurationService.insert(airConfigurationBo);
+                boolean inserted = airConfigurationService.insertWithPk(airConfigurationBo);//树表需要前台传来主键值
 
                 if (inserted) {
                     successNum++;

+ 8 - 11
als-modules/agile-assurance/src/main/java/org/eco/als/service/IAirConfigurationService.java

@@ -1,7 +1,6 @@
 package org.eco.als.service;
 
 import java.util.List;
-
 import org.eco.common.core.core.domain.model.LoginUser;
 import org.eco.als.domain.AirConfiguration;
 import org.eco.als.domain.vo.AirConfigurationVo;
@@ -9,13 +8,12 @@ import org.eco.als.domain.bo.AirConfigurationBo;
 import org.eco.common.orm.core.service.IBaseService;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.web.multipart.MultipartFile;
-import org.eco.common.core.core.page.PageResult;
 
 /**
  * 飞机构型Service接口
  *
  * @author wgk
- * @date 2024-10-25
+ * @date 2024-11-13
  */
 public interface IAirConfigurationService extends IBaseService<AirConfiguration> {
     /**
@@ -25,7 +23,13 @@ public interface IAirConfigurationService extends IBaseService<AirConfiguration>
      * @return 飞机构型
      */
     AirConfigurationVo selectById(Long id);
-
+    /**
+     * 查询飞机构型
+     *
+     * @param name 飞机构型
+     * @return 飞机构型
+     */
+    AirConfigurationVo selectByName(String name);
     /**
      * 查询飞机构型列表
      *
@@ -34,13 +38,6 @@ public interface IAirConfigurationService extends IBaseService<AirConfiguration>
      */
     List<AirConfigurationVo> selectList(AirConfigurationBo airConfigurationBo);
 
-    /**
-     * 分页查询飞机构型列表
-     *
-     * @param airConfigurationBo 飞机构型Bo
-     * @return 分页飞机构型集合
-     */
-    PageResult<AirConfigurationVo> selectPage(AirConfigurationBo airConfigurationBo);
 
     /**
      * 新增飞机构型

+ 36 - 15
als-modules/agile-assurance/src/main/java/org/eco/als/service/impl/AirConfigurationServiceImpl.java

@@ -39,7 +39,7 @@ import static org.eco.als.domain.table.AirConfigurationTableDef.AIR_CONFIGURATIO
  * 飞机构型Service业务层处理
  *
  * @author wgk
- * @date 2024-10-25
+ * @date 2024-11-13
  */
 @Service
 @Slf4j
@@ -60,8 +60,16 @@ public class AirConfigurationServiceImpl extends BaseServiceImpl<AirConfiguratio
 
     private QueryWrapper buildQueryWrapper(AirConfigurationBo airConfigurationBo) {
         QueryWrapper queryWrapper = super.buildBaseQueryWrapper();
-        queryWrapper.and(AIR_CONFIGURATION.AIRCRAFT_TYPE.in
-            (airConfigurationBo.getAircraftType().split(",")));
+        queryWrapper.and(AIR_CONFIGURATION.PARENT_ID.eq
+            (airConfigurationBo.getParentId()));
+        queryWrapper.and(AIR_CONFIGURATION.PARENT_NAME.like
+            (airConfigurationBo.getParentName()));
+        queryWrapper.and(AIR_CONFIGURATION.ANCESTORS.eq
+            (airConfigurationBo.getAncestors()));
+        if (StringUtils.isNotBlank(airConfigurationBo.getAircraftType())) {
+            String[] airTypeIds = airConfigurationBo.getAircraftType().split(",");
+            queryWrapper.and(AIR_CONFIGURATION.AIRCRAFT_TYPE.in(airTypeIds));
+        }
         queryWrapper.and(AIR_CONFIGURATION.CON_CODE.eq
             (airConfigurationBo.getConCode()));
         queryWrapper.and(AIR_CONFIGURATION.NAME.like
@@ -74,6 +82,9 @@ public class AirConfigurationServiceImpl extends BaseServiceImpl<AirConfiguratio
             (airConfigurationBo.getSupplier()));
         queryWrapper.and(AIR_CONFIGURATION.REMARKS.eq
             (airConfigurationBo.getRemarks()));
+        queryWrapper.and(AIR_CONFIGURATION.ORDER_NUM.eq
+            (airConfigurationBo.getOrderNum()));
+        queryWrapper.orderBy(AIR_CONFIGURATION.ORDER_NUM.asc());
 
         return queryWrapper;
     }
@@ -90,32 +101,30 @@ public class AirConfigurationServiceImpl extends BaseServiceImpl<AirConfiguratio
 
     }
 
-
     /**
-     * 查询飞机构型列表
+     * 查询飞机构型
      *
-     * @param airConfigurationBo 飞机构型Bo
-     * @return 飞机构型集合
+     * @param name 飞机构型主键
+     * @return 飞机构型
      */
     @Override
-    public List<AirConfigurationVo> selectList(AirConfigurationBo airConfigurationBo) {
-        QueryWrapper queryWrapper = buildQueryWrapper(airConfigurationBo);
-        return this.listAs(queryWrapper, AirConfigurationVo.class);
+    public AirConfigurationVo selectByName(String name) {
+        return this.getOneAs(query().where(AIR_CONFIGURATION.NAME.eq(name)), AirConfigurationVo.class);
     }
 
     /**
-     * 分页查询飞机构型列表
+     * 查询飞机构型列表
      *
      * @param airConfigurationBo 飞机构型Bo
-     * @return 分页飞机构型集合
+     * @return 飞机构型集合
      */
     @Override
-    public PageResult<AirConfigurationVo> selectPage(AirConfigurationBo airConfigurationBo) {
+    public List<AirConfigurationVo> selectList(AirConfigurationBo airConfigurationBo) {
         QueryWrapper queryWrapper = buildQueryWrapper(airConfigurationBo);
-        Page<AirConfigurationVo> page = this.pageAs(PageQuery.build(), queryWrapper, AirConfigurationVo.class);
-        return PageResult.build(page);
+        return this.listAs(queryWrapper, AirConfigurationVo.class);
     }
 
+
     /**
      * 新增飞机构型
      *
@@ -139,6 +148,18 @@ public class AirConfigurationServiceImpl extends BaseServiceImpl<AirConfiguratio
     public boolean insertWithPk(AirConfigurationBo airConfigurationBo) {
         AirConfiguration airConfiguration = MapstructUtils.convert(airConfigurationBo, AirConfiguration.class);
 
+        //获取祖级列表字段
+        Long parentId = airConfiguration.getParentId();
+        if (parentId == 0) {
+            airConfiguration.setAncestors("0");
+        } else {
+            AirConfigurationVo parentAirConfiguration = selectById(airConfigurationBo.getParentId());
+            if (ObjectUtil.isNotNull(parentAirConfiguration)) {
+                airConfiguration.setAncestors(parentAirConfiguration.getAncestors() + "," + parentId);
+            } else {
+                airConfiguration.setAncestors("0");
+            }
+        }
 
         return airConfigurationMapper.insertWithPk(airConfiguration) > 0;//前台传来主键值
     }

+ 2 - 2
als-start/src/main/resources/application-dev.yml

@@ -18,7 +18,7 @@ spring:
       # 多久检查一次连接的活性
       keepaliveTime: 30000
   flyway:
-    enabled: true
+    enabled: false
     baseline-on-migrate: true
     clean-on-validation-error: false
     sql-migration-prefix: V
@@ -67,7 +67,7 @@ spring.data:
     # 数据库索引
     database: 0
     # 密码(如没有密码请注释掉)
-    password: CWwYsGjafmv8Sr7g
+    # password: CWwYsGjafmv8Sr7g
     # 连接超时时间
     timeout: 10s
     # 是否开启ssl