Kaynağa Gözat

维修任务、定检任务中资源分配、任务派遣批量新增
增加状态字段

Gaokun Wang 7 ay önce
ebeveyn
işleme
35113ef845

+ 27 - 14
als-modules/agile-assurance/src/main/java/org/eco/als/controller/MaintenanceTaskController.java

@@ -1,29 +1,30 @@
 package org.eco.als.controller;
 
-import lombok.RequiredArgsConstructor;
-import jakarta.servlet.http.HttpServletResponse;
-import cn.hutool.core.collection.CollUtil;
 import cn.dev33.satoken.annotation.SaCheckPermission;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.validation.annotation.Validated;
+import cn.hutool.core.collection.CollUtil;
+import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletResponse;
+import lombok.RequiredArgsConstructor;
+import org.eco.als.domain.bo.MaintenanceTaskBo;
+import org.eco.als.domain.bo.SubTaskBo;
+import org.eco.als.domain.vo.MaintenanceTaskImportVo;
+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.excel.utils.ExcelUtil;
 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.core.core.domain.model.LoginUser;
 import org.eco.common.web.annotation.RepeatSubmit;
-import org.eco.common.excel.utils.ExcelUtil;
 import org.eco.common.web.core.BaseController;
-import jakarta.annotation.Resource;
-import org.eco.als.domain.vo.MaintenanceTaskImportVo;
-import org.eco.als.domain.vo.MaintenanceTaskVo;
-import org.eco.als.domain.bo.MaintenanceTaskBo;
-import org.eco.als.service.IMaintenanceTaskService;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
-import org.eco.common.core.core.page.PageResult;
 
-import java.util.List;
 import java.util.ArrayList;
+import java.util.List;
 
 /**
  * 维修信息Controller
@@ -134,4 +135,16 @@ public class MaintenanceTaskController extends BaseController {
         }
         return CommonResult.success();
     }
+
+    /**
+     * 任务派遣 资源分配
+     *
+     * @param subTaskBo 子任务
+     * @return res
+     */
+    @PostMapping("/allocation")
+    public CommonResult<Void> allocation(SubTaskBo subTaskBo) {
+        boolean updated = maintenanceTaskService.allocation(subTaskBo);
+        return updated ? CommonResult.success() : CommonResult.fail();
+    }
 }

+ 13 - 0
als-modules/agile-assurance/src/main/java/org/eco/als/controller/SmTaskController.java

@@ -6,6 +6,7 @@ import jakarta.annotation.Resource;
 import jakarta.servlet.http.HttpServletResponse;
 import lombok.RequiredArgsConstructor;
 import org.eco.als.domain.bo.SmTaskBo;
+import org.eco.als.domain.bo.SubTaskBo;
 import org.eco.als.domain.vo.SmTaskImportVo;
 import org.eco.als.domain.vo.SmTaskVo;
 import org.eco.als.service.ISmTaskService;
@@ -134,4 +135,16 @@ public class SmTaskController extends BaseController {
         }
         return CommonResult.success();
     }
+
+    /**
+     * 任务派遣 资源分配
+     *
+     * @param subTaskBo 子任务
+     * @return res
+     */
+    @PostMapping("/allocation")
+    public CommonResult<Void> allocation(SubTaskBo subTaskBo) {
+        boolean updated = smTaskService.allocation(subTaskBo);
+        return updated ? CommonResult.success() : CommonResult.fail();
+    }
 }

+ 2 - 0
als-modules/agile-assurance/src/main/java/org/eco/als/domain/SmTask.java

@@ -83,6 +83,8 @@ public class SmTask extends BaseEntity {
      */
     private String remark;
 
+    private String status;
+
     /**
      * 删除标识(1删除 0未删除)
      */

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

@@ -6,6 +6,8 @@ import lombok.EqualsAndHashCode;
 import org.eco.als.domain.SmTask;
 import org.eco.common.orm.core.domain.BaseEntity;
 
+import java.util.List;
+
 /**
  * 定检任务业务对象 als_sm_task_t
  *
@@ -26,10 +28,19 @@ public class SmTaskBo extends BaseEntity {
      */
     private String aircraftId;
 
+    /**
+     * 机号S
+     */
+    private List<String> aircraftIds;
+
     /**
      * 机型
      */
     private String aircraftModel;
+    /**
+     * 机型S
+     */
+    private List<String> aircraftModels;
 
     /**
      * 任务名称
@@ -71,6 +82,11 @@ public class SmTaskBo extends BaseEntity {
      */
     private String contents;
 
+    /**
+     * 任务状态
+     */
+    private String status;
+
     /**
      * 备注
      */

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

@@ -100,6 +100,12 @@ public class SmTaskVo extends BaseEntity implements Serializable {
     @ExcelProperty(value = "备注")
     private String remark;
 
+    /**
+     * 任务状态
+     */
+    @ExcelProperty(value = "任务状态")
+    private String status;
+
     /**
      * 删除标识(1删除 0未删除)
      */

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

@@ -2,6 +2,7 @@ package org.eco.als.service;
 
 import java.util.List;
 
+import org.eco.als.domain.bo.SubTaskBo;
 import org.eco.common.core.core.domain.model.LoginUser;
 import org.eco.als.domain.MaintenanceTask;
 import org.eco.als.domain.vo.MaintenanceTaskVo;
@@ -94,4 +95,6 @@ public interface IMaintenanceTaskService extends IBaseService<MaintenanceTask> {
     @Async
     void asyncExport(List<MaintenanceTaskVo> listVo, String sheetName, LoginUser user);
 
+    boolean allocation(SubTaskBo subTaskBo);
+
 }

+ 3 - 0
als-modules/agile-assurance/src/main/java/org/eco/als/service/ISmTaskService.java

@@ -2,6 +2,7 @@ package org.eco.als.service;
 
 import org.eco.als.domain.SmTask;
 import org.eco.als.domain.bo.SmTaskBo;
+import org.eco.als.domain.bo.SubTaskBo;
 import org.eco.als.domain.vo.SmTaskVo;
 import org.eco.common.core.core.domain.model.LoginUser;
 import org.eco.common.core.core.page.PageResult;
@@ -94,4 +95,6 @@ public interface ISmTaskService extends IBaseService<SmTask> {
     @Async
     void asyncExport(List<SmTaskVo> listVo, String sheetName, LoginUser user);
 
+    boolean allocation(SubTaskBo subTaskBo);
+
 }

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

@@ -1,5 +1,6 @@
 package org.eco.als.service.impl;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.mybatisflex.core.paginate.Page;
 import com.mybatisflex.core.query.QueryWrapper;
@@ -7,11 +8,14 @@ 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.bo.SubTaskBo;
 import org.eco.als.domain.vo.MaintenanceTaskImportVo;
 import org.eco.als.domain.vo.MaintenanceTaskVo;
 import org.eco.als.listener.MaintenanceTaskImportListener;
 import org.eco.als.mapper.MaintenanceTaskMapper;
 import org.eco.als.service.IMaintenanceTaskService;
+import org.eco.als.service.IPersonnelAllocationService;
+import org.eco.als.service.IResourceAllocationService;
 import org.eco.common.core.core.domain.model.LoginUser;
 import org.eco.common.core.core.page.PageResult;
 import org.eco.common.core.utils.MapstructUtils;
@@ -47,6 +51,10 @@ public class MaintenanceTaskServiceImpl extends BaseServiceImpl<MaintenanceTaskM
 
     @Resource
     private IImportExportService importExportService;
+    @Resource
+    private IResourceAllocationService resourceAllocationService;
+    @Resource
+    private IPersonnelAllocationService personnelAllocationService;
 
     @Override
     public QueryWrapper query() {
@@ -166,8 +174,7 @@ public class MaintenanceTaskServiceImpl extends BaseServiceImpl<MaintenanceTaskM
     public boolean update(MaintenanceTaskBo maintenanceTaskBo) {
         MaintenanceTask maintenanceTask = MapstructUtils.convert(maintenanceTaskBo, MaintenanceTask.class);
         if (ObjectUtil.isNotNull(maintenanceTask) && ObjectUtil.isNotNull(maintenanceTask.getId())) {
-            boolean updated = this.updateById(maintenanceTask);
-            return updated;
+            return this.updateById(maintenanceTask);
         }
         return false;
     }
@@ -196,6 +203,23 @@ public class MaintenanceTaskServiceImpl extends BaseServiceImpl<MaintenanceTaskM
         }
     }
 
+    @Override
+    public boolean allocation(SubTaskBo subTaskBo) {
+        MaintenanceTask maintenanceTask = new MaintenanceTask();
+        maintenanceTask.setId(subTaskBo.getTaskId());
+        maintenanceTask.setStatus("1");
+        boolean updated = this.updateById(maintenanceTask);
+        if (updated) {
+            if (CollUtil.isNotEmpty(subTaskBo.getResourceAllocationList())) {
+                resourceAllocationService.saveBatch(subTaskBo.getResourceAllocationList());
+            }
+            if (CollUtil.isNotEmpty(subTaskBo.getPersonnelAllocationList())) {
+                personnelAllocationService.saveBatch(subTaskBo.getPersonnelAllocationList());
+            }
+        }
+        return updated;
+    }
+
     /**
      * 批量删除维修信息
      *

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

@@ -1,5 +1,6 @@
 package org.eco.als.service.impl;
 
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.mybatisflex.core.paginate.Page;
 import com.mybatisflex.core.query.QueryWrapper;
@@ -7,10 +8,13 @@ import jakarta.annotation.Resource;
 import lombok.extern.slf4j.Slf4j;
 import org.eco.als.domain.SmTask;
 import org.eco.als.domain.bo.SmTaskBo;
+import org.eco.als.domain.bo.SubTaskBo;
 import org.eco.als.domain.vo.SmTaskImportVo;
 import org.eco.als.domain.vo.SmTaskVo;
 import org.eco.als.listener.SmTaskImportListener;
 import org.eco.als.mapper.SmTaskMapper;
+import org.eco.als.service.IPersonnelAllocationService;
+import org.eco.als.service.IResourceAllocationService;
 import org.eco.als.service.ISmTaskService;
 import org.eco.common.core.core.domain.model.LoginUser;
 import org.eco.common.core.core.page.PageResult;
@@ -48,6 +52,10 @@ public class SmTaskServiceImpl extends BaseServiceImpl<SmTaskMapper, SmTask> imp
 
     @Resource
     private IImportExportService importExportService;
+    @Resource
+    private IResourceAllocationService resourceAllocationService;
+    @Resource
+    private IPersonnelAllocationService personnelAllocationService;
 
     @Override
     public QueryWrapper query() {
@@ -56,6 +64,14 @@ public class SmTaskServiceImpl extends BaseServiceImpl<SmTaskMapper, SmTask> imp
 
     private QueryWrapper buildQueryWrapper(SmTaskBo smTaskBo) {
         QueryWrapper queryWrapper = super.buildBaseQueryWrapper();
+//        queryWrapper.and(SM_TASK.AIRCRAFT_ID.in
+//            (smTaskBo.getAircraftIds()));
+//        queryWrapper.and(SM_TASK.AIRCRAFT_ID.eq
+//            (smTaskBo.getAircraftId()));
+//        queryWrapper.and(SM_TASK.AIRCRAFT_MODEL.in
+//            (smTaskBo.getAircraftModels()));
+//        queryWrapper.and(SM_TASK.AIRCRAFT_MODEL.eq
+//            (smTaskBo.getAircraftModel()));
         if (StringUtils.isNotBlank(smTaskBo.getAircraftId())) {
             String[] airTypeIds = smTaskBo.getAircraftId().split(",");
             queryWrapper.and(SM_TASK.AIRCRAFT_ID.in
@@ -76,6 +92,8 @@ public class SmTaskServiceImpl extends BaseServiceImpl<SmTaskMapper, SmTask> imp
             (smTaskBo.getPeriodTime()));
         queryWrapper.and(SM_TASK.REMAIN_TIME.eq
             (smTaskBo.getRemainTime()));
+        queryWrapper.and(SM_TASK.STATUS.eq
+            (smTaskBo.getStatus()));
         queryWrapper.and(SM_TASK.HEAD_NAME.like
             (smTaskBo.getHeadName()));
         queryWrapper.and(SM_TASK.SYSTEM_NAME.like
@@ -203,4 +221,21 @@ public class SmTaskServiceImpl extends BaseServiceImpl<SmTaskMapper, SmTask> imp
         return this.removeByIds(Arrays.asList(ids));
     }
 
+    @Override
+    public boolean allocation(SubTaskBo subTaskBo) {
+        SmTask smTask = new SmTask();
+        smTask.setStatus("1");
+        smTask.setId(subTaskBo.getTaskId());
+        boolean updated = this.updateById(smTask);
+        if (updated) {
+            if (CollUtil.isNotEmpty(subTaskBo.getResourceAllocationList())) {
+                resourceAllocationService.saveBatch(subTaskBo.getResourceAllocationList());
+            }
+            if (CollUtil.isNotEmpty(subTaskBo.getPersonnelAllocationList())) {
+                personnelAllocationService.saveBatch(subTaskBo.getPersonnelAllocationList());
+            }
+        }
+        return updated;
+    }
+
 }

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

@@ -39,7 +39,7 @@ mybatis-flex:
       type: ${spring.datasource.type}
       #DM8数据库
       driver-class-name: dm.jdbc.driver.DmDriver
-      url: jdbc:dm://127.0.0.1:5236?schema=als&useUnicode=true&characterEncoding=utf8&useSSL=true&autoReconnect=true&reWriteBatchedInserts=true
+      url: jdbc:dm://127.0.0.1:5236?schema=lqbz&useUnicode=true&characterEncoding=utf8&useSSL=true&autoReconnect=true&reWriteBatchedInserts=true
       username: SYSDBA
       password: SYSDBA123
 #    # 数据源-2