From 01bd8257af9f7cc83daba19ac6f2b0e6afd3f49c Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Wed, 7 Aug 2024 18:52:39 +0800 Subject: [PATCH] =?UTF-8?q?add:=20=E6=89=8B=E6=8C=81=E7=94=9F=E7=AE=94?= =?UTF-8?q?=E5=91=BC=E5=8F=AB=E7=A9=BA=E8=BE=8A=E3=80=81=E4=B8=8B=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../acs/controller/AcsToWmsController.java | 2 +- .../acs/service/impl/AcsToWmsServiceImpl.java | 6 +- .../acs/service/impl/WmsToAcsServiceImpl.java | 5 +- .../mps/controller/RawFoilPdaController.java | 49 +++++++ .../pda/mps/service/RawFoilPdaService.java | 33 +++++ .../service/impl/RawFoilPdaServiceImpl.java | 125 +++++++++++++++++ .../PdmBiRawfoilworkorderController.java | 24 ++-- .../wms/pdm/bi/dao/PdmBiRawfoilworkorder.java | 61 ++------ .../PdmBiRawfoilworkorderServiceImpl.java | 26 ++-- .../nl/wms/pdm/ivt/dao/StIvtSbpointivt.java | 3 +- .../nl/wms/pdm/ivt/dao/StIvtStpointivt.java | 3 +- .../ivt/service/IstIvtSbpointivtService.java | 10 +- .../impl/StIvtSbpointivtServiceImpl.java | 31 +++-- ...chBaseVehiclematerialgroupServiceImpl.java | 1 - .../point/service/ISchBasePointService.java | 19 +++ .../sch/point/service/dao/SchBasePoint.java | 15 +- .../dao/mapper/SchBasePointMapper.java | 7 + .../service/dao/mapper/SchBasePointMapper.xml | 11 ++ .../service/impl/SchBasePointServiceImpl.java | 28 +++- .../sch/task/service/ISchBaseTaskService.java | 17 ++- .../wms/sch/task/service/dao/SchBaseTask.java | 3 +- .../task/service/dao/SchBaseTaskconfig.java | 2 +- .../service/dao/mapper/SchBaseTaskMapper.java | 4 + .../service/dao/mapper/SchBaseTaskMapper.xml | 17 +++ .../dao/mapper/SchBaseTaskconfigMapper.xml | 4 +- .../service/impl/SchBaseTaskServiceImpl.java | 14 +- .../nl/wms/sch/task_manage/AbstractTask.java | 104 ++++++++------ .../sch/task_manage/{task => }/AcsUtil.java | 7 +- .../{task/core => }/TaskApplyType.java | 2 +- .../task_manage/{task => }/TaskFactory.java | 2 +- .../{task/core => }/TaskOperateType.java | 4 +- .../{task/core => }/TaskStatus.java | 2 +- .../sch/task_manage/{task => }/TaskType.java | 2 +- .../{ => constant}/GeneralDefinition.java | 6 +- .../task_manage/constant/TaskConstant.java | 11 ++ .../task_manage/enums/TaskDirectionEnum.java | 47 ------- .../second_floor_area/CallEmpReelTask.java | 15 +- .../task/second_floor_area/CoolCutTask.java | 15 +- .../task/second_floor_area/InCoolIvtTask.java | 15 +- .../task/second_floor_area/InHotTask.java | 15 +- .../task/second_floor_area/OutHotTask.java | 15 +- .../tasks/raw/RawCallRollAGVTask.java | 60 ++++++++ .../tasks/raw/RawCallRollTrussTask.java | 130 ++++++++++++++++++ .../task_manage/tasks/raw/RawDownAGVTask.java | 32 +++++ .../main/java/org/nl/wms/util/MesUtils.java | 2 +- .../main/java/org/nl/wms/util/PointUtils.java | 6 +- .../main/java/org/nl/wms/util/TaskUtils.java | 25 +++- .../src/main/resources/config/application.yml | 2 +- .../wms/pdm/order/rawfoilworkorder/index.vue | 2 +- .../src/views/wms/sch/point/index.vue | 20 +-- .../src/views/wms/sch/task/config/index.vue | 14 +- .../src/views/wms/sch/task/index.vue | 21 +-- .../src/views/wms/sch/task/locale/zh.js | 8 +- 53 files changed, 828 insertions(+), 276 deletions(-) create mode 100644 lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/controller/RawFoilPdaController.java create mode 100644 lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/service/RawFoilPdaService.java create mode 100644 lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/service/impl/RawFoilPdaServiceImpl.java rename lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/{task => }/AcsUtil.java (97%) rename lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/{task/core => }/TaskApplyType.java (94%) rename lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/{task => }/TaskFactory.java (96%) rename lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/{task/core => }/TaskOperateType.java (92%) rename lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/{task/core => }/TaskStatus.java (97%) rename lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/{task => }/TaskType.java (89%) rename lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/{ => constant}/GeneralDefinition.java (88%) create mode 100644 lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/constant/TaskConstant.java delete mode 100644 lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/enums/TaskDirectionEnum.java create mode 100644 lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/tasks/raw/RawCallRollAGVTask.java create mode 100644 lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/tasks/raw/RawCallRollTrussTask.java create mode 100644 lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/tasks/raw/RawDownAGVTask.java diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/controller/AcsToWmsController.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/controller/AcsToWmsController.java index 0f5211c36..5ac99e44a 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/controller/AcsToWmsController.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/controller/AcsToWmsController.java @@ -29,7 +29,7 @@ public class AcsToWmsController { @PostMapping("/status") @Log(value = "ACS给WMS反馈任务状态", isInterfaceLog = true, interfaceLogType = InterfaceLogType.ACS_TO_LMS) @SaIgnore - public ResponseEntity receiveTaskStatusAcs(@RequestBody String string) { + public ResponseEntity receiveTaskStatusAcs(@RequestBody String string) throws InterruptedException { log.info("ACS给WMS反馈任务状态:{}", string); return new ResponseEntity<>(acsToWmsService.receiveTaskStatusAcs(string), HttpStatus.OK); } diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index 9907152e6..049ecdacc 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -8,8 +8,8 @@ import org.nl.wms.ext.acs.service.AcsToWmsService; import org.nl.wms.sch.task.service.ISchBaseTaskService; import org.nl.wms.sch.task.service.dao.SchBaseTask; import org.nl.wms.sch.task_manage.AbstractTask; -import org.nl.wms.sch.task_manage.task.TaskFactory; -import org.nl.wms.sch.task_manage.task.core.TaskStatus; +import org.nl.wms.sch.task_manage.TaskFactory; +import org.nl.wms.sch.task_manage.TaskStatus; import org.redisson.api.RLock; import org.redisson.api.RedissonClient; import org.springframework.beans.factory.annotation.Autowired; @@ -60,7 +60,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { // 任务处理类 try { AbstractTask task1 = taskFactory.getTask(task.getConfig_code()); - task1.updateTaskStatus(row, status); + task1.updateStatus(row, status); } catch (Exception e) { e.printStackTrace(); message = e.getMessage(); diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java index 2b8246a2a..dc6918f59 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/WmsToAcsServiceImpl.java @@ -4,12 +4,9 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import lombok.extern.slf4j.Slf4j; import org.nl.wms.ext.acs.service.WmsToAcsService; -import org.nl.wms.ext.acs.service.dto.to.acs.IssueAcsRequest; -import org.nl.wms.ext.acs.service.dto.to.wms.AcsResponse; import org.nl.wms.ext.record.service.ISysInteractRecordService; import org.nl.wms.sch.task_manage.AcsTaskDto; -import org.nl.wms.sch.task_manage.GeneralDefinition; -import org.nl.wms.sch.task_manage.task.AcsUtil; +import org.nl.wms.sch.task_manage.AcsUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/controller/RawFoilPdaController.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/controller/RawFoilPdaController.java new file mode 100644 index 000000000..f12901399 --- /dev/null +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/controller/RawFoilPdaController.java @@ -0,0 +1,49 @@ +package org.nl.wms.pda.mps.controller; + +import cn.dev33.satoken.annotation.SaIgnore; +import com.alibaba.fastjson.JSONObject; +import lombok.extern.slf4j.Slf4j; +import org.nl.common.logging.annotation.Log; +import org.nl.wms.pda.mps.service.RawFoilPdaService; +import org.nl.wms.pdm.bi.service.IpdmBiRawfoilworkorderService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Author: lyd + * @Description: 生箔手持控制类 + * @Date: 2024/8/6 + */ +@RestController +@RequestMapping("/api/pda/raw") +@Slf4j +@SaIgnore +public class RawFoilPdaController { + + @Autowired + private RawFoilPdaService rawFoilPdaService; + + @PostMapping("/queryRawFoilList") + @Log("查询生箔工单") + public ResponseEntity queryRawFoilList(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(rawFoilPdaService.queryRawFoilList(whereJson), HttpStatus.OK); + } + + @PostMapping("/needEmptyVehicle") + @Log("生箔呼叫空辊") + public ResponseEntity needEmptyVehicle(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(rawFoilPdaService.needEmptyVehicle(whereJson), HttpStatus.OK); + } + + @PostMapping("/needEmptyAxis") + @Log("生箔下料") + public ResponseEntity needEmptyAxis(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(rawFoilPdaService.needEmptyAxis(whereJson), HttpStatus.OK); + } + +} diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/service/RawFoilPdaService.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/service/RawFoilPdaService.java new file mode 100644 index 000000000..739483e6f --- /dev/null +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/service/RawFoilPdaService.java @@ -0,0 +1,33 @@ +package org.nl.wms.pda.mps.service; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; + +/** + * @Author: lyd + * @Description: + * @Date: 2024/8/6 + */ +public interface RawFoilPdaService { + + /** + * 呼叫空辊 + * @param param / + * @return / + */ + JSONObject needEmptyVehicle(JSONObject param); + + /** + * 查询生箔工单 + * @param param / + * @return / + */ + JSONObject queryRawFoilList(JSONObject param); + + /** + * 生箔下料 + * @param param / + * @return / + */ + JSONObject needEmptyAxis(JSONObject param); +} diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/service/impl/RawFoilPdaServiceImpl.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/service/impl/RawFoilPdaServiceImpl.java new file mode 100644 index 000000000..460af39d9 --- /dev/null +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/service/impl/RawFoilPdaServiceImpl.java @@ -0,0 +1,125 @@ +package org.nl.wms.pda.mps.service.impl; + +import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import lombok.extern.slf4j.Slf4j; +import org.nl.common.exception.BadRequestException; +import org.nl.wms.pda.mps.service.RawFoilPdaService; +import org.nl.wms.pdm.bi.dao.PdmBiRawfoilworkorder; +import org.nl.wms.pdm.bi.service.IpdmBiRawfoilworkorderService; +import org.nl.wms.sch.point.service.ISchBasePointService; +import org.nl.wms.sch.task.service.ISchBaseTaskService; +import org.nl.wms.sch.task.service.dao.SchBaseTask; +import org.nl.wms.sch.task_manage.constant.GeneralDefinition; +import org.nl.wms.sch.task_manage.tasks.raw.RawCallRollTrussTask; +import org.nl.wms.util.TaskUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * @Author: lyd + * @Description: + * @Date: 2024/8/6 + */ +@Slf4j +@Service +public class RawFoilPdaServiceImpl implements RawFoilPdaService { + @Autowired + private RawCallRollTrussTask rawCallRollTrussTask; + @Autowired + private ISchBasePointService pointService; + @Autowired + private IpdmBiRawfoilworkorderService rawfoilworkorderService; + @Autowired + private ISchBaseTaskService taskService; + @Override + @Transactional(rollbackFor = Exception.class) + public JSONObject needEmptyVehicle(JSONObject param) { + log.info("手持呼叫空收卷辊: {}", param); + // param: point_code, vehicle_type + String pointCode = param.getString("point_code"); + String vehicleType = param.getString("vehicle_type"); + if (ObjectUtil.isEmpty(vehicleType)) { + throw new BadRequestException("收卷辊的类型不能为空!"); + } + // 判断是否存在任务 + List unFinishTasks = taskService.checkHaveTask(pointCode); + // 判断是否存在对应的桁架任务 + List unFinishRelatedTasks = taskService.checkHaveRelatedTaskInRequestParam(pointCode); + if (unFinishTasks.size() > 0 || unFinishRelatedTasks.size() > 0) { + log.error("点位 [{}] 已经存在任务!", pointCode); + throw new BadRequestException("点位[" + pointCode + "]已经存在任务!"); + } + param.put("config_code", "RawCallRollTrussTask"); + param.put("device_code", pointCode); + param.put("create_mode", GeneralDefinition.PDA_CREATION); + param.put("requestNo", "LMS" + IdUtil.getSnowflake(1,1).nextIdStr()); + // 调用通用口, 创建空辊桁架任务 + rawCallRollTrussTask.apply(param); + JSONObject result = new JSONObject(); + result.put("status", HttpStatus.OK.value()); + result.put("message", "任务创建成功!"); + result.put("data", new JSONObject()); + return result; + } + + @Override + public JSONObject queryRawFoilList(JSONObject param) { + // 查找生箔工单,通过点位获取,时间排序最近10条 + // param: point_code,vehicle_code + String pointCode = param.getString("point_code"); + String vehicleCode = param.getString("vehicle_code"); + List list = rawfoilworkorderService.list(new LambdaQueryWrapper() + .eq(ObjectUtil.isNotEmpty(pointCode), PdmBiRawfoilworkorder::getPoint_code, pointCode) + .eq(ObjectUtil.isNotEmpty(vehicleCode), PdmBiRawfoilworkorder::getWind_roll, vehicleCode) + .orderByDesc(PdmBiRawfoilworkorder::getCreate_time) + .last("limit 10")); + JSONObject jo = new JSONObject(); + jo.put("data", list); + jo.put("message", "查询成功!"); + return jo; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public JSONObject needEmptyAxis(JSONObject param) { + log.info("手持生箔下料: {}", param); + // point_code, vehicle_code, is_call_empty, vehicle_type, workorder_id + String pointCode = param.getString("point_code"); + String vehicleCode = param.getString("vehicle_code"); + String isCallEmpty = param.getString("is_call_empty"); + String vehicleType = param.getString("vehicle_type"); + String workOrderId = param.getString("workorder_id"); + if (GeneralDefinition.YES.equals(isCallEmpty) && ObjectUtil.isEmpty(vehicleType)) { + throw new BadRequestException("收卷辊的类型不能为空!"); + } + // 判断是否存在任务 + List unFinishTasks = taskService.checkHaveTask(pointCode); + // 判断是否存在对应的桁架任务 + List unFinishRelatedTasks = taskService.checkHaveRelatedTaskInRequestParam(pointCode); + if (unFinishTasks.size() > 0 || unFinishRelatedTasks.size() > 0) { + log.error("点位 [{}] 已经存在任务!", pointCode); + throw new BadRequestException("点位[" + pointCode + "]已经存在任务!"); + } + // 获取生箔工单 01 -> 02 + PdmBiRawfoilworkorder rawfoilworkorder = rawfoilworkorderService.getById(workOrderId); + rawfoilworkorder.setWind_roll(vehicleCode); + rawfoilworkorder.setStatus("02"); + TaskUtils.setRawOrderUpdateByDefault(rawfoilworkorder); + rawfoilworkorderService.updateById(rawfoilworkorder); + // 判断是否呼叫空辊 + if (GeneralDefinition.YES.equals(isCallEmpty)) { + // 创建桁架任务,之后创建AGV任务需要备注是四点任务 + } else { + // 创建AGV任务,直接到烘箱的任务 + } + + return null; + } +} diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/bi/controller/PdmBiRawfoilworkorderController.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/bi/controller/PdmBiRawfoilworkorderController.java index daa3026e6..580234b33 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/bi/controller/PdmBiRawfoilworkorderController.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/bi/controller/PdmBiRawfoilworkorderController.java @@ -1,22 +1,20 @@ package org.nl.wms.pdm.bi.controller; -import java.util.Set; -import java.util.Map; - import com.alibaba.fastjson.JSONObject; -import org.nl.common.base.TableDataInfo; -import org.springframework.web.bind.annotation.*; import lombok.RequiredArgsConstructor; - -import javax.annotation.Resource; - import lombok.extern.slf4j.Slf4j; +import org.nl.common.base.TableDataInfo; import org.nl.common.domain.query.PageQuery; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; import org.nl.common.logging.annotation.Log; import org.nl.wms.pdm.bi.dto.PdmBiRawfoilworkorderParam; import org.nl.wms.pdm.bi.service.IpdmBiRawfoilworkorderService; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.Map; +import java.util.Set; /** @@ -48,7 +46,6 @@ public class PdmBiRawfoilworkorderController { return new ResponseEntity<>(TableDataInfo.build(pdmBiRawfoilworkorderService.query(whereJson, page)), HttpStatus.OK); } - /** * 条件查询 * @@ -60,7 +57,6 @@ public class PdmBiRawfoilworkorderController { return new ResponseEntity<>(pdmBiRawfoilworkorderService.selectList(params), HttpStatus.OK); } - /** * 新增数据 * @@ -74,7 +70,6 @@ public class PdmBiRawfoilworkorderController { return new ResponseEntity<>(HttpStatus.OK); } - /** * 修改数据 * @@ -89,7 +84,6 @@ public class PdmBiRawfoilworkorderController { return new ResponseEntity<>(HttpStatus.OK); } - /** * 删除数据 * @@ -104,7 +98,6 @@ public class PdmBiRawfoilworkorderController { return new ResponseEntity<>(HttpStatus.OK); } - @Log("称重") @PostMapping("/confirm") public ResponseEntity confirm(@RequestBody JSONObject whereJson) { @@ -118,6 +111,5 @@ public class PdmBiRawfoilworkorderController { pdmBiRawfoilworkorderService.compelEnd(whereJson); return new ResponseEntity<>(HttpStatus.OK); } - } diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/bi/dao/PdmBiRawfoilworkorder.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/bi/dao/PdmBiRawfoilworkorder.java index f6014c138..b3d4feb39 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/bi/dao/PdmBiRawfoilworkorder.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/bi/dao/PdmBiRawfoilworkorder.java @@ -1,13 +1,11 @@ package org.nl.wms.pdm.bi.dao; -import java.math.BigDecimal; -import java.io.Serializable; - +import com.baomidou.mybatisplus.annotation.*; +import com.baomidou.mybatisplus.extension.activerecord.Model; import lombok.Data; import lombok.EqualsAndHashCode; -import com.baomidou.mybatisplus.annotation.*; -import com.baomidou.mybatisplus.annotation.TableName; -import com.baomidou.mybatisplus.extension.activerecord.Model; + +import java.math.BigDecimal; /** @@ -23,190 +21,157 @@ public class PdmBiRawfoilworkorder extends Model { private static final long serialVersionUID = -7739291296662381393L; - - /** * 工单标识 */ @TableId(type = IdType.ASSIGN_ID) private String workorder_id; - /** * 母卷号 */ private String container_name; - /** * 机台编码 */ private String resource_name; - /** * 生产工单 */ private String mfg_order_name; - /** * 产品编码 */ private String product_name; - /** * 产品名称 */ private String description; - /** * 理论长度 */ private BigDecimal theory_height; - /** * 设备生产速度 */ private BigDecimal eqp_velocity; - /** * 上卷开始时间 */ private String up_coiler_date; - /** * 是否重新更新 */ private String is_reload_send; - /** * 重量 */ private BigDecimal productin_qty; - /** * 开始时间 */ private String realstart_time; - /** * 结束时间 */ private String realend_time; - /** * 状态 */ private String status; - /** * 完成方式 */ private String finish_type; - /** * 车号 */ private String agvno; - /** * 备注 */ private String remark; - /** * 创建人 */ - private Long create_id; - + private String create_id; /** * 创建人 */ private String create_name; - /** * 创建时间 */ @TableField(fill = FieldFill.INSERT) private String create_time; - /** * 修改人 */ - private Long update_optid; - + private String update_optid; /** * 修改人 */ private String update_optname; - /** * 修改时间 */ @TableField(fill = FieldFill.INSERT_UPDATE) private String update_time; - /** * 是否删除 */ private String is_delete; - /** * 生产区域 */ private String product_area; - /** * 点位编码 */ private String point_code; - /** - * 请求烘烤 + * 是否烘烤 */ private String is_baking; - /** * 请求入半成品库 */ private String is_instor; + + /** 收卷辊 */ private String wind_roll; + + /** 类型:标箔、锂电 */ private String order_type; - - /** - * 获取主键值 - * - * @return 主键值 - */ - @Override - protected Serializable pkVal() { - return this.workorder_id; - } + /** 烘烤时间 */ + private String baking_time; } diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/bi/service/impl/PdmBiRawfoilworkorderServiceImpl.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/bi/service/impl/PdmBiRawfoilworkorderServiceImpl.java index 56f7a5ac4..87bfedb9a 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/bi/service/impl/PdmBiRawfoilworkorderServiceImpl.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/bi/service/impl/PdmBiRawfoilworkorderServiceImpl.java @@ -1,36 +1,36 @@ package org.nl.wms.pdm.bi.service.impl; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; +import org.nl.common.domain.query.PageQuery; import org.nl.common.enums.WorkOrderStatusEnum; import org.nl.common.exception.BadRequestException; import org.nl.common.utils.IdUtil; +import org.nl.common.utils.SecurityUtils; import org.nl.wms.basedata.material.dao.MdMeMaterialbase; import org.nl.wms.basedata.material.service.ImdMeMaterialbaseService; import org.nl.wms.pdm.bi.dao.PdmBiRawfoilworkorder; -import org.nl.wms.pdm.bi.dto.PdmBiRawfoilworkorderParam; import org.nl.wms.pdm.bi.dao.mapper.PdmBiRawfoilworkorderMapper; +import org.nl.wms.pdm.bi.dto.PdmBiRawfoilworkorderParam; import org.nl.wms.pdm.bi.service.IpdmBiRawfoilworkorderService; -import cn.hutool.core.date.DateUtil; import org.nl.wms.pdm.ivt.dao.StIvtSbpointivt; import org.nl.wms.pdm.ivt.dao.mapper.StIvtSbpointivtMapper; import org.nl.wms.sch.task.service.dao.SchBaseTask; import org.nl.wms.sch.task.service.dao.mapper.SchBaseTaskMapper; -import org.nl.wms.sch.task.service.dao.mapper.SchBaseTaskconfigMapper; -import org.nl.wms.sch.task_manage.task.core.TaskStatus; +import org.nl.wms.sch.task_manage.TaskStatus; import org.nl.wms.storage_manage.ios.enums.IOSEnum; import org.springframework.beans.BeanUtils; -import org.nl.common.utils.SecurityUtils; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; -import com.baomidou.mybatisplus.core.metadata.IPage; -import org.nl.common.domain.query.PageQuery; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; @@ -48,10 +48,10 @@ import static org.nl.common.enums.WorkOrderStatusEnum.PRODUCT_STATUS; * * @since 2024-03-27 */ -@Service("pdmBiRawfoilworkorderService") +@Slf4j +@Service public class PdmBiRawfoilworkorderServiceImpl extends ServiceImpl implements IpdmBiRawfoilworkorderService { - @Resource private PdmBiRawfoilworkorderMapper pdmBiRawfoilworkorderMapper; @@ -61,7 +61,6 @@ public class PdmBiRawfoilworkorderServiceImpl extends ServiceImpl { /** * 点位标识 */ - private Long point_id; + @TableId(value = "point_id", type = IdType.NONE) + private String point_id; /** diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/ivt/dao/StIvtStpointivt.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/ivt/dao/StIvtStpointivt.java index f1615b724..05bfacf5e 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/ivt/dao/StIvtStpointivt.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/ivt/dao/StIvtStpointivt.java @@ -27,7 +27,8 @@ public class StIvtStpointivt extends Model { /** * 点位标识 */ - private Long point_id; + @TableId(value = "point_id") + private String point_id; /** diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/ivt/service/IstIvtSbpointivtService.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/ivt/service/IstIvtSbpointivtService.java index a00f959b2..202beb4f5 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/ivt/service/IstIvtSbpointivtService.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/ivt/service/IstIvtSbpointivtService.java @@ -1,9 +1,9 @@ package org.nl.wms.pdm.ivt.service; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; import org.nl.common.domain.query.PageQuery; import org.nl.wms.pdm.ivt.dao.StIvtSbpointivt; -import com.baomidou.mybatisplus.extension.service.IService; import org.nl.wms.pdm.ivt.dto.StIvtSbpointivtParam; import java.util.List; @@ -59,7 +59,13 @@ public interface IstIvtSbpointivtService extends IService { */ void deleteAll(Set ids); - + /** + * 根据编码获取对应生箔点位 + * @param pointCode 点位编码 + * @param flag 是否判断禁用启用 + * @return / + */ + StIvtSbpointivt getByPointCode(String pointCode, boolean flag); } diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/ivt/service/impl/StIvtSbpointivtServiceImpl.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/ivt/service/impl/StIvtSbpointivtServiceImpl.java index 97270544b..5b9413f62 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/ivt/service/impl/StIvtSbpointivtServiceImpl.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/ivt/service/impl/StIvtSbpointivtServiceImpl.java @@ -3,27 +3,22 @@ package org.nl.wms.pdm.ivt.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; -import org.nl.wms.pdm.bi.dao.PdmBiRawfoilworkorder; -import org.nl.wms.pdm.ivt.dao.StIvtSbpointivt; -import org.nl.wms.pdm.ivt.dto.StIvtSbpointivtParam; -import org.nl.wms.pdm.ivt.dao.mapper.StIvtSbpointivtMapper; -import cn.hutool.core.util.ObjectUtil; -import org.nl.wms.pdm.ivt.service.IstIvtSbpointivtService; -import cn.hutool.core.date.DateUtil; -import org.nl.wms.storage_manage.ios.enums.IOSEnum; -import org.springframework.beans.BeanUtils; -import org.nl.common.utils.SecurityUtils; -import org.nl.common.utils.IdUtil; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; -import com.baomidou.mybatisplus.core.metadata.IPage; import org.nl.common.domain.query.PageQuery; +import org.nl.wms.pdm.ivt.dao.StIvtSbpointivt; +import org.nl.wms.pdm.ivt.dao.mapper.StIvtSbpointivtMapper; +import org.nl.wms.pdm.ivt.dto.StIvtSbpointivtParam; +import org.nl.wms.pdm.ivt.service.IstIvtSbpointivtService; +import org.nl.wms.storage_manage.ios.enums.IOSEnum; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.List; import java.util.Map; import java.util.Set; -import java.util.List; /** @@ -124,6 +119,14 @@ public class StIvtSbpointivtServiceImpl extends ServiceImpl lam = new QueryWrapper().lambda(); + lam.eq(StIvtSbpointivt::getPoint_code, pointCode) + .eq(flag, StIvtSbpointivt::getIs_used, true); + return getOne(lam); + } + /** * 获取实体基础信息 diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/impl/SchBaseVehiclematerialgroupServiceImpl.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/impl/SchBaseVehiclematerialgroupServiceImpl.java index 2fc58caae..e0f171b70 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/impl/SchBaseVehiclematerialgroupServiceImpl.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/group/service/impl/SchBaseVehiclematerialgroupServiceImpl.java @@ -17,7 +17,6 @@ import org.nl.wms.sch.group.service.dao.SchBaseVehiclematerialgroup; import org.nl.wms.sch.group.service.dao.mapper.SchBaseVehiclematerialgroupMapper; import org.nl.wms.sch.group.service.dto.SchBaseVehiclematerialgroupQuery; import org.nl.wms.sch.point.service.ISchBasePointService; -import org.nl.wms.sch.task_manage.GeneralDefinition; import org.nl.wms.sch.task_manage.enums.GroupBindMaterialStatusEnum; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/ISchBasePointService.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/ISchBasePointService.java index 60472bbd6..171a1d528 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/ISchBasePointService.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/ISchBasePointService.java @@ -6,6 +6,7 @@ import org.nl.common.domain.query.PageQuery; import com.baomidou.mybatisplus.extension.service.IService; import org.nl.wms.sch.point.service.dao.SchBasePoint; +import javax.validation.constraints.NotNull; import java.util.List; import java.util.Map; import java.util.Set; @@ -68,4 +69,22 @@ public interface ISchBasePointService extends IService { * @param lock_ype 锁定类型 */ void lockPoint(List list, String lock_ype); + + /** + * 获取指定载具类型,并没有任务的收卷辊点位 + * @param vehicleType 载具类型 + * @return / + */ + List getWindRollNotTaskPoints(String vehicleType); + + /** + * 根据条件获取点位 + * @param area 生产区域(车间) + * @param region 区域 + * @param pointType 点位类型 + * @param pointStatus 点位状态 + * @param flag 是否校验启用状态 + * @return / + */ + List getPointByConditions(String area, String region, String pointType, String pointStatus, @NotNull boolean flag); } diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/dao/SchBasePoint.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/dao/SchBasePoint.java index 00595da1b..cd66b8b2f 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/dao/SchBasePoint.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/dao/SchBasePoint.java @@ -23,7 +23,7 @@ public class SchBasePoint implements Serializable { private static final long serialVersionUID = 1L; - /** 点位编码 */ + /** 点位标识 */ @TableId(value = "point_code", type = IdType.NONE) private String point_code; @@ -42,9 +42,6 @@ public class SchBasePoint implements Serializable { /** 点位状态 */ private String point_status; - /** 可以存放物料类型 */ - private String can_material_type; - /** 可以存放载具类型 */ private String can_vehicle_type; @@ -84,21 +81,18 @@ public class SchBasePoint implements Serializable { /** 出空顺序 */ private Integer out_empty_seq; - /** 父点位 */ - private String parent_point_code; - /** 外部编码 */ private String ext_point_code; /** 进行中的任务编码 */ private String ing_task_code; + /** 区域 */ + private String product_area; + /** 是否工单 */ private Boolean is_has_workder; - /** 车间编码 */ - private String workshop_code; - /** 是否自动 */ private Boolean is_auto; @@ -152,7 +146,6 @@ public class SchBasePoint implements Serializable { @TableField(exist = false) private String record_id; - @TableField(exist = false) private String device_code; } diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/dao/mapper/SchBasePointMapper.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/dao/mapper/SchBasePointMapper.java index 2e0fe4720..6469a704e 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/dao/mapper/SchBasePointMapper.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/dao/mapper/SchBasePointMapper.java @@ -17,4 +17,11 @@ public interface SchBasePointMapper extends BaseMapper { * @param used */ void batchChangeUsed(List pointCodes, Boolean used); + + /** + * 获取指定载具类型,并没有任务的收卷辊点位 + * @param vehicleType 载具类型 + * @return / + */ + List getWindRollNotTaskPoints(String vehicleType); } diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/dao/mapper/SchBasePointMapper.xml b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/dao/mapper/SchBasePointMapper.xml index 66342b09e..77341edee 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/dao/mapper/SchBasePointMapper.xml +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/dao/mapper/SchBasePointMapper.xml @@ -12,4 +12,15 @@ + diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/impl/SchBasePointServiceImpl.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/impl/SchBasePointServiceImpl.java index 1a89e885a..2e50cf7da 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/impl/SchBasePointServiceImpl.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/impl/SchBasePointServiceImpl.java @@ -6,6 +6,7 @@ import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -62,10 +63,8 @@ public class SchBasePointServiceImpl extends ServiceImpl lam = new LambdaQueryWrapper<>(); - lam.eq(ObjectUtil.isNotEmpty(workshop_code), SchBasePoint::getWorkshop_code, workshop_code) + lam.eq(ObjectUtil.isNotEmpty(workshop_code), SchBasePoint::getProduct_area, workshop_code) .and(ObjectUtil.isNotEmpty(blurry), la -> la.like(SchBasePoint::getPoint_code, blurry) .or().like(SchBasePoint::getPoint_name, blurry)) .eq(ObjectUtil.isNotEmpty(region_code), SchBasePoint::getRegion_code, region_code) @@ -75,8 +74,7 @@ public class SchBasePointServiceImpl extends ServiceImpl pages = new Page<>(page.getPage() + 1, page.getSize()); pointMapper.selectPage(pages, lam); // 可以存放的载具类型 @@ -112,8 +110,8 @@ public class SchBasePointServiceImpl extends ServiceImpl getWindRollNotTaskPoints(String vehicleType) { + return pointMapper.getWindRollNotTaskPoints(vehicleType); + } + + @Override + public List getPointByConditions(String area, String region, String pointType, String pointStatus, boolean flag) { + LambdaQueryWrapper lam = new QueryWrapper().lambda(); + lam.eq(ObjectUtil.isNotEmpty(area), SchBasePoint::getProduct_area, area) + .eq(ObjectUtil.isNotEmpty(region), SchBasePoint::getRegion_code, region) + .eq(ObjectUtil.isNotEmpty(pointType), SchBasePoint::getPoint_type, pointType) + .eq(ObjectUtil.isNotEmpty(pointStatus), SchBasePoint::getPoint_status, pointStatus) + .eq(flag, SchBasePoint::getIs_used, true); + return pointMapper.selectList(lam); + } + } diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/ISchBaseTaskService.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/ISchBaseTaskService.java index b5c85e197..68dd35f67 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/ISchBaseTaskService.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/ISchBaseTaskService.java @@ -8,7 +8,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import org.nl.wms.ext.acs.service.dto.to.BaseRequest; import org.nl.wms.sch.task.service.dao.SchBaseTask; import org.nl.wms.sch.task.service.dto.SchBaseTaskQuery; -import org.nl.wms.sch.task_manage.task.core.TaskStatus; +import org.nl.wms.sch.task_manage.TaskStatus; import java.util.List; import java.util.Map; @@ -113,4 +113,19 @@ public interface ISchBaseTaskService extends IService { * @return SchBaseTask */ SchBaseTask getByCode(String taskCode); + + /** + * 检测点位编码是否存在任务 + * @param code 点位编码 + * @return 任务 + */ + List checkHaveTask(String code); + + /** + * 判断是否存在对应的桁架任务 + * 参数like requestParam + * @param param 校验的字符串 + * @return / + */ + List checkHaveRelatedTaskInRequestParam(String param); } diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/dao/SchBaseTask.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/dao/SchBaseTask.java index a340fc9fa..bb68babbf 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/dao/SchBaseTask.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/dao/SchBaseTask.java @@ -30,6 +30,7 @@ public class SchBaseTask implements Serializable { private String task_code; /** 任务类型 */ + @TableField(exist = false) private String task_type; /** 任务状态 */ @@ -93,7 +94,7 @@ public class SchBaseTask implements Serializable { private String response_param; /** 生成区域 */ - private String workshop_code; + private String product_area; /** 外部数据 */ private String ext_group_data; diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/dao/SchBaseTaskconfig.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/dao/SchBaseTaskconfig.java index 0082e500e..548c39461 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/dao/SchBaseTaskconfig.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/dao/SchBaseTaskconfig.java @@ -121,7 +121,7 @@ public class SchBaseTaskconfig implements Serializable { private String sql_param; - private String workshop_code; + private String product_area; private String remark; diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/dao/mapper/SchBaseTaskMapper.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/dao/mapper/SchBaseTaskMapper.java index d97fa90c9..360ace3c2 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/dao/mapper/SchBaseTaskMapper.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/dao/mapper/SchBaseTaskMapper.java @@ -14,4 +14,8 @@ import java.util.List; public interface SchBaseTaskMapper extends BaseMapper { IPage selectPageLeftJoin(IPage pages, SchBaseTaskQuery whereJson, List collect); + + List checkHaveTask(String code); + + List checkHaveRelatedTaskInRequestParam(String param); } diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/dao/mapper/SchBaseTaskMapper.xml b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/dao/mapper/SchBaseTaskMapper.xml index 002dd4cff..c4c34f79e 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/dao/mapper/SchBaseTaskMapper.xml +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/dao/mapper/SchBaseTaskMapper.xml @@ -45,4 +45,21 @@ ORDER BY t.create_time DESC + + diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/dao/mapper/SchBaseTaskconfigMapper.xml b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/dao/mapper/SchBaseTaskconfigMapper.xml index 34b192daa..edf8702c4 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/dao/mapper/SchBaseTaskconfigMapper.xml +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/dao/mapper/SchBaseTaskconfigMapper.xml @@ -14,8 +14,8 @@ AND sc.config_name LIKE '%${config.blurry}%' - - AND sc.workshop_code = #{config.workshop_code} + + AND sc.product_area = #{config.product_area} diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/impl/SchBaseTaskServiceImpl.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/impl/SchBaseTaskServiceImpl.java index 3a7f27710..8fafd2a2c 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/impl/SchBaseTaskServiceImpl.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task/service/impl/SchBaseTaskServiceImpl.java @@ -22,8 +22,8 @@ import org.nl.wms.sch.task.service.dao.mapper.SchBaseTaskMapper; import org.nl.wms.sch.task.service.dao.mapper.SchBaseTaskconfigMapper; import org.nl.wms.sch.task.service.dto.SchBaseTaskQuery; import org.nl.wms.sch.task_manage.AbstractTask; -import org.nl.wms.sch.task_manage.task.TaskFactory; -import org.nl.wms.sch.task_manage.task.core.TaskStatus; +import org.nl.wms.sch.task_manage.TaskFactory; +import org.nl.wms.sch.task_manage.TaskStatus; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -255,4 +255,14 @@ public class SchBaseTaskServiceImpl extends ServiceImpl checkHaveTask(String code) { + return schBaseTaskMapper.checkHaveTask(code); + } + + @Override + public List checkHaveRelatedTaskInRequestParam(String param) { + return schBaseTaskMapper.checkHaveRelatedTaskInRequestParam(param); + } + } diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AbstractTask.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AbstractTask.java index 57cf9eff7..ce33a5047 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AbstractTask.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AbstractTask.java @@ -17,8 +17,8 @@ import org.nl.wms.sch.task.service.ISchBaseTaskService; import org.nl.wms.sch.task.service.ISchBaseTaskconfigService; import org.nl.wms.sch.task.service.dao.SchBaseTask; import org.nl.wms.sch.task.service.dao.SchBaseTaskconfig; -import org.nl.wms.sch.task_manage.enums.TaskDirectionEnum; -import org.nl.wms.sch.task_manage.task.core.TaskStatus; +import org.nl.wms.sch.task_manage.constant.GeneralDefinition; +import org.nl.wms.sch.task_manage.enums.TaskFinishedTypeEnum; import org.nl.wms.util.TaskUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -26,6 +26,8 @@ import org.springframework.stereotype.Component; import java.util.ArrayList; import java.util.List; +import static org.nl.wms.sch.task_manage.constant.TaskConstant.*; + /** * @author ldjun * @version 1.0 @@ -122,7 +124,7 @@ public abstract class AbstractTask { .eq(SchBaseTaskconfig::getConfig_code, config_code)); taskDto.setPriority(taskConfig.getPriority()); taskDto.setTask_type(taskConfig.getAcs_task_type()); - taskDto.setProduct_area(taskConfig.getWorkshop_code()); + taskDto.setProduct_area(taskConfig.getProduct_area()); taskDto.setAgv_system_type(taskConfig.getAgv_system_type()); taskDto.setRoute_plan_code(taskConfig.getRoute_plan_code()); return taskDto; @@ -150,16 +152,6 @@ public abstract class AbstractTask { this.renotifyAcs(list); } - /** - * 更新任务状态,暴露给外围使用 - * @param taskObj 任务信息 - * @param status 状态 - */ - public void updateTaskStatus(JSONObject taskObj, TaskStatus status) { - this.updateStatus(taskObj, status); - } - - /** * 自动生成任务 */ @@ -169,12 +161,42 @@ public abstract class AbstractTask { /** * 修改状态 - * 以下改为public会出现自动注入类出现问题 * - * @param taskObj 任务信息 + * @param task 任务信息 * @param status 状态 */ - public abstract void updateStatus(JSONObject taskObj, TaskStatus status); + public void updateStatus(JSONObject task, TaskStatus status) { + String taskCode = task.getString("task_code"); + // 校验任务 + SchBaseTask taskObj = taskService.getByCode(taskCode); + // 根据传来的类型去对任务进行操作 + if (status.equals(TaskStatus.EXECUTING)) { + taskObj.setTask_status(TaskStatus.EXECUTING.getCode()); + taskObj.setRemark("执行中"); + taskObj.setCar_no(task.getString("car_no")); + TaskUtils.setUpdateByAcs(taskObj); + taskService.updateById(taskObj); + } + if (status.equals(TaskStatus.FINISHED)) { + finishTask(taskObj, TaskFinishedTypeEnum.AUTO_ACS); + } + if (status.equals(TaskStatus.CANCELED)) { + cancelTask(taskObj, TaskFinishedTypeEnum.AUTO_ACS); + } + } + + /** + * 具体完成逻辑 + * @param taskObj 任务数据 + * @param autoAcs 完成枚举 + */ + public abstract void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum autoAcs); + /** + * 具体完成逻辑 + * @param taskObj 任务数据 + * @param autoAcs 完成枚举 + */ + public abstract void cancelTask(SchBaseTask taskObj, TaskFinishedTypeEnum autoAcs); /** @@ -186,12 +208,14 @@ public abstract class AbstractTask { */ protected void setTaskPoint(SchBaseTaskconfig taskConfig, SchBaseTask task, String apply_point_code) { String taskDirection = taskConfig.getTask_direction(); - if (TaskDirectionEnum.SEND.getValue().equals(taskDirection)) { + if (ObjectUtil.isEmpty(taskDirection)) { + return; + } + if (VERIFY_START.equals(taskDirection)) { task.setPoint_code1(apply_point_code); - } else { + } else if (VERIFY_END.equals(taskDirection)) { task.setPoint_code2(apply_point_code); } - } /** @@ -202,23 +226,21 @@ public abstract class AbstractTask { public void deliveryBeforeProcessing(SchBaseTask task, AcsTaskDto acsTaskDto) { } - /** - * 强制结束完成任务 - * - * @param task_code 任务标识 - * @return - * @discription 强制结束完成任务 - * @author ldjun - * @created 2020年6月19日 上午10:34:58 - */ - public abstract void forceFinish(String task_code); + public void forceFinish(String task_code) { + SchBaseTask taskObj = taskService.getByCode(task_code); + if (ObjectUtil.isEmpty(taskObj)) { + throw new BadRequestException("该任务不存在"); + } + this.finishTask(taskObj, TaskFinishedTypeEnum.MANUAL_PC); + } - /** - * 取消任务,货物搬回原点 - * - * @param task_code - */ - public abstract void cancel(String task_code); + public void cancel(String task_code) { + SchBaseTask taskObj = taskService.getByCode(task_code); + if (ObjectUtil.isEmpty(taskObj)) { + throw new BadRequestException("任务[" + task_code + "]不存在!"); + } + this.cancelTask(taskObj, TaskFinishedTypeEnum.MANUAL_PC); + } /** * 申请任务 - 暂时不用 @@ -233,6 +255,7 @@ public abstract class AbstractTask { String applyPointCode = param.getString("device_code"); String requestNo = param.getString("requestNo"); String configCode = param.getString("config_code"); + String productArea = param.getString("product_area"); // 1、校验数据 SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper() @@ -248,11 +271,11 @@ public abstract class AbstractTask { Assert.isFalse(unFinishTasksByTaskConfig.size() >= tcmn, LangProcess.msg("common_maxTaskTip", applyPointCode)); // 校验同个点位,同种任务是否多次请求创建任务(固定只能1个任务) - List applyPointTask = taskService.findUnFinishTasksByTaskConfig( - taskConfig.getConfig_code(), applyPointCode, taskConfig.getTask_direction()); - if (applyPointTask.size() == 1) { - throw new BadRequestException(LangProcess.msg("common_taskCreatedTip", applyPointCode)); - } +// List applyPointTask = taskService.findUnFinishTasksByTaskConfig( +// taskConfig.getConfig_code(), applyPointCode, taskConfig.getTask_direction()); +// if (applyPointTask.size() == 1) { +// throw new BadRequestException(LangProcess.msg("common_taskCreatedTip", applyPointCode)); +// } String vehicleType = param.getString("vehicle_type"); String vehicleCode = TaskUtils.defaultVehicleCode(param.getString("vehicle_code")); @@ -266,6 +289,7 @@ public abstract class AbstractTask { task.setCreate_mode(ObjectUtil.isNotEmpty(param.getString("create_mode")) ? param.getString("create_mode") : GeneralDefinition.ACS_CREATION); task.setVehicle_code(vehicleCode); + task.setProduct_area(productArea); task.setVehicle_qty(param.getInteger("vehicle_qty")); task.setVehicle_type(vehicleType); task.setTask_status(TaskStatus.CREATED.getCode()); diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/AcsUtil.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AcsUtil.java similarity index 97% rename from lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/AcsUtil.java rename to lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AcsUtil.java index 5115f5ac5..9d37428e0 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/AcsUtil.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/AcsUtil.java @@ -1,4 +1,4 @@ -package org.nl.wms.sch.task_manage.task; +package org.nl.wms.sch.task_manage; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; @@ -16,8 +16,7 @@ import org.nl.wms.ext.acs.service.dto.ResultForAcs; import org.nl.wms.ext.acs.service.dto.to.wms.AcsResponse; import org.nl.wms.sch.task.service.ISchBaseTaskService; import org.nl.wms.sch.task.service.dao.SchBaseTask; -import org.nl.wms.sch.task_manage.GeneralDefinition; -import org.nl.wms.sch.task_manage.task.core.TaskStatus; +import org.nl.wms.sch.task_manage.constant.GeneralDefinition; import org.nl.wms.util.URLEnum; import org.springframework.http.HttpStatus; @@ -48,7 +47,7 @@ public class AcsUtil { JSONObject jo = list.getJSONObject(j); String product_area = jo.getString("product_area"); if (StrUtil.isEmpty(product_area)) { - throw new BadRequestException("区域不能为空!下发信息:" + jo.toString()); + throw new BadRequestException("区域不能为空!下发信息:" + jo); } String acs_url = URLEnum.find(product_area); if (StrUtil.isEmpty(acs_url)) { diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/core/TaskApplyType.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/TaskApplyType.java similarity index 94% rename from lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/core/TaskApplyType.java rename to lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/TaskApplyType.java index 0a009e1a8..108f6613c 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/core/TaskApplyType.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/TaskApplyType.java @@ -1,4 +1,4 @@ -package org.nl.wms.sch.task_manage.task.core; +package org.nl.wms.sch.task_manage; /** * @author ldjun diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/TaskFactory.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/TaskFactory.java similarity index 96% rename from lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/TaskFactory.java rename to lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/TaskFactory.java index 1d1c5b6cb..7c8e5690e 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/TaskFactory.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/TaskFactory.java @@ -1,4 +1,4 @@ -package org.nl.wms.sch.task_manage.task; +package org.nl.wms.sch.task_manage; import org.nl.wms.sch.task_manage.AbstractTask; import org.springframework.beans.BeansException; diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/core/TaskOperateType.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/TaskOperateType.java similarity index 92% rename from lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/core/TaskOperateType.java rename to lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/TaskOperateType.java index 044207e64..d898322ad 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/core/TaskOperateType.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/TaskOperateType.java @@ -1,4 +1,4 @@ -package org.nl.wms.sch.task_manage.task.core; +package org.nl.wms.sch.task_manage; /** *

@@ -30,4 +30,4 @@ public enum TaskOperateType { private String code; private String name; private String desc; -} \ No newline at end of file +} diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/core/TaskStatus.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/TaskStatus.java similarity index 97% rename from lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/core/TaskStatus.java rename to lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/TaskStatus.java index ae4939919..cbe2181ab 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/core/TaskStatus.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/TaskStatus.java @@ -1,4 +1,4 @@ -package org.nl.wms.sch.task_manage.task.core; +package org.nl.wms.sch.task_manage; /** *

diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/TaskType.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/TaskType.java similarity index 89% rename from lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/TaskType.java rename to lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/TaskType.java index dd0e424fc..60f966c2e 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/TaskType.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/TaskType.java @@ -1,4 +1,4 @@ -package org.nl.wms.sch.task_manage.task; +package org.nl.wms.sch.task_manage; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/GeneralDefinition.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/constant/GeneralDefinition.java similarity index 88% rename from lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/GeneralDefinition.java rename to lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/constant/GeneralDefinition.java index 9623d9642..974e34c4e 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/GeneralDefinition.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/constant/GeneralDefinition.java @@ -1,4 +1,4 @@ -package org.nl.wms.sch.task_manage; +package org.nl.wms.sch.task_manage.constant; /** * @Author: lyd @@ -27,6 +27,10 @@ public class GeneralDefinition { public static final String AUTO_CREATION = "1"; /**ACS创建**/ public static final String ACS_CREATION = "2"; + /** 手持创建 */ + public static final String PDA_CREATION = "3"; + /** 任务完成追加创建 */ + public static final String TASK_CREATION = "4"; // 请求方向 /**ACS->LMS**/ public static final String ACS_LMS = "1"; diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/constant/TaskConstant.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/constant/TaskConstant.java new file mode 100644 index 000000000..69bb702ae --- /dev/null +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/constant/TaskConstant.java @@ -0,0 +1,11 @@ +package org.nl.wms.sch.task_manage.constant; + +/** + * @Author: lyd + * @Description: 任务相关的常量 + * @Date: 2024/8/7 + */ +public class TaskConstant { + public static final String VERIFY_START = "1"; + public static final String VERIFY_END = "2"; +} diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/enums/TaskDirectionEnum.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/enums/TaskDirectionEnum.java deleted file mode 100644 index 19a6e3e9c..000000000 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/enums/TaskDirectionEnum.java +++ /dev/null @@ -1,47 +0,0 @@ -package org.nl.wms.sch.task_manage.enums; - -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import lombok.AllArgsConstructor; -import lombok.Getter; -import org.nl.config.SpringContextHolder; -import org.nl.system.service.dict.dao.Dict; -import org.nl.system.service.dict.impl.SysDictServiceImpl; - -import java.util.List; - -/** - * @Author: lyd - * @Description: 任务配置 - 任务去向枚举 - * @Date: 2023/5/25 - */ -@Getter -public enum TaskDirectionEnum { - - /** - * 送货 - */ - SEND, - /** - * 取货 - */ - CALL, - /** - * 移货 - */ - MOVE; - - private String value; - private String label; - - static { - SysDictServiceImpl bean = SpringContextHolder.getBean(SysDictServiceImpl.class); - List taskDirection = bean.list(new LambdaQueryWrapper() - .eq(Dict::getCode, "task_direction") - .orderByAsc(Dict::getDict_sort)); - TaskDirectionEnum[] values = TaskDirectionEnum.values(); - for (int i = 0; i < values.length; i++) { - values[i].value = taskDirection.get(i).getValue(); - values[i].label = taskDirection.get(i).getLabel(); - } - } -} diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/second_floor_area/CallEmpReelTask.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/second_floor_area/CallEmpReelTask.java index 5e4110e36..8420f4fc5 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/second_floor_area/CallEmpReelTask.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/second_floor_area/CallEmpReelTask.java @@ -35,7 +35,8 @@ import org.nl.wms.sch.task.service.dao.SchBaseTask; import org.nl.wms.sch.task_manage.AbstractTask; import org.nl.wms.sch.task_manage.AcsTaskDto; import org.nl.wms.sch.task_manage.enums.PackageInfoIvtEnum; -import org.nl.wms.sch.task_manage.task.core.TaskStatus; +import org.nl.wms.sch.task_manage.TaskStatus; +import org.nl.wms.sch.task_manage.enums.TaskFinishedTypeEnum; import org.nl.wms.storage_manage.ios.enums.IOSEnum; import org.nl.wms.util.TaskUtils; import org.springframework.stereotype.Component; @@ -143,7 +144,7 @@ public class CallEmpReelTask extends AbstractTask { task.setTask_code(IdUtil.getSnowflake(1, 1).nextIdStr()); task.setHandle_class(THIS_CLASS); task.setTask_status(StrUtil.isBlank(task.getTask_status()) ? TaskStatus.START_AND_POINT.getCode() : task.getTask_status()); - task.setWorkshop_code(StrUtil.isEmpty(task.getWorkshop_code())? "A1" : task.getWorkshop_code()); + task.setProduct_area(StrUtil.isEmpty(task.getProduct_area())? "A1" : task.getProduct_area()); Dict dict = sysDictService.getOne(new LambdaQueryWrapper() .eq(Dict::getCode, "task_priority") .eq(Dict::getLabel, task.getTask_type())); @@ -368,6 +369,16 @@ public class CallEmpReelTask extends AbstractTask { taskService.updateById(schBaseTask); } + @Override + public void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum autoAcs) { + + } + + @Override + public void cancelTask(SchBaseTask taskObj, TaskFinishedTypeEnum autoAcs) { + + } + @Override public void forceFinish(String taskId) { diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/second_floor_area/CoolCutTask.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/second_floor_area/CoolCutTask.java index 2f029d6e7..5734c3061 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/second_floor_area/CoolCutTask.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/second_floor_area/CoolCutTask.java @@ -30,7 +30,8 @@ import org.nl.wms.sch.task.service.dao.SchBaseTask; import org.nl.wms.sch.task_manage.AbstractTask; import org.nl.wms.sch.task_manage.AcsTaskDto; import org.nl.wms.sch.task_manage.enums.PackageInfoIvtEnum; -import org.nl.wms.sch.task_manage.task.core.TaskStatus; +import org.nl.wms.sch.task_manage.TaskStatus; +import org.nl.wms.sch.task_manage.enums.TaskFinishedTypeEnum; import org.nl.wms.storage_manage.ios.enums.IOSEnum; import org.nl.wms.util.TaskUtils; import org.springframework.stereotype.Component; @@ -136,7 +137,7 @@ public class CoolCutTask extends AbstractTask { ? PackageInfoIvtEnum.ACS_TASK_TYPE.code("agv任务") : (task.getAcs_task_type())); task.setTask_status(StrUtil.isEmpty(task.getTask_status()) ? TaskStatus.START_AND_POINT.getCode() : task.getTask_status()); - task.setWorkshop_code(StrUtil.isEmpty(task.getWorkshop_code())? "A1" : task.getWorkshop_code()); + task.setProduct_area(StrUtil.isEmpty(task.getProduct_area())? "A1" : task.getProduct_area()); if ("010301".equals(task.getTask_type())) { task.setAcs_task_type("2"); } else { @@ -330,6 +331,16 @@ public class CoolCutTask extends AbstractTask { taskService.updateById(schBaseTask); } + @Override + public void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum autoAcs) { + + } + + @Override + public void cancelTask(SchBaseTask taskObj, TaskFinishedTypeEnum autoAcs) { + + } + @Override public void forceFinish(String taskId) { diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/second_floor_area/InCoolIvtTask.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/second_floor_area/InCoolIvtTask.java index 6402d5713..b45fa4920 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/second_floor_area/InCoolIvtTask.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/second_floor_area/InCoolIvtTask.java @@ -30,7 +30,8 @@ import org.nl.wms.sch.task.service.dao.SchBaseTask; import org.nl.wms.sch.task_manage.AbstractTask; import org.nl.wms.sch.task_manage.AcsTaskDto; import org.nl.wms.sch.task_manage.enums.PackageInfoIvtEnum; -import org.nl.wms.sch.task_manage.task.core.TaskStatus; +import org.nl.wms.sch.task_manage.TaskStatus; +import org.nl.wms.sch.task_manage.enums.TaskFinishedTypeEnum; import org.nl.wms.storage_manage.ios.enums.IOSEnum; import org.nl.wms.util.TaskUtils; import org.springframework.stereotype.Component; @@ -134,7 +135,7 @@ public class InCoolIvtTask extends AbstractTask { task.setAcs_task_type("3"); task.setTask_status(StrUtil.isEmpty(task.getTask_status()) ? TaskStatus.START_AND_POINT.getCode() : task.getTask_status()); - task.setWorkshop_code(StrUtil.isEmpty(task.getWorkshop_code()) ? "A1" : task.getWorkshop_code()); + task.setProduct_area(StrUtil.isEmpty(task.getProduct_area()) ? "A1" : task.getProduct_area()); //根据类型获取对应的任务优先级 Dict dict = sysDictService.getOne(new LambdaQueryWrapper().eq(Dict::getCode, "task_priority").eq(Dict::getLabel, task.getTask_type())); if (dict == null) { @@ -241,6 +242,16 @@ public class InCoolIvtTask extends AbstractTask { taskService.updateById(schBaseTask); } + @Override + public void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum autoAcs) { + + } + + @Override + public void cancelTask(SchBaseTask taskObj, TaskFinishedTypeEnum autoAcs) { + + } + @Override public void forceFinish(String taskId) { diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/second_floor_area/InHotTask.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/second_floor_area/InHotTask.java index 1aafdd63c..0bd4e4024 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/second_floor_area/InHotTask.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/second_floor_area/InHotTask.java @@ -37,7 +37,8 @@ import org.nl.wms.sch.task.service.dao.SchBaseTask; import org.nl.wms.sch.task_manage.AbstractTask; import org.nl.wms.sch.task_manage.AcsTaskDto; import org.nl.wms.sch.task_manage.enums.PackageInfoIvtEnum; -import org.nl.wms.sch.task_manage.task.core.TaskStatus; +import org.nl.wms.sch.task_manage.TaskStatus; +import org.nl.wms.sch.task_manage.enums.TaskFinishedTypeEnum; import org.nl.wms.storage_manage.ios.enums.IOSEnum; import org.nl.wms.util.TaskUtils; import org.springframework.stereotype.Component; @@ -128,7 +129,7 @@ public class InHotTask extends AbstractTask { task.setHandle_class(THIS_CLASS); task.setTask_status(StrUtil.isEmpty(task.getTask_status()) ? TaskStatus.START_AND_POINT.getCode() : task.getTask_status()); - task.setWorkshop_code(StrUtil.isEmpty(task.getWorkshop_code()) ? "A1" : task.getWorkshop_code()); + task.setProduct_area(StrUtil.isEmpty(task.getProduct_area()) ? "A1" : task.getProduct_area()); //根据类型获取对应的任务优先级 Dict dict = sysDictService.getOne(new LambdaQueryWrapper().eq(Dict::getCode, "task_priority").eq(Dict::getLabel, task.getTask_type())); @@ -335,6 +336,16 @@ public class InHotTask extends AbstractTask { taskService.updateById(schBaseTask); } + @Override + public void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum autoAcs) { + + } + + @Override + public void cancelTask(SchBaseTask taskObj, TaskFinishedTypeEnum autoAcs) { + + } + @Override public void forceFinish(String taskId) { diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/second_floor_area/OutHotTask.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/second_floor_area/OutHotTask.java index da21bc8b1..bc24d1ed7 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/second_floor_area/OutHotTask.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/second_floor_area/OutHotTask.java @@ -26,7 +26,8 @@ import org.nl.wms.sch.task.service.dao.SchBaseTask; import org.nl.wms.sch.task_manage.AbstractTask; import org.nl.wms.sch.task_manage.AcsTaskDto; import org.nl.wms.sch.task_manage.enums.PackageInfoIvtEnum; -import org.nl.wms.sch.task_manage.task.core.TaskStatus; +import org.nl.wms.sch.task_manage.TaskStatus; +import org.nl.wms.sch.task_manage.enums.TaskFinishedTypeEnum; import org.nl.wms.storage_manage.ios.enums.IOSEnum; import org.nl.wms.util.TaskUtils; import org.springframework.stereotype.Component; @@ -128,7 +129,7 @@ public class OutHotTask extends AbstractTask { task.setAcs_task_type("6"); task.setTask_status(StrUtil.isEmpty(task.getTask_status()) ? TaskStatus.START_AND_POINT.getCode() : task.getTask_status()); - task.setWorkshop_code(StrUtil.isEmpty(task.getWorkshop_code())? "A1" : task.getWorkshop_code()); + task.setProduct_area(StrUtil.isEmpty(task.getProduct_area())? "A1" : task.getProduct_area()); //根据类型获取对应的任务优先级 Dict dict = sysDictService.getOne(new LambdaQueryWrapper().eq(Dict::getCode, "task_priority").eq(Dict::getLabel, task.getTask_type())); if (dict == null) { @@ -220,6 +221,16 @@ public class OutHotTask extends AbstractTask { taskService.updateById(schBaseTask); } + @Override + public void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum autoAcs) { + + } + + @Override + public void cancelTask(SchBaseTask taskObj, TaskFinishedTypeEnum autoAcs) { + + } + @Override public void forceFinish(String taskId) { diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/tasks/raw/RawCallRollAGVTask.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/tasks/raw/RawCallRollAGVTask.java new file mode 100644 index 000000000..e64cc884b --- /dev/null +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/tasks/raw/RawCallRollAGVTask.java @@ -0,0 +1,60 @@ +package org.nl.wms.sch.task_manage.tasks.raw; + +import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSONObject; +import lombok.extern.slf4j.Slf4j; +import org.nl.common.exception.BadRequestException; +import org.nl.wms.sch.task.service.ISchBaseTaskService; +import org.nl.wms.sch.task.service.dao.SchBaseTask; +import org.nl.wms.sch.task_manage.AbstractTask; +import org.nl.wms.sch.task_manage.TaskStatus; +import org.nl.wms.sch.task_manage.enums.TaskFinishedTypeEnum; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import static org.nl.wms.util.TaskUtils.setUpdateByPC; + +/** + * @Author: lyd + * @Description: 生箔呼叫空收卷辊AGV任务类 + * @Date: 2024/8/7 + */ +@Slf4j +@Component(value = "RawCallRollAGVTask") +public class RawCallRollAGVTask extends AbstractTask { + private final String THIS_CLASS = RawCallRollAGVTask.class.getName(); + + @Autowired + private ISchBaseTaskService taskService; + + @Override + public void create() throws BadRequestException { + + } + + @Override + public void createCompletion(SchBaseTask task) { + // 需要校验是两点任务还是四点任务 + // up_task_code:上一个任务code + // start_point_code:收卷辊库桁架出口 + String requestParam = task.getRequest_param(); + JSONObject requestObj = JSONObject.parseObject(requestParam); + String startPointCode = requestObj.getString("start_point_code"); + // 创建任务 + task.setPoint_code1(startPointCode); + task.setHandle_class(THIS_CLASS); + task.setTask_status(TaskStatus.START_AND_POINT.getCode()); + setUpdateByPC(task); + taskService.save(task); + } + + @Override + public void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum autoAcs) { + + } + + @Override + public void cancelTask(SchBaseTask taskObj, TaskFinishedTypeEnum autoAcs) { + + } +} diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/tasks/raw/RawCallRollTrussTask.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/tasks/raw/RawCallRollTrussTask.java new file mode 100644 index 000000000..d42152f63 --- /dev/null +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/tasks/raw/RawCallRollTrussTask.java @@ -0,0 +1,130 @@ +package org.nl.wms.sch.task_manage.tasks.raw; + +import cn.hutool.core.util.ObjectUtil; +import com.alibaba.fastjson.JSONObject; +import lombok.extern.slf4j.Slf4j; +import org.nl.common.exception.BadRequestException; +import org.nl.wms.pdm.ivt.dao.StIvtSbpointivt; +import org.nl.wms.pdm.ivt.service.IstIvtSbpointivtService; +import org.nl.wms.sch.point.service.ISchBasePointService; +import org.nl.wms.sch.point.service.dao.SchBasePoint; +import org.nl.wms.sch.task.service.ISchBaseTaskService; +import org.nl.wms.sch.task.service.dao.SchBaseTask; +import org.nl.wms.sch.task_manage.AbstractTask; +import org.nl.wms.sch.task_manage.constant.GeneralDefinition; +import org.nl.wms.sch.task_manage.TaskStatus; +import org.nl.wms.sch.task_manage.enums.TaskFinishedTypeEnum; +import org.nl.wms.util.TaskUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.List; + +import static org.nl.wms.util.PointUtils.clearPoint; +import static org.nl.wms.util.TaskUtils.setUpdateByPC; +import static org.nl.wms.util.TaskUtils.checkTaskOptionStatus; + +/** + * @Author: lyd + * @Description: 生箔呼叫空收卷辊桁架任务类 + * @Date: 2024/8/7 + */ +@Slf4j +@Component(value = "RawCallRollTrussTask") +public class RawCallRollTrussTask extends AbstractTask { + private final String THIS_CLASS = RawCallRollTrussTask.class.getName(); + @Autowired + private ISchBasePointService pointService; + @Autowired + private ISchBaseTaskService taskService; + @Autowired + private RawCallRollAGVTask rawCallRollAGVTask; + @Resource + private IstIvtSbpointivtService stIvtSbpointivtService; + @Override + public void create() throws BadRequestException { + // 此任务不走apply路口创建任务 + } + + @Override + public void createCompletion(SchBaseTask task) { + log.info("生箔手持呼叫空辊任务创建, 参数:{}", task); + // 查找同类型的起点, 并且没有任务 + List startPoints = pointService.getWindRollNotTaskPoints(task.getVehicle_type()); + if (startPoints.size() == 0) { + throw new BadRequestException("找不到同规格的收卷辊!"); + } + // 终点为出口,不校验是否占用 + List endPoints = pointService.getPointByConditions("A1", "A1-SJGK", "2", null, true); + if (endPoints.size() == 0) { + throw new BadRequestException("收卷辊出口查询失败!"); + } + // 获取点 + SchBasePoint startPoint = startPoints.get(0); + SchBasePoint endPoint = endPoints.get(0); + // 创建任务 + task.setHandle_class(THIS_CLASS); + task.setPoint_code1(startPoint.getPoint_code()); + task.setPoint_code2(endPoint.getPoint_code()); + task.setVehicle_code(startPoint.getVehicle_code()); + task.setTask_status(TaskStatus.START_AND_POINT.getCode()); + setUpdateByPC(task); + taskService.save(task); + log.info("任务创建成功:{}", task); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) { + checkTaskOptionStatus(taskObj); + // 完成任务:1、清空起点数据,2、创建AGV任务 + JSONObject taskParam = new JSONObject(); + // 获取参数 + String requestParam = taskObj.getRequest_param(); + // 其中device_code代表AGV的终点(生箔点位) + JSONObject requestObj = JSONObject.parseObject(requestParam); + String endAgvPoint = requestObj.getString("device_code"); + // 1、清空起点数据 + String startPoint = taskObj.getPoint_code1(); + SchBasePoint startPointObj = pointService.getById(startPoint); + // 设置载具类型、点位状态、释放点位 + if (ObjectUtil.isNotEmpty(startPointObj)) { + // 起点清空 + clearPoint(startPointObj); + } + log.info("点位清除完毕,清楚后的数据:{}", startPointObj); + StIvtSbpointivt startAgvPointObj = stIvtSbpointivtService.getByPointCode(endAgvPoint, false); + if (ObjectUtil.isEmpty(startAgvPointObj)) { + throw new BadRequestException("点位[" + endAgvPoint + "]不存在!"); + } + log.info("桁架任务完毕,开始创建 [{}] 的AGV任务", endAgvPoint); + // 2、创建AGV任务 + taskParam.put("vehicle_code", taskObj.getVehicle_code()); + taskParam.put("vehicle_type", taskObj.getVehicle_type()); + taskParam.put("device_code", endAgvPoint); + taskParam.put("start_point_code", taskObj.getPoint_code2()); + taskParam.put("config_code", "RawCallRollAGVTask"); + taskParam.put("up_task_code", taskObj.getTask_code()); + taskParam.put("create_mode", GeneralDefinition.TASK_CREATION); + log.info("创建AGV任务的参数:{}", taskParam); + rawCallRollAGVTask.apply(taskParam); + taskObj.setTask_status(TaskStatus.FINISHED.getCode()); + taskObj.setFinished_type(taskFinishedType.getCode()); + TaskUtils.setUpdateByType(taskObj, taskFinishedType); + taskService.updateById(taskObj); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void cancelTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) { + checkTaskOptionStatus(taskObj); + // 取消 + taskObj.setTask_status(TaskStatus.CANCELED.getCode()); + taskObj.setRemark(GeneralDefinition.TASK_CANCEL); + taskObj.setFinished_type(taskFinishedType.getCode()); + TaskUtils.setUpdateByType(taskObj, taskFinishedType); + taskService.updateById(taskObj); + } +} diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/tasks/raw/RawDownAGVTask.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/tasks/raw/RawDownAGVTask.java new file mode 100644 index 000000000..93cd9023c --- /dev/null +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/tasks/raw/RawDownAGVTask.java @@ -0,0 +1,32 @@ +package org.nl.wms.sch.task_manage.tasks.raw; + +import lombok.extern.slf4j.Slf4j; +import org.nl.common.exception.BadRequestException; +import org.nl.wms.sch.task.service.dao.SchBaseTask; +import org.nl.wms.sch.task_manage.AbstractTask; +import org.nl.wms.sch.task_manage.enums.TaskFinishedTypeEnum; +import org.springframework.stereotype.Component; + +/** + * @Author: lyd + * @Description: 生箔下料AGV任务, 这里有四点或者两点任务 + * @Date: 2024/8/7 + */ +@Slf4j +@Component(value = "RawDownAGVTask") +public class RawDownAGVTask extends AbstractTask { + @Override + public void create() throws BadRequestException { + + } + + @Override + public void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum autoAcs) { + + } + + @Override + public void cancelTask(SchBaseTask taskObj, TaskFinishedTypeEnum autoAcs) { + + } +} diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/util/MesUtils.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/util/MesUtils.java index 90204f01c..31febada6 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/util/MesUtils.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/util/MesUtils.java @@ -11,7 +11,7 @@ import org.nl.system.service.notice.impl.SysNoticeServiceImpl; import org.nl.system.service.param.dao.Param; import org.nl.system.service.param.impl.SysParamServiceImpl; import org.nl.wms.ext.mes.service.dto.ResultForMes; -import org.nl.wms.sch.task_manage.GeneralDefinition; +import org.nl.wms.sch.task_manage.constant.GeneralDefinition; import org.nl.wms.sch.task_manage.enums.NoticeTypeEnum; /** diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/util/PointUtils.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/util/PointUtils.java index 88b65e97f..1f277dedb 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/util/PointUtils.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/util/PointUtils.java @@ -7,7 +7,7 @@ import org.nl.common.utils.SecurityUtils; import org.nl.config.SpringContextHolder; import org.nl.wms.sch.point.service.dao.SchBasePoint; import org.nl.wms.sch.point.service.impl.SchBasePointServiceImpl; -import org.nl.wms.sch.task_manage.GeneralDefinition; +import org.nl.wms.sch.task_manage.constant.GeneralDefinition; import org.nl.wms.sch.task_manage.enums.PointStatusEnum; import org.nl.wms.sch.task_manage.enums.TaskFinishedTypeEnum; @@ -38,7 +38,7 @@ public class PointUtils { /** * 清空点位 - * + * 会直接更新数据,使用时候不需要在update * @param point */ public static void clearPoint(SchBasePoint point) { @@ -67,7 +67,7 @@ public class PointUtils { } SchBasePointServiceImpl pointService = SpringContextHolder.getBean(SchBasePointServiceImpl.class); // 获取父点位 - String parentPointCode = point.getParent_point_code(); + String parentPointCode = point.getDevice_code(); SchBasePoint basePoint = pointService.getById(parentPointCode); point.setVehicle_type(""); point.setVehicle_code(""); diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/util/TaskUtils.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/util/TaskUtils.java index d2be61029..da1c35b7d 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/util/TaskUtils.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/util/TaskUtils.java @@ -5,14 +5,16 @@ import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.extern.slf4j.Slf4j; +import org.nl.common.exception.BadRequestException; import org.nl.common.utils.SecurityUtils; import org.nl.config.SpringContextHolder; +import org.nl.wms.pdm.bi.dao.PdmBiRawfoilworkorder; import org.nl.wms.sch.group.service.dao.SchBaseVehiclematerialgroup; import org.nl.wms.sch.task.service.ISchBaseTaskService; import org.nl.wms.sch.task.service.dao.SchBaseTask; -import org.nl.wms.sch.task_manage.GeneralDefinition; +import org.nl.wms.sch.task_manage.constant.GeneralDefinition; import org.nl.wms.sch.task_manage.enums.TaskFinishedTypeEnum; -import org.nl.wms.sch.task_manage.task.core.TaskStatus; +import org.nl.wms.sch.task_manage.TaskStatus; import java.util.List; @@ -39,6 +41,11 @@ public class TaskUtils { taskObj.setCreate_name(SecurityUtils.getCurrentNickName()); taskObj.setCreate_time(DateUtil.now()); } + public static void setRawOrderUpdateByDefault(PdmBiRawfoilworkorder order) { + order.setUpdate_optid(SecurityUtils.getCurrentUserId()); + order.setUpdate_optname(SecurityUtils.getCurrentNickName()); + order.setUpdate_time(DateUtil.now()); + } public static void setCreateByAcsOrPda(SchBaseTask taskObj, JSONObject param) { // 如果是人工创建,会带个用户过来 @@ -207,4 +214,18 @@ public class TaskUtils { } return result; } + + /** + * 任务操作前校验,判断是否完成或取消 + *

注:此处直接抛出异常,如果不需要请捕获

+ * @param taskObj 任务对象实体 + */ + public static void checkTaskOptionStatus(SchBaseTask taskObj) { + if (taskObj.getTask_status().equals(TaskStatus.FINISHED.getCode())) { + throw new BadRequestException("任务已完成,请勿多次请求!"); + } + if (taskObj.getTask_status().equals(TaskStatus.CANCELED.getCode())) { + throw new BadRequestException("任务已被取消!"); + } + } } diff --git a/lms2/nladmin-system/nlsso-server/src/main/resources/config/application.yml b/lms2/nladmin-system/nlsso-server/src/main/resources/config/application.yml index 3da52d086..f2abec062 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/resources/config/application.yml +++ b/lms2/nladmin-system/nlsso-server/src/main/resources/config/application.yml @@ -11,7 +11,7 @@ spring: autoconfigure: exclude: com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure messages: - basename: language/login/login,language/error/error,language/buss/buss,language/task/task + basename: language/login/login,language/error/error,language/buss/buss,language/task/common datasource: druid: initial-size: 5 #初始化时建立物理连接的个数 diff --git a/lms2/nladmin-ui/src/views/wms/pdm/order/rawfoilworkorder/index.vue b/lms2/nladmin-ui/src/views/wms/pdm/order/rawfoilworkorder/index.vue index 3e520a9af..88352457c 100644 --- a/lms2/nladmin-ui/src/views/wms/pdm/order/rawfoilworkorder/index.vue +++ b/lms2/nladmin-ui/src/views/wms/pdm/order/rawfoilworkorder/index.vue @@ -229,7 +229,7 @@ - + diff --git a/lms2/nladmin-ui/src/views/wms/sch/point/index.vue b/lms2/nladmin-ui/src/views/wms/sch/point/index.vue index 8fe8c0f96..829d8f815 100644 --- a/lms2/nladmin-ui/src/views/wms/sch/point/index.vue +++ b/lms2/nladmin-ui/src/views/wms/sch/point/index.vue @@ -191,7 +191,7 @@ @@ -307,9 +307,9 @@ @@ -265,9 +265,9 @@ :min-width="flexWidth('next_region_pre',crud.data,$t('TaskConfig.table.next_region_pre'))" /> - + @@ -182,6 +182,11 @@ type="selection" width="55" /> +