Przeglądaj źródła

维修记录功能

wanggaokun 11 miesięcy temu
rodzic
commit
3ecfbce660

+ 10 - 1
als-modules/agile-assurance/src/main/java/org/eco/als/controller/MaintenanceRecordController.java

@@ -5,11 +5,13 @@ import jakarta.annotation.Resource;
 import jakarta.servlet.http.HttpServletResponse;
 import lombok.RequiredArgsConstructor;
 import org.eco.als.domain.bo.MaintenanceRecordBo;
+import org.eco.als.domain.vo.MaintenanceRecordImportVo;
 import org.eco.als.domain.vo.MaintenanceRecordVo;
 import org.eco.als.service.IMaintenanceRecordService;
 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.excel.utils.ExcelUtil;
 import org.eco.common.log.annotation.Log;
 import org.eco.common.log.enums.BusinessType;
 import org.eco.common.security.utils.LoginHelper;
@@ -26,13 +28,14 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
  * 维修记录Controller
  *
  * @author wgk
- * @date 2024-07-18
+ * @date 2024-07-19
  */
 @Validated
 @RequiredArgsConstructor
@@ -64,6 +67,12 @@ public class MaintenanceRecordController extends BaseController {
         return CommonResult.success();
     }
 
+    @SaCheckPermission("als:maintenanceRecord:import")
+    @PostMapping("/importTemplate")
+    public void importTemplate(HttpServletResponse response) {
+        ExcelUtil.exportExcel(new ArrayList<>(), "维修记录", MaintenanceRecordImportVo.class, response);
+    }
+
     /**
      * 导入维修记录列表
      */

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

@@ -14,7 +14,7 @@ import java.util.Date;
  * 维修记录对象 als_maintenance_record_t
  *
  * @author wgk
- * @date 2024-07-18
+ * @date 2024-07-19
  */
 @Data
 @EqualsAndHashCode(callSuper = true)
@@ -102,12 +102,12 @@ public class MaintenanceRecord extends BaseEntity {
     /**
      * 故换件型别
      */
-    private String parttype;
+    private String partType;
 
     /**
      * 故障失常码
      */
-    private String faultcode;
+    private String faultCode;
 
     /**
      * 故障件装机日期

+ 5 - 5
als-modules/agile-assurance/src/main/java/org/eco/als/domain/bo/MaintenanceRecordBo.java

@@ -14,7 +14,7 @@ import java.util.Date;
  * 维修记录业务对象 als_maintenance_record_t
  *
  * @author wgk
- * @date 2024-07-18
+ * @date 2024-07-19
  */
 @Data
 @EqualsAndHashCode(callSuper = true)
@@ -101,12 +101,14 @@ public class MaintenanceRecordBo extends BaseEntity {
     /**
      * 故换件型别
      */
-    private String parttype;
+    @NotBlank(message = "故换件型别不能为空")
+    private String partType;
 
     /**
      * 故障失常码
      */
-    private String faultcode;
+    @NotBlank(message = "故障失常码不能为空")
+    private String faultCode;
 
     /**
      * 故障件装机日期
@@ -174,6 +176,4 @@ public class MaintenanceRecordBo extends BaseEntity {
      * 备注
      */
     private String remarks;
-
-
 }

+ 5 - 11
als-modules/agile-assurance/src/main/java/org/eco/als/domain/vo/MaintenanceRecordImportVo.java

@@ -1,5 +1,6 @@
 package org.eco.als.domain.vo;
 
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
 import com.alibaba.excel.annotation.ExcelProperty;
 import lombok.Data;
 import lombok.NoArgsConstructor;
@@ -12,23 +13,17 @@ import java.util.Date;
  * 维修记录导入视图对象 als_maintenance_record_t
  *
  * @author wgk
- * @date 2024-07-18
+ * @date 2024-07-19
  */
 
 @Data
 @NoArgsConstructor
+@ExcelIgnoreUnannotated
 public class MaintenanceRecordImportVo implements Serializable {
 
     @Serial
     private static final long serialVersionUID = 1L;
 
-
-    /**
-     * 编号
-     */
-    @ExcelProperty(value = "编号")
-    private Long id;
-
     /**
      * 机型
      */
@@ -117,13 +112,13 @@ public class MaintenanceRecordImportVo implements Serializable {
      * 故换件型别
      */
     @ExcelProperty(value = "故换件型别")
-    private String parttype;
+    private String partType;
 
     /**
      * 故障失常码
      */
     @ExcelProperty(value = "故障失常码")
-    private String faultcode;
+    private String faultCode;
 
     /**
      * 故障件装机日期
@@ -206,7 +201,6 @@ public class MaintenanceRecordImportVo implements Serializable {
     /**
      * 删除标识(1删除 0未删除)
      */
-    @ExcelProperty(value = "删除标识(1删除 0未删除)")
     private Integer delFlag;
 
 

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

@@ -18,7 +18,7 @@ import java.util.Date;
  * 维修记录视图对象 als_maintenance_record_t
  *
  * @author wgk
- * @date 2024-07-18
+ * @date 2024-07-19
  */
 @Data
 @ExcelIgnoreUnannotated
@@ -123,13 +123,13 @@ public class MaintenanceRecordVo extends BaseEntity implements Serializable {
      * 故换件型别
      */
     @ExcelProperty(value = "故换件型别")
-    private String parttype;
+    private String partType;
 
     /**
      * 故障失常码
      */
     @ExcelProperty(value = "故障失常码")
-    private String faultcode;
+    private String faultCode;
 
     /**
      * 故障件装机日期
@@ -209,11 +209,6 @@ public class MaintenanceRecordVo extends BaseEntity implements Serializable {
     @ExcelProperty(value = "备注")
     private String remarks;
 
-    /**
-     * 删除标识(1删除 0未删除)
-     */
-    @ExcelProperty(value = "删除标识(1删除 0未删除)")
-    private Integer delFlag;
 
     /**
      * 创建人名称
@@ -226,4 +221,5 @@ public class MaintenanceRecordVo extends BaseEntity implements Serializable {
      */
     @FieldMapper(type = MapperConstant.USER_ID_TO_NAME, mapper = "updateBy")
     private String updateByName;
+
 }

+ 11 - 5
als-modules/agile-assurance/src/main/java/org/eco/als/listener/MaintenanceRecordImportListener.java

@@ -29,10 +29,10 @@ public class MaintenanceRecordImportListener extends AnalysisEventListener<Maint
 
     private final Boolean isUpdateSupport;
     private final LoginUser loginUser;
-    private final StringBuilder successMsg = new StringBuilder();
-    private final StringBuilder failureMsg = new StringBuilder();
     private int successNum = 0;
     private int failureNum = 0;
+    private final StringBuilder successMsg = new StringBuilder();
+    private final StringBuilder failureMsg = new StringBuilder();
 
     public MaintenanceRecordImportListener(Boolean isUpdateSupport, LoginUser loginUser) {
         this.maintenanceRecordService = SpringUtils.getBean(IMaintenanceRecordService.class);
@@ -48,11 +48,10 @@ public class MaintenanceRecordImportListener extends AnalysisEventListener<Maint
 
             //TODO:根据某个字段,查询数据库表中是否存在记录,不存在就新增,存在就更新
             MaintenanceRecordVo maintenanceRecordVo1 = null;
-
-            //maintenanceRecordVo1 = maintenanceRecordService.selectBySomefield(maintenanceRecordVo.getSomefield());
+//            maintenanceRecordVo1 = maintenanceRecordService.selectBySomefield(maintenanceRecordVo.getSomefield());
             if (ObjectUtil.isNull(maintenanceRecordVo1)) {
                 //不存在就新增
-                maintenanceRecordBo.setVersion(0);
+                setBo(maintenanceRecordBo);
                 ValidatorUtils.validate(maintenanceRecordBo);
                 boolean inserted = maintenanceRecordService.insert(maintenanceRecordBo);
 
@@ -88,6 +87,13 @@ public class MaintenanceRecordImportListener extends AnalysisEventListener<Maint
         }
     }
 
+    private void setBo(MaintenanceRecordBo maintenanceRecordBo) {
+        maintenanceRecordBo.setVersion(0);
+        maintenanceRecordBo.setCreateBy(loginUser.getUserId());
+        maintenanceRecordBo.setUpdateBy(loginUser.getUserId());
+        maintenanceRecordBo.setTenantId(loginUser.getTenantId());
+    }
+
     @Override
     public void doAfterAllAnalysed(AnalysisContext context) {
         log.info("解析完成");

+ 1 - 1
als-modules/agile-assurance/src/main/java/org/eco/als/service/IMaintenanceRecordService.java

@@ -15,7 +15,7 @@ import java.util.List;
  * 维修记录Service接口
  *
  * @author wgk
- * @date 2024-07-18
+ * @date 2024-07-19
  */
 public interface IMaintenanceRecordService extends IBaseService<MaintenanceRecord> {
     /**

+ 65 - 11
als-modules/agile-assurance/src/main/java/org/eco/als/service/impl/MaintenanceRecordServiceImpl.java

@@ -36,7 +36,7 @@ import static org.eco.als.domain.table.MaintenanceRecordTableDef.MAINTENANCE_REC
  * 维修记录Service业务层处理
  *
  * @author wgk
- * @date 2024-07-18
+ * @date 2024-07-19
  */
 @Service
 @Slf4j
@@ -63,6 +63,58 @@ public class MaintenanceRecordServiceImpl extends BaseServiceImpl<MaintenanceRec
             (maintenanceRecordBo.getAircraftNo()));
         queryWrapper.and(MAINTENANCE_RECORD.SERIAL_NUMBER.eq
             (maintenanceRecordBo.getSerialNumber()));
+        queryWrapper.and(MAINTENANCE_RECORD.SPECIALTY.eq
+            (maintenanceRecordBo.getSpecialty()));
+        queryWrapper.and(MAINTENANCE_RECORD.SYSTEM_NAME.like
+            (maintenanceRecordBo.getSystemName()));
+        queryWrapper.and(MAINTENANCE_RECORD.ENGINE_TYPE.eq
+            (maintenanceRecordBo.getEngineType()));
+        queryWrapper.and(MAINTENANCE_RECORD.ENGINE_SERIAL_NUMBER.eq
+            (maintenanceRecordBo.getEngineSerialNumber()));
+        queryWrapper.and(MAINTENANCE_RECORD.UNIT_NAME.like
+            (maintenanceRecordBo.getUnitName()));
+        queryWrapper.and(MAINTENANCE_RECORD.FAULT_PHENOMENON.eq
+            (maintenanceRecordBo.getFaultPhenomenon()));
+        queryWrapper.and(MAINTENANCE_RECORD.LOCATION_FAULT.eq
+            (maintenanceRecordBo.getLocationFault()));
+        queryWrapper.and(MAINTENANCE_RECORD.DISCOVERY_TIME.eq
+            (maintenanceRecordBo.getDiscoveryTime()));
+        queryWrapper.and(MAINTENANCE_RECORD.ITEM_NAME.like
+            (maintenanceRecordBo.getItemName()));
+        queryWrapper.and(MAINTENANCE_RECORD.ITEM_TYPE.eq
+            (maintenanceRecordBo.getItemType()));
+        queryWrapper.and(MAINTENANCE_RECORD.PART_NUMBER.eq
+            (maintenanceRecordBo.getPartNumber()));
+        queryWrapper.and(MAINTENANCE_RECORD.PART_TYPE.eq
+            (maintenanceRecordBo.getPartType()));
+        queryWrapper.and(MAINTENANCE_RECORD.FAULT_CODE.eq
+            (maintenanceRecordBo.getFaultCode()));
+        queryWrapper.and(MAINTENANCE_RECORD.INSTALLATION_DATE.eq
+            (maintenanceRecordBo.getInstallationDate()));
+        queryWrapper.and(MAINTENANCE_RECORD.CAUSE_FAULT.eq
+            (maintenanceRecordBo.getCauseFault()));
+        queryWrapper.and(MAINTENANCE_RECORD.NATURE_FAULT.eq
+            (maintenanceRecordBo.getNatureFault()));
+        queryWrapper.and(MAINTENANCE_RECORD.LIABILITY_FAULT.eq
+            (maintenanceRecordBo.getLiabilityFault()));
+        queryWrapper.and(MAINTENANCE_RECORD.CONSEQUENCES_FAULT.eq
+            (maintenanceRecordBo.getConsequencesFault()));
+        queryWrapper.and(MAINTENANCE_RECORD.OCCUR_DATE.eq
+            (maintenanceRecordBo.getOccurDate()));
+        queryWrapper.and(MAINTENANCE_RECORD.METHOD_DETERMINATION.eq
+            (maintenanceRecordBo.getMethodDetermination()));
+        queryWrapper.and(MAINTENANCE_RECORD.METHOD_RECTIFICATION.eq
+            (maintenanceRecordBo.getMethodRectification()));
+        queryWrapper.and(MAINTENANCE_RECORD.DISCOVERED_BY.eq
+            (maintenanceRecordBo.getDiscoveredBy()));
+        queryWrapper.and(MAINTENANCE_RECORD.RECTIFICATION_BY.eq
+            (maintenanceRecordBo.getRectificationBy()));
+        queryWrapper.and(MAINTENANCE_RECORD.REVIEWER_BY.eq
+            (maintenanceRecordBo.getReviewerBy()));
+        queryWrapper.and(MAINTENANCE_RECORD.RECTIFICATION_NUMBER.eq
+            (maintenanceRecordBo.getRectificationNumber()));
+        queryWrapper.and(MAINTENANCE_RECORD.REMARKS.eq
+            (maintenanceRecordBo.getRemarks()));
 
         return queryWrapper;
     }
@@ -79,6 +131,7 @@ public class MaintenanceRecordServiceImpl extends BaseServiceImpl<MaintenanceRec
 
     }
 
+
     /**
      * 查询维修记录列表
      *
@@ -156,11 +209,7 @@ public class MaintenanceRecordServiceImpl extends BaseServiceImpl<MaintenanceRec
         } catch (IOException e) {
             throw new RuntimeException(e);
         }
-        ImportExportBo bo = new ImportExportBo();
-        BeanUtils.copyProperties(result, bo);
-        bo.setUpdateBy(loginUser.getUserId());
-        bo.setCreateBy(loginUser.getUserId());
-        bo.setType("0");
+        ImportExportBo bo = getImportExportBo(result, loginUser, "0");
         boolean flag = importExportService.insert(bo);
         if (flag) {
             log.info("异步导入日志写入成功");
@@ -170,17 +219,22 @@ public class MaintenanceRecordServiceImpl extends BaseServiceImpl<MaintenanceRec
     @Override
     public void asyncExport(List<MaintenanceRecordVo> listVo, String sheetName, LoginUser loginUser) {
         ExcelResultRes result = excelService.exportExcel(listVo, sheetName, MaintenanceRecordVo.class);
-        ImportExportBo bo = new ImportExportBo();
-        BeanUtils.copyProperties(result, bo);
-        bo.setUpdateBy(loginUser.getUserId());
-        bo.setCreateBy(loginUser.getUserId());
-        bo.setType("1");
+        ImportExportBo bo = getImportExportBo(result, loginUser, "1");
         boolean flag = importExportService.insert(bo);
         if (flag) {
             log.info("异步导出日志写入成功");
         }
     }
 
+    private static ImportExportBo getImportExportBo(ExcelResultRes result, LoginUser loginUser, String type) {
+        ImportExportBo bo = new ImportExportBo();
+        BeanUtils.copyProperties(result, bo);
+        bo.setUpdateBy(loginUser.getUserId());
+        bo.setCreateBy(loginUser.getUserId());
+        bo.setType(type);
+        return bo;
+    }
+
     /**
      * 批量删除维修记录
      *

+ 1 - 1
als-modules/generator/src/main/resources/vm/java/listener.java.vm

@@ -57,7 +57,7 @@ public class ${ClassName}ImportListener extends AnalysisEventListener<${ClassNam
             #end
             if (ObjectUtil.isNull(${className}Vo1)) {
                 //不存在就新增
-                setBo(${className}Bo)
+                setBo(${className}Bo);
                 ValidatorUtils.validate(${className}Bo);
               #if($table.tree)
                 boolean inserted = ${className}Service.insertWithPk(${className}Bo);//树表需要前台传来主键值