From dea02601416d77b3b7e5596b9ddfaa3daafa5418 Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Thu, 15 Aug 2024 15:26:00 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=BA=9F=E7=AE=94=E6=90=AC=E8=BF=90?= =?UTF-8?q?=E4=B8=9A=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/nl/config/lucene/TagNameEnum.java | 1 + .../acs/controller/AcsToWmsController.java | 6 + .../wms/ext/acs/service/AcsToWmsService.java | 7 ++ .../acs/service/impl/AcsToWmsServiceImpl.java | 8 ++ .../MdPbInterfacebackController.java | 6 +- .../dao/MdPbInterfaceback.java | 3 +- .../dao/mapper/MdPbInterfacebackMapper.java | 4 +- .../dao/xml/MdPbInterfacebackMapper.xml | 2 +- .../dto/MdPbInterfacebackDto.java | 2 +- .../dto/MdPbInterfacebackParam.java | 4 +- .../service/ImdPbInterfacebackService.java | 8 +- .../impl/MdPbInterfacebackServiceImpl.java | 14 +-- .../pda/st/controller/NbjPdaController.java | 10 ++ .../pda/st/controller/OtherPdaController.java | 38 +++++++ .../nl/wms/pda/st/service/NbjPdaService.java | 7 ++ .../wms/pda/st/service/OtherPdaService.java | 24 ++++ .../st/service/impl/NbjPdaServiceImpl.java | 28 +++++ .../st/service/impl/OtherPdaServiceImpl.java | 96 ++++++++++++++++ .../bi/dao/PdmBiSlittingproductionplan.java | 23 +++- .../IpdmBiSlittingproductionplanService.java | 6 + ...dmBiSlittingproductionplanServiceImpl.java | 11 ++ .../wms/quartz/AutoCallEmptyToWeighTemp.java | 47 ++++++++ .../service/dao/mapper/SchBasePointMapper.xml | 6 +- .../sch/task/service/ISchBaseTaskService.java | 7 ++ .../service/dao/mapper/SchBaseTaskMapper.java | 2 + .../service/dao/mapper/SchBaseTaskMapper.xml | 7 ++ .../service/impl/SchBaseTaskServiceImpl.java | 5 + .../service/OtherOperationService.java | 17 +++ .../impl/OtherOperationServiceImpl.java | 80 +++++++++++++ .../tasks/nbj/CzzcCallEmptyAGVTask.java | 81 ++++++++++++++ .../tasks/other/WasteFoilAGVTask.java | 105 ++++++++++++++++++ 31 files changed, 637 insertions(+), 28 deletions(-) rename lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/{ => interfaceback}/controller/MdPbInterfacebackController.java (94%) rename lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/{ => interfaceback}/dao/MdPbInterfaceback.java (94%) rename lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/{ => interfaceback}/dao/mapper/MdPbInterfacebackMapper.java (72%) rename lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/{ => interfaceback}/dao/xml/MdPbInterfacebackMapper.xml (65%) rename lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/{ => interfaceback}/dto/MdPbInterfacebackDto.java (95%) rename lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/{ => interfaceback}/dto/MdPbInterfacebackParam.java (90%) rename lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/{ => interfaceback}/service/ImdPbInterfacebackService.java (87%) rename lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/{ => interfaceback}/service/impl/MdPbInterfacebackServiceImpl.java (92%) create mode 100644 lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/controller/OtherPdaController.java create mode 100644 lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/service/OtherPdaService.java create mode 100644 lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/service/impl/OtherPdaServiceImpl.java create mode 100644 lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/quartz/AutoCallEmptyToWeighTemp.java create mode 100644 lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/service/OtherOperationService.java create mode 100644 lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/service/impl/OtherOperationServiceImpl.java create mode 100644 lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/tasks/nbj/CzzcCallEmptyAGVTask.java create mode 100644 lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/tasks/other/WasteFoilAGVTask.java diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/TagNameEnum.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/TagNameEnum.java index a18540d30..00f37366f 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/TagNameEnum.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/TagNameEnum.java @@ -19,6 +19,7 @@ public enum TagNameEnum { GX_OUT("手持管芯出库"), SWITCH_STATUS_OF_LIFT("货梯切换状态"), ERROR_GX_IN_OUT("管芯满入空出异常处理"), + AUTO_CALL_EMPTY_BY_CZZC("自动称重暂存位叫空"), /** * 标记符号 */ 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 8d803a7c8..c623ff275 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 @@ -47,6 +47,12 @@ public class AcsToWmsController { public ResponseEntity outHotTaskApply(@RequestBody JSONObject whereJson) { return new ResponseEntity<>(acsToWmsService.outHotTaskApply(whereJson), HttpStatus.OK); } + @PostMapping("/receiveWasteFoilWeight") + @Log(value = "废箔重量反馈", isInterfaceLog = true, interfaceLogType = InterfaceLogType.ACS_TO_LMS) + @SaIgnore + public ResponseEntity receiveWasteFoilWeight(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(acsToWmsService.receiveWasteFoilWeight(whereJson), HttpStatus.OK); + } @PostMapping("/againApply") @Log(value = "二次申请任务", isInterfaceLog = true, interfaceLogType = InterfaceLogType.ACS_TO_LMS) diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java index 4393d1722..5e7d405b2 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/AcsToWmsService.java @@ -125,4 +125,11 @@ public interface AcsToWmsService { * @return / */ JSONObject outHotTaskApply(JSONObject whereJson); + + /** + * ACS请求反馈废箔重量 + * @param whereJson + * @return + */ + JSONObject receiveWasteFoilWeight(JSONObject whereJson); } 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 59581ed2f..9caaba0cb 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 @@ -11,6 +11,7 @@ import org.nl.wms.sch.task_manage.AbstractTask; import org.nl.wms.sch.task_manage.TaskFactory; import org.nl.wms.sch.task_manage.TaskStatus; import org.nl.wms.sch.task_manage.service.BakingOperationService; +import org.nl.wms.sch.task_manage.service.OtherOperationService; import org.redisson.api.RLock; import org.redisson.api.RedissonClient; import org.springframework.beans.factory.annotation.Autowired; @@ -32,6 +33,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { private TaskFactory taskFactory; @Autowired private BakingOperationService bakingOperationService; + @Autowired + private OtherOperationService otherOperationService; @Override public Map receiveTaskStatusAcs(String string) throws InterruptedException { log.info("acs向lms反馈任务状态,请求参数:--------------------------------------" + string); @@ -167,4 +170,9 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { public JSONObject outHotTaskApply(JSONObject whereJson) { return bakingOperationService.acsRequestOutHotTask(whereJson); } + + @Override + public JSONObject receiveWasteFoilWeight(JSONObject whereJson) { + return otherOperationService.acsRequestWasteFoilWeight(whereJson); + } } diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/controller/MdPbInterfacebackController.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/interfaceback/controller/MdPbInterfacebackController.java similarity index 94% rename from lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/controller/MdPbInterfacebackController.java rename to lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/interfaceback/controller/MdPbInterfacebackController.java index 9039c1215..d97bd411e 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/controller/MdPbInterfacebackController.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/interfaceback/controller/MdPbInterfacebackController.java @@ -1,9 +1,10 @@ -package org.nl.wms.md.controller; +package org.nl.wms.md.interfaceback.controller; import java.util.Set; import java.util.Map; import org.nl.common.base.TableDataInfo; +import org.nl.wms.md.interfaceback.dto.MdPbInterfacebackParam; import org.springframework.web.bind.annotation.*; import lombok.RequiredArgsConstructor; @@ -14,8 +15,7 @@ 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.md.dto.MdPbInterfacebackParam; -import org.nl.wms.md.service.ImdPbInterfacebackService; +import org.nl.wms.md.interfaceback.service.ImdPbInterfacebackService; /** diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/dao/MdPbInterfaceback.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/interfaceback/dao/MdPbInterfaceback.java similarity index 94% rename from lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/dao/MdPbInterfaceback.java rename to lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/interfaceback/dao/MdPbInterfaceback.java index 816537498..839ac0f98 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/dao/MdPbInterfaceback.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/interfaceback/dao/MdPbInterfaceback.java @@ -1,10 +1,9 @@ -package org.nl.wms.md.dao; +package org.nl.wms.md.interfaceback.dao; import java.io.Serializable; import lombok.Data; import lombok.EqualsAndHashCode; -import com.baomidou.mybatisplus.annotation.*; import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.activerecord.Model; diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/dao/mapper/MdPbInterfacebackMapper.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/interfaceback/dao/mapper/MdPbInterfacebackMapper.java similarity index 72% rename from lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/dao/mapper/MdPbInterfacebackMapper.java rename to lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/interfaceback/dao/mapper/MdPbInterfacebackMapper.java index 88e8d5faf..d75d79522 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/dao/mapper/MdPbInterfacebackMapper.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/interfaceback/dao/mapper/MdPbInterfacebackMapper.java @@ -1,6 +1,6 @@ -package org.nl.wms.md.dao.mapper; +package org.nl.wms.md.interfaceback.dao.mapper; -import org.nl.wms.md.dao.MdPbInterfaceback; +import org.nl.wms.md.interfaceback.dao.MdPbInterfaceback; import com.baomidou.mybatisplus.core.mapper.BaseMapper; /** diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/dao/xml/MdPbInterfacebackMapper.xml b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/interfaceback/dao/xml/MdPbInterfacebackMapper.xml similarity index 65% rename from lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/dao/xml/MdPbInterfacebackMapper.xml rename to lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/interfaceback/dao/xml/MdPbInterfacebackMapper.xml index 54523b60e..0e7aa589e 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/dao/xml/MdPbInterfacebackMapper.xml +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/interfaceback/dao/xml/MdPbInterfacebackMapper.xml @@ -1,6 +1,6 @@ - + diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/dto/MdPbInterfacebackDto.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/interfaceback/dto/MdPbInterfacebackDto.java similarity index 95% rename from lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/dto/MdPbInterfacebackDto.java rename to lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/interfaceback/dto/MdPbInterfacebackDto.java index cc02c9a16..330c67191 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/dto/MdPbInterfacebackDto.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/interfaceback/dto/MdPbInterfacebackDto.java @@ -1,4 +1,4 @@ -package org.nl.wms.md.dto; +package org.nl.wms.md.interfaceback.dto; import java.io.Serializable; diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/dto/MdPbInterfacebackParam.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/interfaceback/dto/MdPbInterfacebackParam.java similarity index 90% rename from lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/dto/MdPbInterfacebackParam.java rename to lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/interfaceback/dto/MdPbInterfacebackParam.java index 76ebccd88..7c58f4290 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/dto/MdPbInterfacebackParam.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/interfaceback/dto/MdPbInterfacebackParam.java @@ -1,11 +1,11 @@ -package org.nl.wms.md.dto; +package org.nl.wms.md.interfaceback.dto; import lombok.Data; import lombok.*; import lombok.EqualsAndHashCode; import org.nl.common.domain.query.BaseQuery; -import org.nl.wms.md.dao.MdPbInterfaceback; +import org.nl.wms.md.interfaceback.dao.MdPbInterfaceback; /** * {@code @Description:} 接口回传设置表(MdPbInterfaceback)查询参数类 diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/service/ImdPbInterfacebackService.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/interfaceback/service/ImdPbInterfacebackService.java similarity index 87% rename from lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/service/ImdPbInterfacebackService.java rename to lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/interfaceback/service/ImdPbInterfacebackService.java index ee4ac4575..3ba1795f7 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/service/ImdPbInterfacebackService.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/interfaceback/service/ImdPbInterfacebackService.java @@ -1,10 +1,10 @@ -package org.nl.wms.md.service; +package org.nl.wms.md.interfaceback.service; import com.baomidou.mybatisplus.core.metadata.IPage; -import org.nl.common.domain.query.PageQuery; -import org.nl.wms.md.dao.MdPbInterfaceback; import com.baomidou.mybatisplus.extension.service.IService; -import org.nl.wms.md.dto.MdPbInterfacebackParam; +import org.nl.common.domain.query.PageQuery; +import org.nl.wms.md.interfaceback.dao.MdPbInterfaceback; +import org.nl.wms.md.interfaceback.dto.MdPbInterfacebackParam; import java.util.List; import java.util.Map; diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/service/impl/MdPbInterfacebackServiceImpl.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/interfaceback/service/impl/MdPbInterfacebackServiceImpl.java similarity index 92% rename from lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/service/impl/MdPbInterfacebackServiceImpl.java rename to lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/interfaceback/service/impl/MdPbInterfacebackServiceImpl.java index 2ebafd584..65af4b936 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/service/impl/MdPbInterfacebackServiceImpl.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/md/interfaceback/service/impl/MdPbInterfacebackServiceImpl.java @@ -1,18 +1,14 @@ -package org.nl.wms.md.service.impl; +package org.nl.wms.md.interfaceback.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.md.dao.MdPbInterfaceback; -import org.nl.wms.md.dto.MdPbInterfacebackParam; -import org.nl.wms.md.dao.mapper.MdPbInterfacebackMapper; -import cn.hutool.core.util.ObjectUtil; -import org.nl.wms.md.service.ImdPbInterfacebackService; -import cn.hutool.core.date.DateUtil; +import org.nl.wms.md.interfaceback.dao.MdPbInterfaceback; +import org.nl.wms.md.interfaceback.dto.MdPbInterfacebackParam; +import org.nl.wms.md.interfaceback.dao.mapper.MdPbInterfacebackMapper; +import org.nl.wms.md.interfaceback.service.ImdPbInterfacebackService; 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.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/controller/NbjPdaController.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/controller/NbjPdaController.java index 96ac45b60..5d241f22e 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/controller/NbjPdaController.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/controller/NbjPdaController.java @@ -25,24 +25,34 @@ import org.springframework.web.bind.annotation.RestController; public class NbjPdaController { @Autowired private NbjPdaService nbjPdaService; + @PostMapping("/confirmedInStorage") @Log("货梯状态切换") public ResponseEntity changeLiftStatus(@RequestBody JSONObject param) { return new ResponseEntity<>(nbjPdaService.changeLiftStatus(param), HttpStatus.OK); } + @PostMapping("/getLiftInfos") // @Log("货梯下拉框") public ResponseEntity getLiftInfos() { return new ResponseEntity<>(nbjPdaService.getLiftInfos(), HttpStatus.OK); } + @PostMapping("/getWeightCacheInfos") // @Log("成品称重暂存区下拉框") public ResponseEntity getWeightCacheInfos() { return new ResponseEntity<>(nbjPdaService.getWeightCacheInfos(), HttpStatus.OK); } + @PostMapping("/doSubVolumeDown") @Log("子卷下线") public ResponseEntity doSubVolumeDown(@RequestBody JSONObject param) { return new ResponseEntity<>(nbjPdaService.doSubVolumeDown(param), HttpStatus.OK); } + + @PostMapping("/doSubVolumeBindingWeight") + @Log("子卷重量维护") + public ResponseEntity doSubVolumeBindingWeight(@RequestBody JSONObject param) { + return new ResponseEntity<>(nbjPdaService.doSubVolumeBindingWeight(param), HttpStatus.OK); + } } diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/controller/OtherPdaController.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/controller/OtherPdaController.java new file mode 100644 index 000000000..6e0517106 --- /dev/null +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/controller/OtherPdaController.java @@ -0,0 +1,38 @@ +package org.nl.wms.pda.st.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.st.service.OtherPdaService; +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/14 + */ +@RestController +@RequestMapping("/api/pda/other") +@Slf4j +@SaIgnore +public class OtherPdaController { + @Autowired + private OtherPdaService otherPdaService; + @PostMapping("/startMoveWasteFoil") + @Log("开始搬运废箔信息") + public ResponseEntity startMoveWasteFoil(@RequestBody JSONObject param) { + return new ResponseEntity<>(otherPdaService.startMoveWasteFoil(param), HttpStatus.OK); + } + @PostMapping("/resumeMoveWasteFoil") + @Log("继续/结束搬运废箔信息") + public ResponseEntity resumeMoveWasteFoil(@RequestBody JSONObject param) { + return new ResponseEntity<>(otherPdaService.resumeMoveWasteFoil(param), HttpStatus.OK); + } +} diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/service/NbjPdaService.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/service/NbjPdaService.java index 0f89e788f..d20d8d1af 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/service/NbjPdaService.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/service/NbjPdaService.java @@ -34,4 +34,11 @@ public interface NbjPdaService { * @return / */ JSONObject doSubVolumeDown(JSONObject param); + + /** + * 子卷绑定重量 + * @param param / + * @return / + */ + JSONObject doSubVolumeBindingWeight(JSONObject param); } diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/service/OtherPdaService.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/service/OtherPdaService.java new file mode 100644 index 000000000..f6f7b383e --- /dev/null +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/service/OtherPdaService.java @@ -0,0 +1,24 @@ +package org.nl.wms.pda.st.service; + +import com.alibaba.fastjson.JSONObject; + +/** + * @Author: lyd + * @Description: + * @Date: 2024/8/14 + */ +public interface OtherPdaService { + /** + * 开始搬运废箔 + * @param param / + * @return / + */ + JSONObject startMoveWasteFoil(JSONObject param); + + /** + * 继续/结束搬运废箔信息 + * @param param / + * @return / + */ + JSONObject resumeMoveWasteFoil(JSONObject param); +} diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/service/impl/NbjPdaServiceImpl.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/service/impl/NbjPdaServiceImpl.java index e7e717dcd..06b25873b 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/service/impl/NbjPdaServiceImpl.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/service/impl/NbjPdaServiceImpl.java @@ -1,11 +1,16 @@ package org.nl.wms.pda.st.service.impl; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import lombok.extern.slf4j.Slf4j; import org.nl.common.exception.BadRequestException; +import org.nl.common.utils.SecurityUtils; import org.nl.config.lucene.TagNameEnum; import org.nl.wms.pda.st.service.NbjPdaService; +import org.nl.wms.pdm.bi.dao.PdmBiSlittingproductionplan; +import org.nl.wms.pdm.bi.service.IpdmBiSlittingproductionplanService; 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; @@ -39,6 +44,8 @@ public class NbjPdaServiceImpl implements NbjPdaService { private ISchBaseTaskService taskService; @Autowired private SubRollDownAGVTask subRollDownAGVTask; + @Autowired + private IpdmBiSlittingproductionplanService slittingproductionplanService; @Override public JSONObject changeLiftStatus(JSONObject param) { MDC.put("tag_name", TagNameEnum.SWITCH_STATUS_OF_LIFT.getTag()); @@ -115,4 +122,25 @@ public class NbjPdaServiceImpl implements NbjPdaService { result.put("message", "子卷下线成功!"); return result; } + + @Override + public JSONObject doSubVolumeBindingWeight(JSONObject param) { + log.info("子卷绑定重量 - {}", param); + // vehicle_code, weight + String vehicleCode = param.getString("vehicle_code"); + String weight = param.getString("weight"); + PdmBiSlittingproductionplan plan = slittingproductionplanService.getByTubeCode(vehicleCode); + if (ObjectUtil.isEmpty(plan)) { + throw new BadRequestException("分切计划不存在!"); + } + plan.setWeight(weight); + plan.setUpdate_time(DateUtil.now()); + plan.setUpdate_optid(SecurityUtils.getCurrentUserId()); + plan.setUpdate_optname(SecurityUtils.getCurrentNickName()); + slittingproductionplanService.updateById(plan); + JSONObject result = new JSONObject(); + result.put("status", HttpStatus.OK.value()); + result.put("message", "子卷绑定重量成功!"); + return result; + } } diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/service/impl/OtherPdaServiceImpl.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/service/impl/OtherPdaServiceImpl.java new file mode 100644 index 000000000..925396005 --- /dev/null +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/service/impl/OtherPdaServiceImpl.java @@ -0,0 +1,96 @@ +package org.nl.wms.pda.st.service.impl; + +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 lombok.extern.slf4j.Slf4j; +import org.nl.common.exception.BadRequestException; +import org.nl.wms.pda.st.service.OtherPdaService; +import org.nl.wms.sch.task.service.ISchBaseTaskService; +import org.nl.wms.sch.task.service.dao.SchBaseTask; +import org.nl.wms.sch.task_manage.TaskStatus; +import org.nl.wms.sch.task_manage.tasks.other.WasteFoilAGVTask; +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/14 + */ +@Slf4j +@Service +public class OtherPdaServiceImpl implements OtherPdaService { + @Autowired + private WasteFoilAGVTask wasteFoilAGVTask; + @Autowired + private ISchBaseTaskService taskService; + @Override + @Transactional(rollbackFor = Exception.class) + public JSONObject startMoveWasteFoil(JSONObject param) { + log.info("手持开始搬运废箔 - {}", param); + // row + JSONArray row = param.getJSONArray("row"); + // 将 JSONArray 转换成 List + List list = row.toJavaList(String.class); + // 判断二次请求 + String startPointCode = list.get(0); + List tasks = taskService.getWasteFoilTask(startPointCode); + if (tasks.size() > 0) { + throw new BadRequestException("点位[" + startPointCode + "]的废箔搬运系列任务未完成!"); + } + param.put("index_task", 0); + param.put("config_code", "WasteFoilAGVTask"); + param.put("stage", "first"); + param.put("total", row.size()); + wasteFoilAGVTask.apply(param); + JSONObject result = new JSONObject(); + result.put("status", HttpStatus.OK.value()); + result.put("message", "废箔开始搬运请求成功!"); + return result; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public JSONObject resumeMoveWasteFoil(JSONObject param) { + log.info("继续/结束搬运废箔 - {}", param); + String flag = param.getString("flag"); + // 判断是否能够搬运 + String pointCode = param.getString("point_code"); + // 查找执行中的任务 + SchBaseTask task = taskService.getOne(new LambdaQueryWrapper() + .eq(SchBaseTask::getPoint_code2, pointCode) + .lt(SchBaseTask::getTask_status, TaskStatus.FINISHED.getCode())); + if (ObjectUtil.isEmpty(task)) { + throw new BadRequestException("点位[" + pointCode + "]上一个任务不存在!"); + } + String requestParam = task.getRequest_param(); + JSONObject requestObj = JSONObject.parseObject(requestParam); + int indexTask = requestObj.getInteger("index_task"); + int total = requestObj.getInteger("total"); + JSONArray row = requestObj.getJSONArray("row"); + if (indexTask == (total - 1) || "2".equals(flag)) { + // 最后一个 + param.put("stage", "end"); + } else { + param.put("stage", "ing"); + } + // 下发任务需要提供车号,从上个任务获取 + param.put("index_task", ++indexTask); + param.put("config_code", "WasteFoilAGVTask"); + param.put("row", row); + param.put("total", row.size()); + param.put("up_task_code", task.getTask_code()); + wasteFoilAGVTask.apply(param); + // todo: 通知ACS完成上一个任务 + JSONObject result = new JSONObject(); + result.put("status", HttpStatus.OK.value()); + result.put("message", "废箔继续搬运请求成功!"); + return result; + } +} diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/bi/dao/PdmBiSlittingproductionplan.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/bi/dao/PdmBiSlittingproductionplan.java index 1e8dcba0a..ccc489686 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/bi/dao/PdmBiSlittingproductionplan.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/bi/dao/PdmBiSlittingproductionplan.java @@ -218,7 +218,7 @@ public class PdmBiSlittingproductionplan extends Model lam = new QueryWrapper().lambda(); + lam.eq(PdmBiSlittingproductionplan::getIs_delete, "0") + .eq(PdmBiSlittingproductionplan::getStatus, "09").and(la -> la.eq(PdmBiSlittingproductionplan::getFRP_material, code) + .or() + .eq(PdmBiSlittingproductionplan::getPaper_tube_material, code)); + return getOne(lam); + } + } diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/quartz/AutoCallEmptyToWeighTemp.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/quartz/AutoCallEmptyToWeighTemp.java new file mode 100644 index 000000000..5d3dd12a5 --- /dev/null +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/quartz/AutoCallEmptyToWeighTemp.java @@ -0,0 +1,47 @@ +package org.nl.wms.quartz; + +import com.alibaba.fastjson.JSONObject; +import lombok.extern.slf4j.Slf4j; +import org.nl.config.lucene.TagNameEnum; +import org.nl.wms.sch.point.service.ISchBasePointService; +import org.nl.wms.sch.point.service.dao.SchBasePoint; +import org.nl.wms.sch.task_manage.core.constant.GeneralDefinition; +import org.nl.wms.sch.task_manage.tasks.nbj.CzzcCallEmptyAGVTask; +import org.slf4j.MDC; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * @Author: lyd + * @Description: 自动呼叫空载具到称重暂存位 + * @Date: 2024/8/14 + */ +@Slf4j +@Component +public class AutoCallEmptyToWeighTemp { + @Autowired + private ISchBasePointService pointService; + @Autowired + private CzzcCallEmptyAGVTask czzcCallEmptyAGVTask; + public void run() { + MDC.put("tag_name", TagNameEnum.AUTO_CALL_EMPTY_BY_CZZC.getTag()); + log.info("称重暂存位叫空自动任务开始执行..."); + List allZcPoints = pointService.getAllBusinessNotTaskPoint("A1", "A1-CZZC", + "1", "1", null); + for (SchBasePoint point : allZcPoints) { + try { + JSONObject taskParam = new JSONObject(); + taskParam.put("device_code", point.getPoint_code()); + // 纸管编码 + taskParam.put("config_code", "CzzcCallEmptyAGVTask"); + taskParam.put("create_mode", GeneralDefinition.PDA_CREATION); + czzcCallEmptyAGVTask.apply(taskParam); + } catch (Exception e) { + log.error("点位[ {} ]呼叫空转运架失败!{}", point.getPoint_code(), e); + } + } + log.info("称重暂存位叫空自动任务本次执行结束..."); + } +} 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 66193d981..82600db2c 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 @@ -55,7 +55,9 @@ AND p.vehicle_type = #{vehicleType} - AND 0 = (SELECT COUNT(*) FROM sch_base_task t WHERE t.point_code1 = p.point_code AND t.task_status '07') - ORDER BY p.in_order_seq + AND 0 = (SELECT COUNT(*) FROM sch_base_task t WHERE t.task_status '07' + AND (t.point_code1 = p.point_code AND t.point_code2 = p.point_code AND t.point_code3 = p.point_code + AND t.point_code4 = p.point_code)) + ORDER BY p.in_order_seq, p.update_time 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 24ba317c8..a33761a77 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 @@ -138,4 +138,11 @@ public interface ISchBaseTaskService extends IService { * @return / */ SchBaseTask getTaskByPointCodeX(String p1, String p2, String p3, String p4); + + /** + * 查找点位系列的任务 + * @param code 点位编码 + * @return / + */ + List getWasteFoilTask(String code); } 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 360ace3c2..81023518e 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 @@ -18,4 +18,6 @@ public interface SchBaseTaskMapper extends BaseMapper { List checkHaveTask(String code); List checkHaveRelatedTaskInRequestParam(String param); + + List getWasteFoilTask(String code); } 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 c4c34f79e..5f8d2a822 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 @@ -62,4 +62,11 @@ AND task_status ]]> '07' AND request_param LIKE '%${param}%' + 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 591fa137b..c229ff76c 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 @@ -276,4 +276,9 @@ public class SchBaseTaskServiceImpl extends ServiceImpl getWasteFoilTask(String code) { + return schBaseTaskMapper.getWasteFoilTask(code); + } + } diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/service/OtherOperationService.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/service/OtherOperationService.java new file mode 100644 index 000000000..84470e697 --- /dev/null +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/service/OtherOperationService.java @@ -0,0 +1,17 @@ +package org.nl.wms.sch.task_manage.service; + +import com.alibaba.fastjson.JSONObject; + +/** + * @Author: lyd + * @Description: + * @Date: 2024/8/14 + */ +public interface OtherOperationService { + /** + * ACS反馈废箔重量 + * @param param / + * @return / + */ + JSONObject acsRequestWasteFoilWeight(JSONObject param); +} diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/service/impl/OtherOperationServiceImpl.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/service/impl/OtherOperationServiceImpl.java new file mode 100644 index 000000000..3c6d28a40 --- /dev/null +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/service/impl/OtherOperationServiceImpl.java @@ -0,0 +1,80 @@ +package org.nl.wms.sch.task_manage.service.impl; + +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.IdUtil; +import com.alibaba.fastjson.JSONObject; +import lombok.extern.slf4j.Slf4j; +import org.nl.common.utils.SecurityUtils; +import org.nl.wms.md.wastefoilrecord.service.IWastefoilrecordService; +import org.nl.wms.md.wastefoilrecord.service.dao.Wastefoilrecord; +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.service.OtherOperationService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; + +/** + * @Author: lyd + * @Description: + * @Date: 2024/8/14 + */ +@Slf4j +@Service +public class OtherOperationServiceImpl implements OtherOperationService { + @Autowired + private ISchBaseTaskService taskService; + @Autowired + private ISchBasePointService pointService; + @Autowired + private IWastefoilrecordService wastefoilrecordService; + @Override + public JSONObject acsRequestWasteFoilWeight(JSONObject param) { + log.info("ACS反馈废箔重量: {}", param); + // task_code, point_code, weight + String taskCode = param.getString("task_code"); + String pointCode = param.getString("point_code"); + String weight = param.getString("weight"); + Assert.notBlank(taskCode, "任务编码不能为空!"); + // 获取当前任务 + SchBaseTask currentTask = taskService.getByCode(taskCode); + String requestParam = currentTask.getRequest_param(); + JSONObject requestObj = JSONObject.parseObject(requestParam); + int indexTask = requestObj.getInteger("index_task"); + requestObj.put("weight", weight); + if (indexTask != 0) { + // 获取上一条任务的重量 + String upTaskCode = requestObj.getString("up_task_code"); + SchBaseTask upTask = taskService.getByCode(upTaskCode); + String upTaskRequestParam = upTask.getRequest_param(); + JSONObject upTaskRequestObj = JSONObject.parseObject(upTaskRequestParam); + String upWeightStr = upTaskRequestObj.getString("weight"); + BigDecimal currentWeight = new BigDecimal(weight); + BigDecimal upWeight = new BigDecimal(upWeightStr); + BigDecimal netWeight = currentWeight.subtract(upWeight); + requestObj.put("netWeight", netWeight); + // 记录数据 + SchBasePoint fbPoint = pointService.getById(pointCode); + Wastefoilrecord wastefoilrecord = new Wastefoilrecord(); + wastefoilrecord.setWeight(String.valueOf(netWeight)); + wastefoilrecord.setRecord_id(IdUtil.getSnowflake(1,1).nextIdStr()); + wastefoilrecord.setPoint_code(pointCode); + wastefoilrecord.setPoint_name(fbPoint.getPoint_name()); + wastefoilrecord.setCreate_id(SecurityUtils.getCurrentUserId()); + wastefoilrecord.setCreate_name(SecurityUtils.getCurrentNickName()); + wastefoilrecord.setCreate_time(DateUtil.now()); + wastefoilrecordService.save(wastefoilrecord); + } + currentTask.setRequest_param(requestObj.toJSONString()); + taskService.updateById(currentTask); + JSONObject result = new JSONObject(); + result.put("status", HttpStatus.OK.value()); + result.put("message", "废箔重量反馈成功!"); + return result; + } +} diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/tasks/nbj/CzzcCallEmptyAGVTask.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/tasks/nbj/CzzcCallEmptyAGVTask.java new file mode 100644 index 000000000..03a3ae09a --- /dev/null +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/tasks/nbj/CzzcCallEmptyAGVTask.java @@ -0,0 +1,81 @@ +package org.nl.wms.sch.task_manage.tasks.nbj; + +import lombok.extern.slf4j.Slf4j; +import org.nl.common.exception.BadRequestException; +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.TaskStatus; +import org.nl.wms.sch.task_manage.core.constant.GeneralDefinition; +import org.nl.wms.sch.task_manage.core.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 java.util.List; + +import static org.nl.wms.util.TaskUtils.checkTaskOptionStatus; +import static org.nl.wms.util.TaskUtils.setUpdateByPC; + +/** + * @Author: lyd + * @Description: 称重暂存位呼叫空转运架AGV任务 + * @Date: 2024/8/14 + */ +@Slf4j +@Component(value = "CzzcCallEmptyAGVTask") +public class CzzcCallEmptyAGVTask extends AbstractTask { + private final String THIS_CLASS = CzzcCallEmptyAGVTask.class.getName(); + @Autowired + private ISchBasePointService pointService; + @Autowired + private ISchBaseTaskService taskService; + @Override + public void create() throws BadRequestException { + + } + + @Override + public void createCompletion(SchBaseTask task) { + // 查找货梯没任务有载具的点位 + List startPoints = pointService.getAllBusinessNotTaskPoint("A1", "A1-LIFT-AREA", + "1", "2", null); + if (startPoints.size() == 0) { + throw new BadRequestException("货梯没有可用点位!"); + } + SchBasePoint point = startPoints.get(0); + task.setPoint_code1(point.getPoint_code()); + // 创建任务 + task.setHandle_class(THIS_CLASS); + task.setTask_status(TaskStatus.START_AND_POINT.getCode()); + setUpdateByPC(task); + taskService.save(task); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void finishTask(SchBaseTask taskObj, TaskFinishedTypeEnum taskFinishedType) { + checkTaskOptionStatus(taskObj); + + // 任务完成 + 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/other/WasteFoilAGVTask.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/tasks/other/WasteFoilAGVTask.java new file mode 100644 index 000000000..47266c06b --- /dev/null +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/tasks/other/WasteFoilAGVTask.java @@ -0,0 +1,105 @@ +package org.nl.wms.sch.task_manage.tasks.other; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import lombok.extern.slf4j.Slf4j; +import org.nl.common.exception.BadRequestException; +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.TaskStatus; +import org.nl.wms.sch.task_manage.core.constant.GeneralDefinition; +import org.nl.wms.sch.task_manage.core.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 java.util.List; + +import static org.nl.wms.util.TaskUtils.checkTaskOptionStatus; +import static org.nl.wms.util.TaskUtils.setUpdateByPC; + +/** + * @Author: lyd + * @Description: 废箔搬运任务 + * @Date: 2024/8/14 + */ +@Slf4j +@Component(value = "WasteFoilAGVTask") +public class WasteFoilAGVTask extends AbstractTask { + private final String THIS_CLASS = WasteFoilAGVTask.class.getName(); + @Autowired + private ISchBasePointService pointService; + @Autowired + private ISchBaseTaskService taskService; + + @Override + public void create() throws BadRequestException { + + } + + @Override + public void createCompletion(SchBaseTask task) { + String requestParam = task.getRequest_param(); + JSONObject requestObj = JSONObject.parseObject(requestParam); + int indexTask = requestObj.getInteger("index_task"); + JSONArray row = requestObj.getJSONArray("row"); + String stage = requestObj.getString("stage"); + String nowPointCode = row.getString(indexTask); + requestObj.put("predict_next_point", (indexTask + 1) == row.size() ? '-' : row.getString(indexTask + 1)); + if ("first".equals(stage)) { + // 第一次 + // 查找废箔起点 + List fbPoints = pointService.getAllBusinessNotTaskPoint("A1", "A1-FB", + "1", null, null); + SchBasePoint fbPoint = fbPoints.get(0); + task.setPoint_code1(fbPoint.getPoint_code()); + task.setPoint_code2(nowPointCode); + } else if ("end".equals(stage)) { + // 最后一次 + // 查找废箔终点 + List fbPoints = pointService.getAllBusinessNotTaskPoint("A1", "A1-FB", + "2", null, null); + SchBasePoint fbPoint = fbPoints.get(0); + task.setPoint_code1(row.getString(indexTask - 1)); + task.setPoint_code2(fbPoint.getPoint_code()); + requestObj.put("predict_next_point", '-'); + } else { + // 中间次数 + task.setPoint_code1(row.getString(indexTask - 1)); + task.setPoint_code2(nowPointCode); + } + requestObj.put("now_point", nowPointCode); + task.setRequest_param(requestObj.toJSONString()); + // 创建任务 + 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 taskFinishedType) { + checkTaskOptionStatus(taskObj); + // 任务完成 + 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); + } +}