From 1cf2e6305dd64275041f21087dcf4022bf6f657c Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Mon, 1 Jul 2024 22:00:58 +0800 Subject: [PATCH 1/8] =?UTF-8?q?fix:=20=E5=88=A0=E9=99=A4=E5=AD=90=E5=8D=B7?= =?UTF-8?q?=E5=8C=85=E8=A3=85=E5=85=B3=E7=B3=BB=EF=BC=8C=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E5=8C=85=E8=A3=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../slitter/service/impl/SlitterServiceImpl.java | 13 ++++++++++++- .../src/main/resources/config/application-dev.yml | 6 +++--- lms/nladmin-ui/.env.development | 4 ++-- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/impl/SlitterServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/impl/SlitterServiceImpl.java index 983070e1d..9f1f907bd 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/impl/SlitterServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/impl/SlitterServiceImpl.java @@ -26,6 +26,8 @@ import org.nl.b_lms.bst.ivt.stockingivt.service.IBstIvtStockingivtService; import org.nl.b_lms.bst.ivt.stockingivt.service.dao.BstIvtStockingivt; import org.nl.b_lms.pdm.bi.slittingproductionplan.service.IPdmBiSlittingproductionplanService; import org.nl.b_lms.pdm.bi.slittingproductionplan.service.dao.PdmBiSlittingproductionplan; +import org.nl.b_lms.pdm.subpackagerelation.dao.PdmBiSubpackagerelation; +import org.nl.b_lms.pdm.subpackagerelation.service.IpdmBiSubpackagerelationService; import org.nl.b_lms.sch.point.dao.StIvtCutpointivt; import org.nl.b_lms.sch.point.service.IstIvtCutpointivtService; import org.nl.b_lms.sch.task.dao.SchBaseTask; @@ -111,6 +113,8 @@ public class SlitterServiceImpl implements SlitterService { private ISysParamService paramService; @Autowired private SendNBJExceptionPointTask sendNBJExceptionPointTask; + @Autowired + private IpdmBiSubpackagerelationService subpackagerelationService; @Override @@ -1036,12 +1040,19 @@ public class SlitterServiceImpl implements SlitterService { TaskUtils.updateOptMessageBySlitterPlan(outPlan); List collect = Stream.of(outPlan, inPlan).collect(Collectors.toList()); slittingproductionplanService.updateBatchById(collect); + // 删除子卷包装关系 + subpackagerelationService.remove(new LambdaQueryWrapper() + .eq(PdmBiSubpackagerelation::getContainer_name, insideContainerName)); if (SlitterConstant.SLITTER_YES.equals(carrierStatus)) { List cons = Stream.of(outPlan.getQzzno()).collect(Collectors.toList()); // 调接口创建任务 JSONObject taskParam = new JSONObject(); taskParam.put("container", cons); - mesSlittingMachineSendMaterial(taskParam); + try { + mesSlittingMachineSendMaterial(taskParam); + } catch (Exception e) { + log.error(e.getMessage(), e); + } } return null; } diff --git a/lms/nladmin-system/src/main/resources/config/application-dev.yml b/lms/nladmin-system/src/main/resources/config/application-dev.yml index e06af5d9b..bec993619 100644 --- a/lms/nladmin-system/src/main/resources/config/application-dev.yml +++ b/lms/nladmin-system/src/main/resources/config/application-dev.yml @@ -1,5 +1,5 @@ server: - port: 8010 + port: 9999 #配置数据源 spring: datasource: @@ -7,10 +7,10 @@ spring: db-type: com.alibaba.druid.pool.DruidDataSource driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy # url: jdbc:log4jdbc:mysql://${DB_HOST:10.1.3.91}:${DB_PORT:3306}/${DB_NAME:lzhl_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true - url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:lms_xc}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true + url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:lzhl_two_test}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true username: ${DB_USER:root} # password: ${DB_PWD:NLABC&hl123} - password: ${DB_PWD:root} + password: ${DB_PWD:12356} # 初始连接数 initial-size: 5 # 最小连接数 diff --git a/lms/nladmin-ui/.env.development b/lms/nladmin-ui/.env.development index e37a9a4f0..3e1472584 100644 --- a/lms/nladmin-ui/.env.development +++ b/lms/nladmin-ui/.env.development @@ -1,8 +1,8 @@ ENV = 'development' # 接口地址 -VUE_APP_BASE_API = 'http://localhost:8011' -VUE_APP_WS_API = 'ws://localhost:8011' +VUE_APP_BASE_API = 'http://localhost:9999' +VUE_APP_WS_API = 'ws://localhost:9999' # 是否启用 babel-plugin-dynamic-import-node插件 VUE_CLI_BABEL_TRANSPILE_MODULES = true From a84a6544f9394c14ddd060735007268ae9b5acaf Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Tue, 2 Jul 2024 09:27:01 +0800 Subject: [PATCH 2/8] =?UTF-8?q?fix:=20=E6=89=8B=E6=8C=81=E8=8F=9C=E5=8D=95?= =?UTF-8?q?=E5=8C=BA=E5=88=86=E4=B8=8E=E6=B8=85=E9=99=A4=E6=9A=82=E5=AD=98?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../b_lms/pda/controller/SlitterPdaController.java | 2 +- .../sch/tasks/slitter/service/SlitterService.java | 2 +- .../slitter/service/impl/SlitterServiceImpl.java | 14 ++++++++++---- .../service/menu/impl/SysMenuServiceImpl.java | 2 +- 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/controller/SlitterPdaController.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/controller/SlitterPdaController.java index e2b0970db..ea6d5c7bf 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/controller/SlitterPdaController.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/controller/SlitterPdaController.java @@ -81,7 +81,7 @@ public class SlitterPdaController { } @PostMapping("/toCleanCutCacheInventory") - @Log("清理分切缓存到内包间") + @Log("清理分切缓存") @SaIgnore public ResponseEntity toCleanCutCacheInventory(@RequestBody JSONObject param) { return new ResponseEntity<>(slitterDevices.toCleanCutCacheInventory(param), HttpStatus.OK); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/SlitterService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/SlitterService.java index a662e75e1..2d2f4513d 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/SlitterService.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/SlitterService.java @@ -142,7 +142,7 @@ public interface SlitterService { JSONArray getCutCacheAgvPoints(); /** - * 清理分切缓存到内包间 + * 清理分切缓 * @param param / * @return / */ diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/impl/SlitterServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/impl/SlitterServiceImpl.java index 9f1f907bd..e96daf720 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/impl/SlitterServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/impl/SlitterServiceImpl.java @@ -1003,10 +1003,16 @@ public class SlitterServiceImpl implements SlitterService { } try { if (openLock) { - BstIvtCutpointivt agvCode = bcutpointivtService.getPintByAgvCode(pointCode, false); - agvCode.setQzz_no1(""); - agvCode.setQzz_no2(""); - agvCode.setPoint_status("1"); + BstIvtCutpointivt agvCode = bcutpointivtService.getPintByTrussCode(pointCode, false); + if (agvCode.getTruss_point_code1().equals(pointCode)) { + agvCode.setQzz_no1(""); + } + if (agvCode.getTruss_point_code2().equals(pointCode)) { + agvCode.setQzz_no2(""); + } + if (ObjectUtil.isEmpty(agvCode.getQzz_no1()) && ObjectUtil.isEmpty(agvCode.getQzz_no2())) { + agvCode.setPoint_status("1"); + } TaskUtils.updateOptMessageByBCutPoint(agvCode); bcutpointivtService.updateById(agvCode); } else { diff --git a/lms/nladmin-system/src/main/java/org/nl/system/service/menu/impl/SysMenuServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/system/service/menu/impl/SysMenuServiceImpl.java index d3590e2cd..02bab8ea9 100644 --- a/lms/nladmin-system/src/main/java/org/nl/system/service/menu/impl/SysMenuServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/system/service/menu/impl/SysMenuServiceImpl.java @@ -495,7 +495,7 @@ public class SysMenuServiceImpl extends ServiceImpl impl roleTree.add(row); } res.put("sonTree", roleTree); - result.put("rf_menu" + i, res); + result.put("rf_menu" + ("188".equals(res.getString("menu_id"))?1:0), res); } returnjo.put("code", "1"); From 1a72a6cb78f648d042f1088f5a326a29d1f378eb Mon Sep 17 00:00:00 2001 From: gongbaoxiong <751575283@qq.com> Date: Tue, 2 Jul 2024 13:12:34 +0800 Subject: [PATCH 3/8] =?UTF-8?q?opt:=E4=BC=98=E5=8C=96=E4=B8=80=E6=A5=BC?= =?UTF-8?q?=E8=A3=85=E7=AE=B1=E5=8C=BA=E4=BB=BB=E5=8A=A1=E7=B1=BB=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/BstIvtPackageinfoivtServiceImpl.java | 50 +++++++++++------ .../sch/tasks/first_floor_area/DjqTask.java | 52 ++++++++---------- .../first_floor_area/DjqToKzjhcwTask.java | 53 ++++++++---------- .../sch/tasks/first_floor_area/GzqTask.java | 53 ++++++++---------- .../first_floor_area/GzqToKzjhcwTask.java | 55 ++++++++----------- .../sch/tasks/first_floor_area/MzhcwTask.java | 23 ++++---- .../first_floor_area/SendDjqKzjTask.java | 18 +++--- .../first_floor_area/SendGzqKzjTask.java | 20 +++---- .../tasks/first_floor_area/SsxDjwTask.java | 18 +++--- .../sch/tasks/first_floor_area/ZxDjwTask.java | 20 +++---- .../sch/tasks/first_floor_area/ZxqTask.java | 33 ++++++----- .../auto/AutoExecuteWaitTask.java | 4 -- .../java/org/nl/common/utils/TaskUtils.java | 2 - .../acs/service/impl/AcsToWmsServiceImpl.java | 7 ++- .../wms/sch/service/impl/TaskServiceImpl.java | 2 +- 15 files changed, 197 insertions(+), 213 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/BstIvtPackageinfoivtServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/BstIvtPackageinfoivtServiceImpl.java index 058f32b31..18603daeb 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/BstIvtPackageinfoivtServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/point/service/impl/BstIvtPackageinfoivtServiceImpl.java @@ -1,34 +1,33 @@ package org.nl.b_lms.sch.point.service.impl; +import cn.hutool.core.date.DateUtil; 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.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; -import com.baomidou.mybatisplus.core.toolkit.support.SFunction; +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.SneakyThrows; import lombok.extern.slf4j.Slf4j; -import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; -import org.redisson.api.RLock; -import org.redisson.api.RedissonClient; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt; import org.nl.b_lms.sch.point.dao.mapper.BstIvtPackageinfoivtMapper; import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService; -import cn.hutool.core.date.DateUtil; import org.nl.b_lms.sch.task.dao.SchBaseTask; import org.nl.b_lms.sch.task.service.IschBaseTaskService; +import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; +import org.nl.common.domain.query.PageQuery; import org.nl.common.enums.PackageInfoIvtEnum; import org.nl.common.utils.SecurityUtils; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.nl.modules.common.exception.BadRequestException; import org.nl.wms.sch.manage.TaskStatusEnum; +import org.redisson.api.RLock; +import org.redisson.api.RedissonClient; import org.springframework.http.HttpStatus; 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; @@ -38,8 +37,6 @@ import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; import java.util.stream.Stream; -import static java.util.Collections.emptyList; - /** * {@code @Description:} 装箱区点位库存表(BstIvtPackageInfoIvt)服务实现层 @@ -82,6 +79,9 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl taskList; Set pointSets; if (pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("取货任务")) || pointCode.equals(PackageInfoIvtEnum.TASK_POINT_TYPE.code("放货任务"))) { @@ -90,9 +90,9 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl() .eq(SchBaseTask::getTask_code, taskCode) + .eq(SchBaseTask::getIs_delete, IOSEnum.IS_SEND.code("否")) .eq(SchBaseTask::getTask_status, TaskStatusEnum.EXECUTING.getCode())); if (baseTask == null) { throw new BadRequestException("该任务未执行或不存在!"); @@ -277,9 +278,13 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl kzjIvtList = packageinfoivtService.checkEndPointTask(PackageInfoIvtEnum.POINT_STATUS.code("空载具缓存位"), null, null, PackageInfoIvtEnum.SORT_TYPE.code("降序"), ""); + BigDecimal sortSeq = kzjIvtList.stream().filter(r -> r.getPoint_code().equals(pointCode)).collect(Collectors.toList()).get(0).getSort_seq(); + return kzjIvtList.stream() + .anyMatch(r -> r.getSort_seq().compareTo(sortSeq) < 0 && + r.getIvt_status().equals(PackageInfoIvtEnum.IVT_STATUS.code("空载具"))); + } + private BstIvtPackageinfoivt getBstIvtPackageinfoivt(String actionType, String taskPointType, SchBaseTask baseTask) { BstIvtPackageinfoivt newPoint; //1取货任务2放货任务 @@ -350,6 +367,7 @@ public class BstIvtPackageinfoivtServiceImpl extends ServiceImpl().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false); - if (TaskUtil.checkParams(schBaseTask,THIS_CLASS)) return; + if (TaskUtil.checkParams(schBaseTask, THIS_CLASS)) return; + TaskUtils.updateOptMessageByTask(schBaseTask); if (TaskStatusEnum.EXECUTING.getCode().equals(status)) { // 更新任务状态为执行中 schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode()); } if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { + log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" + schBaseTask.getUpdate_time() + "被调用---------------------------------------------"); //1.更改任务状态为完成 schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode()); //2.改变起点点位状态,二次分配,取货完成就改起点库存 @@ -106,24 +107,21 @@ public class DjqTask extends AbstractAcsTask { //清除首次分配目标点位 schBaseTask.setPoint_code3(""); //4.判断是否存在确定起点的输送线->满轴缓存位任务,存在就下发任务 - List taskList = taskService.list(new LambdaQueryWrapper() - //确定起点未下发 - .eq(SchBaseTask::getTask_status, TaskStatusEnum.SURE_START.getCode()) - .eq(SchBaseTask::getPoint_code1, "NBJ1002") - .eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位")) - .eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")) - ); - if (CollectionUtils.isNotEmpty(taskList)) { - SchBaseTask task = taskList.get(0); - task.setPoint_code2(schBaseTask.getPoint_code1()); - task.setTask_status(TaskStatusEnum.START_AND_POINT.getCode()); - task.setUpdate_time(DateUtil.now()); - task.setUpdate_optid(SecurityUtils.getCurrentUserId()); - task.setUpdate_optname(SecurityUtils.getCurrentNickName()); - taskService.update(task); - //任务下发 - mzhcwTask.immediateNotifyAcs(task.getTask_id().toString()); - } + // List taskList = taskService.list(new LambdaQueryWrapper() + // //确定起点未下发 + // .eq(SchBaseTask::getTask_status, TaskStatusEnum.SURE_START.getCode()) + // .eq(SchBaseTask::getPoint_code1, "NBJ1002") + // .eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位")) + // .eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")) + // ); + // if (CollectionUtils.isNotEmpty(taskList)) { + // SchBaseTask task = taskList.get(0); + // task.setPoint_code2(schBaseTask.getPoint_code1()); + // task.setTask_status(TaskStatusEnum.START_AND_POINT.getCode()); + // taskService.update(task); + // //任务下发 + // mzhcwTask.immediateNotifyAcs(task.getTask_id().toString()); + // } //5搬运装箱区 //sendDjqToZxq(schBaseTask); } @@ -134,10 +132,9 @@ public class DjqTask extends AbstractAcsTask { } //任务被标记为取消 schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); + schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + schBaseTask.setRemark("任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。"); } - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId()); - schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName()); taskService.update(schBaseTask); } @@ -225,11 +222,10 @@ public class DjqTask extends AbstractAcsTask { if (schBaseTask == null) { throw new BadRequestException("满轴缓存位 -> 待检区取消接口任务号为空!"); } - schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + TaskUtils.updateOptMessageByTask(schBaseTask); schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId()); - schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName()); + schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + schBaseTask.setRemark("任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。"); taskService.update(schBaseTask); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/DjqToKzjhcwTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/DjqToKzjhcwTask.java index 1fdca90f7..f710727d7 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/DjqToKzjhcwTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/DjqToKzjhcwTask.java @@ -6,13 +6,10 @@ import cn.hutool.core.util.BooleanUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt; import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService; import org.nl.b_lms.sch.task.dao.SchBaseTask; @@ -21,6 +18,7 @@ import org.nl.b_lms.sch.task.service.IschBaseTaskService; import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; import org.nl.common.enums.PackageInfoIvtEnum; import org.nl.common.utils.SecurityUtils; +import org.nl.common.utils.TaskUtils; import org.nl.modules.common.exception.BadRequestException; import org.nl.wms.sch.AcsTaskDto; import org.nl.wms.sch.manage.AbstractAcsTask; @@ -33,7 +31,6 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; -import java.util.stream.Collectors; /** @@ -92,11 +89,13 @@ public class DjqToKzjhcwTask extends AbstractAcsTask { public void updateTaskStatus(JSONObject taskObj, String status) { SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false); if (TaskUtil.checkParams(schBaseTask,THIS_CLASS)) return; + TaskUtils.updateOptMessageByTask(schBaseTask); if (TaskStatusEnum.EXECUTING.getCode().equals(status)) { // 更新任务状态为执行中 schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode()); } - if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { + if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { + log.info("任务编号为:"+schBaseTask.getTask_code()+"的任务完成接口在"+schBaseTask.getUpdate_time()+"被调用---------------------------------------------"); //1.更改任务状态为完成 schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode()); //2.改变起点点位状态 @@ -106,23 +105,20 @@ public class DjqToKzjhcwTask extends AbstractAcsTask { //更新库存记录 packageinfoivtService.update(new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空载具")).eq("point_code", schBaseTask.getPoint_code2())); //3.待检区或管制区搬运空载具到空载具缓存位完毕,判断是否存在确定终点的空载具缓存位->输送线任务,存在就下发任务 - List taskList = taskService.list(new LambdaQueryWrapper() - //确定终点未下发 - .eq(SchBaseTask::getTask_status, TaskStatusEnum.SURE_END.getCode()) - .eq(SchBaseTask::getPoint_code2, "NBJ1002") - .eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)")).eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")) - ); - if (CollectionUtils.isNotEmpty(taskList)) { - SchBaseTask task = taskList.get(0); - task.setPoint_code1(schBaseTask.getPoint_code2()); - task.setTask_status(TaskStatusEnum.START_AND_POINT.getCode()); - task.setUpdate_time(DateUtil.now()); - task.setUpdate_optid(SecurityUtils.getCurrentUserId()); - task.setUpdate_optname(SecurityUtils.getCurrentNickName()); - taskService.update(task); - //任务下发 - ssxDjwTask.immediateNotifyAcs(task.getTask_id().toString()); - } + // List taskList = taskService.list(new LambdaQueryWrapper() + // //确定终点未下发 + // .eq(SchBaseTask::getTask_status, TaskStatusEnum.SURE_END.getCode()) + // .eq(SchBaseTask::getPoint_code2, "NBJ1002") + // .eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)")).eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")) + // ); + // if (CollectionUtils.isNotEmpty(taskList)) { + // SchBaseTask task = taskList.get(0); + // task.setPoint_code1(schBaseTask.getPoint_code2()); + // task.setTask_status(TaskStatusEnum.START_AND_POINT.getCode()); + // taskService.update(task); + // //任务下发 + // ssxDjwTask.immediateNotifyAcs(task.getTask_id().toString()); + // } } // 取消 if (status.equals(IOSEnum.IS_NOTANDYES.code("否"))) { @@ -130,12 +126,10 @@ public class DjqToKzjhcwTask extends AbstractAcsTask { throw new BadRequestException("任务已执行不能取消"); } //任务被标记为取消 - schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); + schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + schBaseTask.setRemark("任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。"); } - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId()); - schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName()); taskService.update(schBaseTask); } @@ -207,11 +201,10 @@ public class DjqToKzjhcwTask extends AbstractAcsTask { if (schBaseTask == null) { throw new BadRequestException("待检区->空载具缓存位取消接口任务号为空!"); } - schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + TaskUtils.updateOptMessageByTask(schBaseTask); schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId()); - schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName()); + schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + schBaseTask.setRemark("任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。"); taskService.update(schBaseTask); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/GzqTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/GzqTask.java index bf00f8ee2..e31991ab5 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/GzqTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/GzqTask.java @@ -6,12 +6,10 @@ import cn.hutool.core.util.BooleanUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt; import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService; import org.nl.b_lms.sch.task.dao.SchBaseTask; @@ -20,6 +18,7 @@ import org.nl.b_lms.sch.task.service.IschBaseTaskService; import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; import org.nl.common.enums.PackageInfoIvtEnum; import org.nl.common.utils.SecurityUtils; +import org.nl.common.utils.TaskUtils; import org.nl.modules.common.exception.BadRequestException; import org.nl.wms.sch.AcsTaskDto; import org.nl.wms.sch.manage.AbstractAcsTask; @@ -88,11 +87,13 @@ public class GzqTask extends AbstractAcsTask { public void updateTaskStatus(JSONObject taskObj, String status) { SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false); if (TaskUtil.checkParams(schBaseTask,THIS_CLASS)) return; + TaskUtils.updateOptMessageByTask(schBaseTask); if (TaskStatusEnum.EXECUTING.getCode().equals(status)) { // 更新任务状态为执行中 schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode()); } - if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { + if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { + log.info("任务编号为:"+schBaseTask.getTask_code()+"的任务完成接口在"+schBaseTask.getUpdate_time()+"被调用---------------------------------------------"); //1.更改任务状态为完成 schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode()); //2.改变起点点位状态 @@ -100,24 +101,21 @@ public class GzqTask extends AbstractAcsTask { //更新库存记录 packageinfoivtService.update(new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("有子卷")).set("container_name", schBaseTask.getVehicle_code()).eq("point_code", schBaseTask.getPoint_code2())); //3.判断是否存在确定起点的输送线->满轴缓存位任务,存在就下发任务 - List taskList = taskService.list(new LambdaQueryWrapper() - //确定起点未下发 - .eq(SchBaseTask::getTask_status, TaskStatusEnum.SURE_START.getCode()) - .eq(SchBaseTask::getPoint_code1, "NBJ1002") - .eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位")) - .eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")) - ); - if (CollectionUtils.isNotEmpty(taskList)) { - SchBaseTask task = taskList.get(0); - task.setPoint_code2(schBaseTask.getPoint_code1()); - task.setTask_status(TaskStatusEnum.START_AND_POINT.getCode()); - task.setUpdate_time(DateUtil.now()); - task.setUpdate_optid(SecurityUtils.getCurrentUserId()); - task.setUpdate_optname(SecurityUtils.getCurrentNickName()); - taskService.update(task); - //任务下发 - mzhcwTask.immediateNotifyAcs(task.getTask_id().toString()); - } + // List taskList = taskService.list(new LambdaQueryWrapper() + // //确定起点未下发 + // .eq(SchBaseTask::getTask_status, TaskStatusEnum.SURE_START.getCode()) + // .eq(SchBaseTask::getPoint_code1, "NBJ1002") + // .eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("输送线->满轴缓存位")) + // .eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")) + // ); + // if (CollectionUtils.isNotEmpty(taskList)) { + // SchBaseTask task = taskList.get(0); + // task.setPoint_code2(schBaseTask.getPoint_code1()); + // task.setTask_status(TaskStatusEnum.START_AND_POINT.getCode()); + // taskService.update(task); + // //任务下发 + // mzhcwTask.immediateNotifyAcs(task.getTask_id().toString()); + // } } // 取消 if (status.equals(IOSEnum.IS_NOTANDYES.code("否"))) { @@ -125,12 +123,10 @@ public class GzqTask extends AbstractAcsTask { throw new BadRequestException("任务已执行不能取消"); } //任务被标记为取消 - schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); + schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + schBaseTask.setRemark("任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。"); } - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId()); - schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName()); taskService.update(schBaseTask); } @@ -201,11 +197,10 @@ public class GzqTask extends AbstractAcsTask { if (schBaseTask == null) { throw new BadRequestException("满轴缓存位 -> 管制区取消接口任务号为空!"); } - schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + TaskUtils.updateOptMessageByTask(schBaseTask); schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId()); - schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName()); + schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + schBaseTask.setRemark("任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。"); taskService.update(schBaseTask); } } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/GzqToKzjhcwTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/GzqToKzjhcwTask.java index ceb7a4833..8339d89e4 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/GzqToKzjhcwTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/GzqToKzjhcwTask.java @@ -6,13 +6,10 @@ import cn.hutool.core.util.BooleanUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang3.StringUtils; import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt; import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService; import org.nl.b_lms.sch.task.dao.SchBaseTask; @@ -21,6 +18,7 @@ import org.nl.b_lms.sch.task.service.IschBaseTaskService; import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; import org.nl.common.enums.PackageInfoIvtEnum; import org.nl.common.utils.SecurityUtils; +import org.nl.common.utils.TaskUtils; import org.nl.modules.common.exception.BadRequestException; import org.nl.wms.sch.AcsTaskDto; import org.nl.wms.sch.manage.AbstractAcsTask; @@ -33,7 +31,6 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; -import java.util.stream.Collectors; /** @@ -91,12 +88,14 @@ public class GzqToKzjhcwTask extends AbstractAcsTask { @Transactional(rollbackFor = Exception.class) public void updateTaskStatus(JSONObject taskObj, String status) { SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false); - if (TaskUtil.checkParams(schBaseTask,THIS_CLASS)) return; + if (TaskUtil.checkParams(schBaseTask, THIS_CLASS)) return; + TaskUtils.updateOptMessageByTask(schBaseTask); if (TaskStatusEnum.EXECUTING.getCode().equals(status)) { // 更新任务状态为执行中 schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode()); } - if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { + if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { + log.info("任务编号为:"+schBaseTask.getTask_code()+"的任务完成接口在"+schBaseTask.getUpdate_time()+"被调用---------------------------------------------"); //1.更改任务状态为完成 schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode()); //2.改变起点点位状态 @@ -106,23 +105,20 @@ public class GzqToKzjhcwTask extends AbstractAcsTask { //更新库存记录 packageinfoivtService.update(new UpdateWrapper().set("ivt_status", PackageInfoIvtEnum.IVT_STATUS.code("空载具")).eq("point_code", schBaseTask.getPoint_code2())); //3.待检区或管制区搬运空载具到空载具缓存位完毕,判断是否存在确定终点的空载具缓存位->输送线任务,存在就下发任务 - List taskList = taskService.list(new LambdaQueryWrapper() - //确定终点未下发 - .eq(SchBaseTask::getTask_status, TaskStatusEnum.SURE_END.getCode()) - .eq(SchBaseTask::getPoint_code2, "NBJ1002") - .eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)")).eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")) - ); - if (CollectionUtils.isNotEmpty(taskList)) { - SchBaseTask task = taskList.get(0); - task.setPoint_code1(schBaseTask.getPoint_code2()); - task.setTask_status(TaskStatusEnum.START_AND_POINT.getCode()); - task.setUpdate_time(DateUtil.now()); - task.setUpdate_optid(SecurityUtils.getCurrentUserId()); - task.setUpdate_optname(SecurityUtils.getCurrentNickName()); - taskService.update(task); - //任务下发 - ssxDjwTask.immediateNotifyAcs(task.getTask_id().toString()); - } + // List taskList = taskService.list(new LambdaQueryWrapper() + // //确定终点未下发 + // .eq(SchBaseTask::getTask_status, TaskStatusEnum.SURE_END.getCode()) + // .eq(SchBaseTask::getPoint_code2, "NBJ1002") + // .eq(SchBaseTask::getTask_type, PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)")).eq(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("否")) + // ); + // if (CollectionUtils.isNotEmpty(taskList)) { + // SchBaseTask task = taskList.get(0); + // task.setPoint_code1(schBaseTask.getPoint_code2()); + // task.setTask_status(TaskStatusEnum.START_AND_POINT.getCode()); + // taskService.update(task); + // //任务下发 + // ssxDjwTask.immediateNotifyAcs(task.getTask_id().toString()); + // } } // 取消 if (status.equals(IOSEnum.IS_NOTANDYES.code("否"))) { @@ -130,12 +126,10 @@ public class GzqToKzjhcwTask extends AbstractAcsTask { throw new BadRequestException("任务已执行不能取消"); } //任务被标记为取消 - schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); + schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + schBaseTask.setRemark("任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。"); } - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId()); - schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName()); taskService.update(schBaseTask); } @@ -207,11 +201,10 @@ public class GzqToKzjhcwTask extends AbstractAcsTask { if (schBaseTask == null) { throw new BadRequestException("管制区->空载具缓存位取消接口任务号为空!"); } - schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + TaskUtils.updateOptMessageByTask(schBaseTask); schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId()); - schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName()); + schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + schBaseTask.setRemark("任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。"); taskService.update(schBaseTask); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/MzhcwTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/MzhcwTask.java index 38a4f0b52..59b4d5c1e 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/MzhcwTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/MzhcwTask.java @@ -23,6 +23,7 @@ import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; import org.nl.common.enums.ContainerLevelEnum; import org.nl.common.enums.PackageInfoIvtEnum; import org.nl.common.utils.SecurityUtils; +import org.nl.common.utils.TaskUtils; import org.nl.modules.common.exception.BadRequestException; import org.nl.wms.sch.AcsTaskDto; import org.nl.wms.sch.manage.AbstractAcsTask; @@ -109,13 +110,15 @@ public class MzhcwTask extends AbstractAcsTask { public void updateTaskStatus(JSONObject taskObj, String status) { SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false); if (TaskUtil.checkParams(schBaseTask,THIS_CLASS)) return; + TaskUtils.updateOptMessageByTask(schBaseTask); // 执行中 if (TaskStatusEnum.EXECUTING.getCode().equals(status)) { // 更新任务状态为执行中 schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode()); } // 完成 - if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { + if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { + log.info("任务编号为:"+schBaseTask.getTask_code()+"的任务完成接口在"+schBaseTask.getUpdate_time()+"被调用---------------------------------------------"); //1.更改任务状态为完成 schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode()); //2.更新库存记录 @@ -135,15 +138,13 @@ public class MzhcwTask extends AbstractAcsTask { toSsxTask.put("acs_task_type", PackageInfoIvtEnum.ACS_TASK_TYPE.code("桁架任务")); toSsxTask.put("task_type", PackageInfoIvtEnum.TASK_TYPE.code("放空(空载具缓存位->输送线)")); toSsxTask.put("vehicle_code", schBaseTask.getVehicle_code()); - //判断空载具缓存位是否有空载具库存,有就叫桁架去任一位置搬空载具 + //判断空载具缓存位是否有空载具库存,有就叫桁架去任一位置搬空载具,如果暂时没有空载具,定时任务会不断判断是否有空载具 if (CollectionUtils.isNotEmpty(kzjPointList)) { //直接创建搬运空载具任务 toSsxTask.put("point_code1", kzjPointList.get(0).getPoint_code()); //终点为输送线点位 toSsxTask.put("point_code2", schBaseTask.getPoint_code1()); ssxDjwTask.createTask(toSsxTask); - } else { - //sendVehicle(schBaseTask); } } else { //四个点任务,改变pointCode3点位状态 @@ -156,12 +157,11 @@ public class MzhcwTask extends AbstractAcsTask { throw new BadRequestException("任务已执行不能取消"); } // 更新任务表删除字段 - schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); + schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + schBaseTask.setRemark("任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。"); + } - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId()); - schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName()); taskService.update(schBaseTask); } @@ -357,11 +357,10 @@ public class MzhcwTask extends AbstractAcsTask { if (schBaseTask == null) { throw new BadRequestException("输送线点位 -> 满轴缓存位取消接口任务号为空!"); } - schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + TaskUtils.updateOptMessageByTask(schBaseTask); schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId()); - schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName()); + schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + schBaseTask.setRemark("任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。"); taskService.update(schBaseTask); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SendDjqKzjTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SendDjqKzjTask.java index 4db51c7d2..61c116723 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SendDjqKzjTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SendDjqKzjTask.java @@ -18,6 +18,7 @@ import org.nl.b_lms.sch.task.service.IschBaseTaskService; import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; import org.nl.common.enums.PackageInfoIvtEnum; import org.nl.common.utils.SecurityUtils; +import org.nl.common.utils.TaskUtils; import org.nl.modules.common.exception.BadRequestException; import org.nl.wms.sch.AcsTaskDto; import org.nl.wms.sch.manage.AbstractAcsTask; @@ -82,11 +83,13 @@ public class SendDjqKzjTask extends AbstractAcsTask { public void updateTaskStatus(JSONObject taskObj, String status) { SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false); if (TaskUtil.checkParams(schBaseTask,THIS_CLASS)) return; + TaskUtils.updateOptMessageByTask(schBaseTask); if (TaskStatusEnum.EXECUTING.getCode().equals(status)) { // 更新任务状态为执行中 schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode()); } - if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { + if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { + log.info("任务编号为:"+schBaseTask.getTask_code()+"的任务完成接口在"+schBaseTask.getUpdate_time()+"被调用---------------------------------------------"); //1.更改任务状态为完成 schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode()); //2.改变起点点位状态 @@ -100,12 +103,10 @@ public class SendDjqKzjTask extends AbstractAcsTask { throw new BadRequestException("任务已执行不能取消"); } //任务被标记为取消 - schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); + schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + schBaseTask.setRemark("任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。"); } - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId()); - schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName()); taskService.update(schBaseTask); } @@ -177,11 +178,10 @@ public class SendDjqKzjTask extends AbstractAcsTask { if (schBaseTask == null) { throw new BadRequestException("装箱区->待检区送空载具取消接口任务号为空!"); } - schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + TaskUtils.updateOptMessageByTask(schBaseTask); schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId()); - schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName()); + schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + schBaseTask.setRemark("任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。"); taskService.update(schBaseTask); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SendGzqKzjTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SendGzqKzjTask.java index 129a0ff98..035eea245 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SendGzqKzjTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SendGzqKzjTask.java @@ -18,6 +18,7 @@ import org.nl.b_lms.sch.task.service.IschBaseTaskService; import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; import org.nl.common.enums.PackageInfoIvtEnum; import org.nl.common.utils.SecurityUtils; +import org.nl.common.utils.TaskUtils; import org.nl.modules.common.exception.BadRequestException; import org.nl.wms.sch.AcsTaskDto; import org.nl.wms.sch.manage.AbstractAcsTask; @@ -81,12 +82,14 @@ public class SendGzqKzjTask extends AbstractAcsTask { @Transactional(rollbackFor = Exception.class) public void updateTaskStatus(JSONObject taskObj, String status) { SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false); - if (TaskUtil.checkParams(schBaseTask,THIS_CLASS)) return; + if (TaskUtil.checkParams(schBaseTask, THIS_CLASS)) return; + TaskUtils.updateOptMessageByTask(schBaseTask); if (TaskStatusEnum.EXECUTING.getCode().equals(status)) { // 更新任务状态为执行中 schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode()); } - if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { + if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { + log.info("任务编号为:"+schBaseTask.getTask_code()+"的任务完成接口在"+schBaseTask.getUpdate_time()+"被调用---------------------------------------------"); //1.更改任务状态为完成 schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode()); //2.改变起点点位状态 @@ -100,12 +103,10 @@ public class SendGzqKzjTask extends AbstractAcsTask { throw new BadRequestException("任务已执行不能取消"); } //任务被标记为取消 - schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); + schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + schBaseTask.setRemark("任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。"); } - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId()); - schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName()); taskService.update(schBaseTask); } @@ -177,11 +178,10 @@ public class SendGzqKzjTask extends AbstractAcsTask { if (schBaseTask == null) { throw new BadRequestException("装箱区->管制区送空载具取消接口任务号为空!"); } - schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + TaskUtils.updateOptMessageByTask(schBaseTask); schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId()); - schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName()); + schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + schBaseTask.setRemark("任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。"); taskService.update(schBaseTask); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SsxDjwTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SsxDjwTask.java index 4305ce66b..3b1475089 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SsxDjwTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/SsxDjwTask.java @@ -18,6 +18,7 @@ import org.nl.b_lms.sch.task.service.IschBaseTaskService; import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; import org.nl.common.enums.PackageInfoIvtEnum; import org.nl.common.utils.SecurityUtils; +import org.nl.common.utils.TaskUtils; import org.nl.modules.common.exception.BadRequestException; import org.nl.wms.sch.AcsTaskDto; import org.nl.wms.sch.manage.AbstractAcsTask; @@ -85,11 +86,13 @@ public class SsxDjwTask extends AbstractAcsTask { public void updateTaskStatus(JSONObject taskObj, String status) { SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false); if (TaskUtil.checkParams(schBaseTask,THIS_CLASS)) return; + TaskUtils.updateOptMessageByTask(schBaseTask); if (TaskStatusEnum.EXECUTING.getCode().equals(status)) { // 更新任务状态为执行中 schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode()); } - if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { + if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { + log.info("任务编号为:"+schBaseTask.getTask_code()+"的任务完成接口在"+schBaseTask.getUpdate_time()+"被调用---------------------------------------------"); //1.更改任务状态为完成 schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode()); //2.改变起点点位状态 @@ -117,14 +120,10 @@ public class SsxDjwTask extends AbstractAcsTask { throw new BadRequestException("任务已执行不能取消"); } //任务被标记为取消 - schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); - schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); + schBaseTask.setRemark("任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。"); } - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId()); - schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName()); taskService.update(schBaseTask); } @@ -194,11 +193,10 @@ public class SsxDjwTask extends AbstractAcsTask { if (schBaseTask == null) { throw new BadRequestException("空载具缓存位 -> 输送线取消接口任务号为空!"); } - schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + TaskUtils.updateOptMessageByTask(schBaseTask); schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId()); - schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName()); + schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + schBaseTask.setRemark("任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。"); taskService.update(schBaseTask); } } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxDjwTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxDjwTask.java index aad21b5dc..56348cb13 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxDjwTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxDjwTask.java @@ -26,6 +26,7 @@ import org.nl.b_lms.storage_manage.database.service.dao.mapper.BstIvtBoxinfoMapp import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; import org.nl.common.enums.PackageInfoIvtEnum; import org.nl.common.utils.SecurityUtils; +import org.nl.common.utils.TaskUtils; import org.nl.modules.common.exception.BadRequestException; import org.nl.wms.sch.AcsTaskDto; import org.nl.wms.sch.manage.AbstractAcsTask; @@ -103,11 +104,13 @@ public class ZxDjwTask extends AbstractAcsTask { public void updateTaskStatus(JSONObject taskObj, String status) { SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false); if (TaskUtil.checkParams(schBaseTask,THIS_CLASS)) return; + TaskUtils.updateOptMessageByTask(schBaseTask); if (TaskStatusEnum.EXECUTING.getCode().equals(status)) { // 更新任务状态为执行中 schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode()); } - if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { + if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { + log.info("任务编号为:"+schBaseTask.getTask_code()+"的任务完成接口在"+schBaseTask.getUpdate_time()+"被调用---------------------------------------------"); PdmBiSlittingproductionplan containerInfo = productionPlanService.getOne(new LambdaUpdateWrapper() .eq(PdmBiSlittingproductionplan::getContainer_name, schBaseTask.getVehicle_code())); if (containerInfo == null) { @@ -149,13 +152,10 @@ public class ZxDjwTask extends AbstractAcsTask { throw new BadRequestException("任务已执行不能取消"); } //任务被标记为取消 - schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); - schBaseTask.setRemark("任务被强制取消,不执行任何逻辑!"); + schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + schBaseTask.setRemark("任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。"); } - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId()); - schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName()); taskService.update(schBaseTask); } @@ -228,12 +228,10 @@ public class ZxDjwTask extends AbstractAcsTask { if (schBaseTask == null) { throw new BadRequestException("装箱区 -> 装箱对接位取消接口任务号为空!"); } - schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + TaskUtils.updateOptMessageByTask(schBaseTask); schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId()); - schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName()); - schBaseTask.setRemark("任务被强制取消,不执行任何逻辑!"); + schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + schBaseTask.setRemark("任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。"); taskService.update(schBaseTask); } } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxqTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxqTask.java index 5e587ed3a..69c7a397b 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxqTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/ZxqTask.java @@ -26,6 +26,7 @@ import org.nl.b_lms.storage_manage.database.service.dao.mapper.BstIvtBoxinfoMapp import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; import org.nl.common.enums.PackageInfoIvtEnum; import org.nl.common.utils.SecurityUtils; +import org.nl.common.utils.TaskUtils; import org.nl.modules.common.exception.BadRequestException; import org.nl.system.service.param.ISysParamService; import org.nl.wms.sch.AcsTaskDto; @@ -33,7 +34,6 @@ import org.nl.wms.sch.manage.AbstractAcsTask; import org.nl.wms.sch.manage.TaskStatusEnum; import org.nl.wms.util.TaskUtil; import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -114,19 +114,21 @@ public class ZxqTask extends AbstractAcsTask { @Transactional(rollbackFor = Exception.class) public void updateTaskStatus(JSONObject taskObj, String status) { SchBaseTask schBaseTask = taskService.getOne(new LambdaUpdateWrapper().eq(SchBaseTask::getTask_id, taskObj.getString("task_id")), false); - if (TaskUtil.checkParams(schBaseTask,THIS_CLASS)) return; + if (TaskUtil.checkParams(schBaseTask, THIS_CLASS)) return; + TaskUtils.updateOptMessageByTask(schBaseTask); if (TaskStatusEnum.EXECUTING.getCode().equals(status)) { // 更新任务状态为执行中 schBaseTask.setTask_status(TaskStatusEnum.EXECUTING.getCode()); } if (StrUtil.equals(status, TaskStatusEnum.FINISHED.getCode())) { -// PdmBiSlittingproductionplan containerInfo = productionPlanService.getOne(new LambdaUpdateWrapper() -// .eq(PdmBiSlittingproductionplan::getContainer_name, schBaseTask.getVehicle_code())); -// if (containerInfo == null) { -// throw new BadRequestException("该子卷信息不存在!"); -// } else if (StrUtil.isEmpty(containerInfo.getContainer_name())) { -// throw new BadRequestException("子卷号不能为空!"); -// } + log.info("任务编号为:" + schBaseTask.getTask_code() + "的任务完成接口在" + schBaseTask.getUpdate_time() + "被调用---------------------------------------------"); + // PdmBiSlittingproductionplan containerInfo = productionPlanService.getOne(new LambdaUpdateWrapper() + // .eq(PdmBiSlittingproductionplan::getContainer_name, schBaseTask.getVehicle_code())); + // if (containerInfo == null) { + // throw new BadRequestException("该子卷信息不存在!"); + // } else if (StrUtil.isEmpty(containerInfo.getContainer_name())) { + // throw new BadRequestException("子卷号不能为空!"); + // } //1.更改任务状态为完成 schBaseTask.setTask_status(TaskStatusEnum.FINISHED.getCode()); //2.改变起点点位状态 @@ -142,12 +144,10 @@ public class ZxqTask extends AbstractAcsTask { throw new BadRequestException("任务已执行不能取消"); } //任务被标记为取消 - schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); + schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + schBaseTask.setRemark("任务被ACS在:" + schBaseTask.getUpdate_time() + "调用接口强制取消。"); } - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId()); - schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName()); taskService.update(schBaseTask); } @@ -300,11 +300,10 @@ public class ZxqTask extends AbstractAcsTask { if (schBaseTask == null) { throw new BadRequestException("待检区 -> 装箱区取消接口任务号为空!"); } - schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + TaskUtils.updateOptMessageByTask(schBaseTask); schBaseTask.setIs_delete(IOSEnum.IS_NOTANDYES.code("是")); - schBaseTask.setUpdate_time(DateUtil.now()); - schBaseTask.setUpdate_optid(SecurityUtils.getCurrentUserId()); - schBaseTask.setUpdate_optname(SecurityUtils.getCurrentNickName()); + schBaseTask.setTask_status(TaskStatusEnum.CANCEL.getCode()); + schBaseTask.setRemark("任务被用户:" + schBaseTask.getUpdate_optname() + "在:" + schBaseTask.getUpdate_time() + "强制取消。"); taskService.update(schBaseTask); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoExecuteWaitTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoExecuteWaitTask.java index 8b4ee434d..65523ca45 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoExecuteWaitTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/first_floor_area/auto/AutoExecuteWaitTask.java @@ -1,6 +1,5 @@ package org.nl.b_lms.sch.tasks.first_floor_area.auto; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import lombok.RequiredArgsConstructor; @@ -10,7 +9,6 @@ import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt; import org.nl.b_lms.sch.point.service.IbstIvtPackageinfoivtService; import org.nl.b_lms.sch.task.dao.SchBaseTask; import org.nl.b_lms.sch.task.service.IschBaseTaskService; -import org.nl.b_lms.sch.tasks.first_floor_area.DjqTask; import org.nl.b_lms.sch.tasks.first_floor_area.MzhcwTask; import org.nl.b_lms.sch.tasks.first_floor_area.SsxDjwTask; import org.nl.b_lms.storage_manage.ios.enums.IOSEnum; @@ -22,9 +20,7 @@ import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.time.LocalDate; import java.time.format.DateTimeFormatter; -import java.util.Comparator; import java.util.List; -import java.util.stream.Collectors; @Slf4j diff --git a/lms/nladmin-system/src/main/java/org/nl/common/utils/TaskUtils.java b/lms/nladmin-system/src/main/java/org/nl/common/utils/TaskUtils.java index c6b46e373..58ee6a3ea 100644 --- a/lms/nladmin-system/src/main/java/org/nl/common/utils/TaskUtils.java +++ b/lms/nladmin-system/src/main/java/org/nl/common/utils/TaskUtils.java @@ -47,8 +47,6 @@ public class TaskUtils { /** * 根据任务维护分切点位库存 - * @param taskObj 任务 - * @param endPointObj 点位 * @param status 状态 */ public static void pointMaintenanceInventory(SchBaseTask task, BstIvtCutpointivt target, String status) { diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index 8be367f54..f33bc3516 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -1792,7 +1792,7 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { // 如果满轴位没有可用的空点位,先创建一个桁架任务但是不下发,等这边空出来点位,判断是否有这种桁架任务然后补发; // 这个情况是有agv任务在搬去待检区或管制区的路上,还没有更新任务状态;需要查询是否有这种任务,等这个任务更新完后, // 再补发之前创建的输送线到满轴缓存位任务; - log.info("二楼到一楼,成品子卷到达一楼输送线,sendProductToFirstFloor--------------------------:" + whereJson.toString()); + log.info("二楼到一楼,成品子卷到达一楼输送线接口sendProductToFirstFloor被调用--------------------------:" + whereJson.toString()); if (StringUtils.isBlank(whereJson.getString("device_code")) || StringUtils.isBlank(whereJson.getString("material_barcode"))) { throw new BadRequestException("接口sendProductToFirstFloor,目标站点或子卷号参数为空!"); } @@ -1855,15 +1855,16 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { result.put("message", "满轴缓存位暂无空位!"); } } else { - log.info("二楼到一楼,成品子卷到达一楼输送线,异常,任务正在创建中"); + log.info("二楼到一楼成品子卷到达一楼输送线任务正在创建被锁住。"); result.put("status", HttpStatus.BAD_REQUEST.value()); - result.put("message", "任务正在创建中!"); + result.put("message", "二楼到一楼成品子卷到达一楼输送线任务正在创建被锁住。"); } } finally { if (tryLock) { lock.unlock(); } } + log.info("二楼到一楼,成品子卷到达一楼输送线接口sendProductToFirstFloor调用成功--------------------------:" + result.toString()); return result; } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/TaskServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/TaskServiceImpl.java index a3d4170ee..227d248ca 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/TaskServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/sch/service/impl/TaskServiceImpl.java @@ -134,7 +134,7 @@ public class TaskServiceImpl implements TaskService { taskObj.put("update_optid", SecurityUtils.getCurrentUserId()); taskObj.put("update_optname", SecurityUtils.getCurrentUsername()); taskObj.put("update_time", DateUtil.now()); - taskObj.put("remark", "任务被强制完成,不执行任何逻辑!"); + taskObj.put("remark", "任务被用户:" + SecurityUtils.getCurrentUsername() + "在:" + DateUtil.now() + "强制完成。"); WQLObject.getWQLObject("SCH_BASE_Task").update(taskObj); } else { // 任务处理类 From 2f6cbfd9c120e3caec11434324c7387393a5deaa Mon Sep 17 00:00:00 2001 From: liuxy Date: Tue, 2 Jul 2024 13:29:00 +0800 Subject: [PATCH 4/8] =?UTF-8?q?rev=EF=BC=9A=20=E7=AB=8B=E5=BA=93=E5=A0=86?= =?UTF-8?q?=E5=9E=9B=E6=9C=BA=E7=9B=B8=E5=85=B3=E4=BB=BB=E5=8A=A1=E4=B8=8B?= =?UTF-8?q?=E5=8F=91=E6=97=B6=20=E7=BB=99=E6=89=98=E7=9B=98=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/nl/b_lms/sch/tasks/TwoInBoxTask.java | 2 +- .../nl/b_lms/sch/tasks/TwoMoveBoxTask.java | 3 ++- .../org/nl/b_lms/sch/tasks/TwoOutBoxTask.java | 3 ++- .../sch/tasks/TwoOutExceptionalTask.java | 14 ++++++++++- .../nl/b_lms/sch/tasks/TwoOutHeapTask.java | 2 +- .../org/nl/b_lms/sch/tasks/TwoOutTask.java | 2 +- .../impl/StIvtIostorinvOutServiceImpl.java | 20 ++++++++++++---- .../impl/StIvtIostorinvServiceImpl.java | 11 ++++++++- .../util/impl/LashManageServiceImpl.java | 11 +++++++++ .../util/impl/OutBoxManageServiceImpl.java | 24 +++++++++++++++++-- .../util/impl/OutBussManageServiceImpl.java | 10 ++++++++ .../util/service/InBoxManageService.java | 7 ++++++ .../util/service/OutBoxManageService.java | 1 + .../st/instor/task/HandMoveStorAcsTask.java | 7 ++++++ 14 files changed, 104 insertions(+), 13 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoInBoxTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoInBoxTask.java index d59ba8276..dfcf89558 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoInBoxTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoInBoxTask.java @@ -117,7 +117,7 @@ public class TwoInBoxTask extends AbstractAcsTask { jsonVeExt.put("update_time", DateUtil.now()); veExtTab.insert(jsonVeExt); }else { - ext_jo.put("pcsn", jsonTask.getString("vehicle_code2")); + ext_jo.put("pcsn", jsonTask.getString("vehicle_code")); ext_jo.put("device_uuid", org.nl.common.utils.IdUtil.getLongId()); ext_jo.put("update_time", DateUtil.now()); veExtTab.update(ext_jo); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoMoveBoxTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoMoveBoxTask.java index 809c20814..02f3e2e58 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoMoveBoxTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoMoveBoxTask.java @@ -49,7 +49,7 @@ public class TwoMoveBoxTask extends AbstractAcsTask { .start_device_code(json.getString("point_code1")) .next_device_code(json.getString("point_code2")) .route_plan_code(getRoutePlanCode(json.getString("point_code2"))) - .vehicle_code(json.getString("vehicle_code")) + .vehicle_code(json.getString("vehicle_code2")) .priority(json.getString("priority")) .class_type(json.getString("task_type")) .dtl_type(String.valueOf(dtl_type)) @@ -163,6 +163,7 @@ public class TwoMoveBoxTask extends AbstractAcsTask { json.put("task_code", IdUtil.getSnowflake(1, 1).nextId()); json.put("task_type", form.getString("task_type")); json.put("vehicle_code", form.getString("vehicle_code")); + json.put("vehicle_code2", form.getString("vehicle_code2")); json.put("task_status", TaskStatusEnum.START_AND_POINT.getCode()); json.put("task_group_id", form.getLongValue("task_group_id")); json.put("point_code1", form.getString("start_device_code")); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutBoxTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutBoxTask.java index 8b38d44e3..a81ea3ace 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutBoxTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutBoxTask.java @@ -64,7 +64,7 @@ public class TwoOutBoxTask extends AbstractAcsTask { .task_type(json.getString("acs_task_type")) .start_device_code(json.getString("point_code1")) .next_device_code(json.getString("point_code2")) - .vehicle_code(json.getString("vehicle_code")) + .vehicle_code(json.getString("vehicle_code2")) .interaction_json(json.getJSONObject("request_param")) .priority(json.getString("priority")) .class_type(json.getString("task_type")) @@ -176,6 +176,7 @@ public class TwoOutBoxTask extends AbstractAcsTask { json.put("task_code", IdUtil.getSnowflake(1, 1).nextId()); json.put("task_type", form.getString("task_type")); json.put("vehicle_code", form.getString("vehicle_code")); + json.put("vehicle_code2", form.getString("vehicle_code2")); json.put("vehicle_type", form.getString("vehicle_type")); json.put("task_status", TaskStatusEnum.START_AND_POINT.getCode()); json.put("task_group_id", form.getLongValue("task_group_id")); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutExceptionalTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutExceptionalTask.java index 74ad6b44f..6cd7cd933 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutExceptionalTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutExceptionalTask.java @@ -2,6 +2,7 @@ package org.nl.b_lms.sch.tasks; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; @@ -49,7 +50,7 @@ public class TwoOutExceptionalTask extends AbstractAcsTask { .task_type(json.getString("acs_task_type")) .start_device_code(json.getString("point_code1")) .next_device_code(json.getString("point_code2")) - .vehicle_code(json.getString("vehicle_code")) + .vehicle_code(json.getString("vehicle_code2")) .priority(json.getString("priority")) .class_type(json.getString("task_type")) .route_plan_code(getRoutePlanCode(json.getString("point_code1"))) @@ -70,6 +71,8 @@ public class TwoOutExceptionalTask extends AbstractAcsTask { WQLObject disTab = WQLObject.getWQLObject("st_ivt_iostorinvdis"); // 点位表 WQLObject pointTab = WQLObject.getWQLObject("sch_base_point"); + // 载具扩展属性表 + WQLObject extTab = WQLObject.getWQLObject("md_pb_storagevehicleext"); JSONObject jsonTask = taskTab.query("task_id = '" + taskObj.getString("task_id") + "'").uniqueResult(0); @@ -97,11 +100,19 @@ public class TwoOutExceptionalTask extends AbstractAcsTask { JSONObject jsonPoint = pointTab.query("region_id = '" + RegionTypeEnum.TWO_OUT01.getId() + "' and is_delete = '0' and is_used = '1'").uniqueResult(0); + // 查询木箱对应的载具 + JSONObject jsonVeExt = extTab.query("pcsn = '" + jsonTask.getString("vehicle_code") + "'") + .uniqueResult(0); + if (ObjectUtil.isEmpty(jsonVeExt)) { + throw new BadRequestException("此木箱没有绑定托盘号!"+jsonTask.getString("vehicle_code")); + } + JSONObject jsonTaskParam = new JSONObject(); jsonTaskParam.put("task_type", "010711"); jsonTaskParam.put("point_code1", jsonTask.getString("point_code2")); jsonTaskParam.put("point_code2", jsonPoint.getString("point_code")); jsonTaskParam.put("vehicle_code", jsonTask.getString("vehicle_code")); + jsonTaskParam.put("vehicle_code2", jsonVeExt.getString("storagevehicle_code")); jsonTaskParam.put("task_group_id", jsonDis.getString("task_id")); jsonTaskParam.put("is_auto_issue", IOSEnum.IS_SEND.code("否")); jsonTaskParam.put("table_fk", jsonTask.getString("table_fk")); @@ -171,6 +182,7 @@ public class TwoOutExceptionalTask extends AbstractAcsTask { json.put("task_code", IdUtil.getSnowflake(1, 1).nextId()); json.put("task_type", form.getString("task_type")); json.put("vehicle_code", form.getString("vehicle_code")); + json.put("vehicle_code2", form.getString("vehicle_code2")); json.put("task_status", TaskStatusEnum.START_AND_POINT.getCode()); json.put("point_code1", form.getString("start_device_code")); json.put("point_code2", form.getString("next_device_code")); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutHeapTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutHeapTask.java index 1217b4be8..c26339e40 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutHeapTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutHeapTask.java @@ -54,7 +54,7 @@ public class TwoOutHeapTask extends AbstractAcsTask { .task_type(json.getString("acs_task_type")) .start_device_code(json.getString("point_code1")) .next_device_code(json.getString("point_code2")) - .vehicle_code(json.getString("vehicle_code")) + .vehicle_code(json.getString("vehicle_code2")) .interaction_json(json.getJSONObject("request_param")) .priority(json.getString("priority")) .class_type(json.getString("task_type")) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutTask.java index b530d2f1d..25c481177 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoOutTask.java @@ -101,7 +101,7 @@ public class TwoOutTask extends AbstractAcsTask { .task_type(json.getString("acs_task_type")) .start_device_code(json.getString("point_code1")) .next_device_code(json.getString("point_code2")) - .vehicle_code(json.getString("vehicle_code")) + .vehicle_code(json.getString("vehicle_code2")) .interaction_json(json.getJSONObject("request_param")) .route_plan_code(getRoutePlanCode(json.getString("point_code1"))) .priority(json.getString("priority")) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvOutServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvOutServiceImpl.java index 99555408f..2fa1a0d5c 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvOutServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/impl/StIvtIostorinvOutServiceImpl.java @@ -1102,6 +1102,8 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl list = (ArrayList) whereJson.get("tableMater"); @@ -520,13 +522,20 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl executeArr = WQLObject.getWQLObject("SCH_BASE_Task") .query("handle_class = '" + TwoOutHeapTask.class.getName() + "' and task_status IN ('05','06') and is_delete = '0' " ) @@ -223,6 +226,13 @@ public class LashManageServiceImpl implements LashManageService { next_device_code = IOSEnum.OUT_HANGER.code("行架位2"); } + // 查询木箱对应的载具 + JSONObject jsonVeExt = extTab.query("pcsn = '" + whereJson.getString("vehicle_code") + "'") + .uniqueResult(0); + if (ObjectUtil.isEmpty(jsonVeExt)) { + throw new BadRequestException("此木箱没有绑定托盘号!"+whereJson.getString("vehicle_code")); + } + // 创建任务并下发 JSONObject jsonTaskParam = new JSONObject(); jsonTaskParam.put("task_type", "010720"); @@ -231,6 +241,7 @@ public class LashManageServiceImpl implements LashManageService { jsonTaskParam.put("task_group_id", whereJson.getString("task_group_id")); jsonTaskParam.put("point_code2", next_device_code); jsonTaskParam.put("vehicle_code", whereJson.getString("vehicle_code")); + jsonTaskParam.put("vehicle_code2", jsonVeExt.getString("storagevehicle_code")); jsonTaskParam.put("request_param", whereJson); TwoOutHeapTask bean = SpringContextHolder.getBean(TwoOutHeapTask.class); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBoxManageServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBoxManageServiceImpl.java index cf87b5822..9c94ad794 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBoxManageServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBoxManageServiceImpl.java @@ -71,6 +71,9 @@ public class OutBoxManageServiceImpl implements OutBoxManageService { WQLObject schBasePointService = WQLObject.getWQLObject("sch_base_point"); // 仓位表 WQLObject attrTab = WQLObject.getWQLObject("st_ivt_structattr"); + // 载具扩展属性表 + WQLObject veExtTab = WQLObject.getWQLObject("md_pb_storagevehicleext"); + whereJson.put("stor_id", IOSEnum.STOR_ID.code("二期")); whereJson.put("sect_id", RegionTypeEnum.TWO_BZC01.getId()); @@ -92,13 +95,20 @@ public class OutBoxManageServiceImpl implements OutBoxManageService { throw new BadRequestException("没有符合规格的木箱!"); } + // 查询木箱对应的托盘号 + JSONObject jsonVeExt = veExtTab.query("pcsn = '" + jsonAttr.getString("storagevehicle_code") + "'") + .uniqueResult(0); + if (ObjectUtil.isEmpty(jsonVeExt)) { + throw new BadRequestException("此木箱没有绑定托盘号!"+jsonAttr.getString("storagevehicle_code")); + } + // 生成任务 JSONObject jsonTaskParam = new JSONObject(); jsonTaskParam.put("task_type", "010704"); jsonTaskParam.put("start_device_code", jsonAttr.getString("struct_code")); jsonTaskParam.put("next_device_code", whereJson.getString("device_code")); jsonTaskParam.put("vehicle_code", jsonAttr.getString("storagevehicle_code")); - + jsonTaskParam.put("vehicle_code2", jsonVeExt.getString("storagevehicle_code")); jsonTaskParam.put("task_group_id", jsonAttr.getString("task_group_id")); JSONObject request_param = new JSONObject(); request_param.put("containerType", jsonAttr.getString("storagevehicle_type")); @@ -534,6 +544,8 @@ public class OutBoxManageServiceImpl implements OutBoxManageService { */ private String createBoxMove(JSONObject jsonObject) { WQLObject attrTab = WQLObject.getWQLObject("st_ivt_structattr"); + // 载具扩展属性表 + WQLObject extTab = WQLObject.getWQLObject("md_pb_storagevehicleext"); // 找一个空的仓位 JSONObject paramIn = new JSONObject(); @@ -557,12 +569,20 @@ public class OutBoxManageServiceImpl implements OutBoxManageService { jsonAttr.put("lock_type", IOSEnum.LOCK_TYPE.code("移入锁")); attrTab.update(jsonAttr); + // 查询木箱对应的载具 + JSONObject jsonVeExt = extTab.query("pcsn = '" + jsonObject.getString("storagevehicle_code") + "'") + .uniqueResult(0); + if (ObjectUtil.isEmpty(jsonVeExt)) { + throw new BadRequestException("此木箱没有绑定托盘号!"+jsonObject.getString("storagevehicle_code")); + } + // 生成任务 JSONObject jsonTaskParam = new JSONObject(); - jsonTaskParam.put("task_type", "010505"); + jsonTaskParam.put("task_type", "010709"); jsonTaskParam.put("start_device_code", jsonObject.getString("struct_code")); jsonTaskParam.put("next_device_code", jsonAttr.getString("struct_code")); jsonTaskParam.put("vehicle_code", jsonObject.getString("storagevehicle_code")); + jsonTaskParam.put("vehicle_code2", jsonVeExt.getString("storagevehicle_code")); jsonTaskParam.put("task_group_id", IdUtil.getLongId()); TwoMoveBoxTask taskBan = new TwoMoveBoxTask(); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBussManageServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBussManageServiceImpl.java index 3385a6513..34d4f5775 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBussManageServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/OutBussManageServiceImpl.java @@ -341,6 +341,8 @@ public class OutBussManageServiceImpl implements OutBussManageService { //物料表 WQLObject materTab = WQLObject.getWQLObject("md_me_materialbase"); + // 载具扩展属性表 + WQLObject extTab = WQLObject.getWQLObject("md_pb_storagevehicleext"); // 获取子卷包装集合 String vehilcle_in = list.stream() @@ -445,10 +447,18 @@ public class OutBussManageServiceImpl implements OutBussManageService { jsonMoveDtl.put("turnin_struct_code", jsonMove.getString("struct_code")); jsonMoveDtl.put("turnin_struct_name", jsonMove.getString("struct_name")); + // 查询木箱对应的载具 + JSONObject jsonVeExt = extTab.query("pcsn = '" + json.getString("storagevehicle_code") + "'") + .uniqueResult(0); + if (ObjectUtil.isEmpty(jsonVeExt)) { + throw new BadRequestException("此木箱没有绑定托盘号!"+json.getString("storagevehicle_code")); + } + // 生成任务 JSONObject param2 = new JSONObject(); param2.put("task_type", "010709"); param2.put("vehicle_code", json.getString("storagevehicle_code")); + param2.put("vehicle_code2", jsonVeExt.getString("storagevehicle_code")); param2.put("point_code1", json.getString("struct_code")); param2.put("point_code2", jsonMove.getString("struct_code")); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/service/InBoxManageService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/service/InBoxManageService.java index 04332288a..b21ac6d2d 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/service/InBoxManageService.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/service/InBoxManageService.java @@ -46,6 +46,13 @@ public interface InBoxManageService { */ JSONObject taskExceptional(JSONObject jsonObject); + /** + * 成品退货入库 + * @param whereJson ; { + * box_no: 木箱号 + * vehicle_code: 载具号 + * } + */ void returnIn(JSONObject whereJson); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/service/OutBoxManageService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/service/OutBoxManageService.java index fee13efa1..e83e0ff68 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/service/OutBoxManageService.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/service/OutBoxManageService.java @@ -20,6 +20,7 @@ public interface OutBoxManageService { * box_width: 宽 * box_high: 高 * num: 子卷数 + * @return String:木箱号 * } */ String outBox(JSONObject whereJson); diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/task/HandMoveStorAcsTask.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/task/HandMoveStorAcsTask.java index 5c593cfd7..fa713cb72 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/task/HandMoveStorAcsTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/instor/task/HandMoveStorAcsTask.java @@ -60,6 +60,12 @@ public class HandMoveStorAcsTask extends AbstractAcsTask { .dtl_type(String.valueOf(dtl_type)) .remark(json.getString("remark")) .build(); + + // 如果是二期转库任务则下发托盘 + if (json.getString("task_type").equals("010709")) { + dto.setVehicle_code(json.getString("vehicle_code2")); + } + resultList.add(dto); json.put("task_status", TaskStatusEnum.ISSUE.getCode()); WQLObject.getWQLObject("SCH_BASE_Task").update(json); @@ -130,6 +136,7 @@ public class HandMoveStorAcsTask extends AbstractAcsTask { json.put("task_type", form.getString("task_type")); json.put("vehicle_code", form.getString("vehicle_code")); + json.put("vehicle_code2", form.getString("vehicle_code2")); json.put("task_name", form.getString("task_name")); json.put("point_code1", form.getString("point_code1")); json.put("point_code2", form.getString("point_code2")); From f10d468c219aae7e741fd7f455ee7f0e8324c583 Mon Sep 17 00:00:00 2001 From: gongbaoxiong <751575283@qq.com> Date: Tue, 2 Jul 2024 14:00:34 +0800 Subject: [PATCH 5/8] =?UTF-8?q?opt:=E4=BC=98=E5=8C=96=E5=AD=90=E5=8D=B7?= =?UTF-8?q?=E6=8C=89=E5=AD=90=E5=8D=B7=E8=A7=84=E6=A0=BC=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dao/mapper/PdmBiSubpackagerelationMapper.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/dao/mapper/PdmBiSubpackagerelationMapper.xml b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/dao/mapper/PdmBiSubpackagerelationMapper.xml index b92899986..3149a4777 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/dao/mapper/PdmBiSubpackagerelationMapper.xml +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pdm/subpackagerelation/dao/mapper/PdmBiSubpackagerelationMapper.xml @@ -84,7 +84,7 @@ WHERE b.point_status = '3' AND b.ivt_status = '3' AND a.sale_order_name = #{sale_order_name} - ORDER BY box_group DESC + ORDER BY paper_tube_description From 90572dc622b23edf2a36f9e8277d08c7baf13a20 Mon Sep 17 00:00:00 2001 From: liuxy Date: Tue, 2 Jul 2024 14:02:15 +0800 Subject: [PATCH 6/8] =?UTF-8?q?rev=EF=BC=9A=E5=A2=9E=E5=8A=A0=E6=8D=86?= =?UTF-8?q?=E6=89=8E=E7=9B=B8=E5=85=B3=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/org/nl/b_lms/sch/tasks/TwoLashTask.java | 9 +++++++++ .../main/java/org/nl/b_lms/sch/tasks/TwoSendOutTask.java | 3 +++ .../iostorInv/util/impl/LashManageServiceImpl.java | 9 +++++++++ 3 files changed, 21 insertions(+) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoLashTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoLashTask.java index bd9c8f11d..66a9ad816 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoLashTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoLashTask.java @@ -106,10 +106,19 @@ public class TwoLashTask extends AbstractAcsTask { interaction_json.put("weight", dao.get(0).getBox_width()); interaction_json.put("height", dao.get(0).getBox_high()); // 捆扎模版 + if (ObjectUtil.isEmpty(boxTypeDao.getLash_num())) { + throw new BadRequestException("捆扎模版不能为空!"); + } interaction_json.put("template", boxTypeDao.getLash_num()); // 第二次捆扎次数 + if (ObjectUtil.isEmpty(boxTypeDao.getLash_num_tow())) { + throw new BadRequestException("第二次捆扎数不能为空!"); + } interaction_json.put("bindingTimes", boxTypeDao.getLash_num_tow()); // 是否二次捆扎 + if (ObjectUtil.isEmpty(boxTypeDao.getNeed_lash_two())) { + throw new BadRequestException("是否第二次捆扎不能为空!"); + } interaction_json.put("isBinding", boxTypeDao.getNeed_lash_two()); char dtl_type = json.getString("task_type").charAt(json.getString("task_type").length() - 1); AcsTaskDto dto = AcsTaskDto.builder() diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoSendOutTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoSendOutTask.java index 065a7faa8..3832da6d9 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoSendOutTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoSendOutTask.java @@ -84,6 +84,9 @@ public class TwoSendOutTask extends AbstractAcsTask { if (ObjectUtil.isEmpty(boxTypeDao)) { throw new BadRequestException("木箱类型信息不存在!木箱料号为:"+boxDao.getMaterial_code()); } + if (ObjectUtil.isEmpty(boxTypeDao.getExpend_width())) { + throw new BadRequestException("货叉放货宽度不能为空!"); + } param.put("expandWidthLength",boxTypeDao.getExpend_width()); char dtl_type = json.getString("task_type").charAt(json.getString("task_type").length() - 1); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/LashManageServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/LashManageServiceImpl.java index 94d100b38..9b20d7b71 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/LashManageServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/ios/service/iostorInv/util/impl/LashManageServiceImpl.java @@ -275,18 +275,27 @@ public class LashManageServiceImpl implements LashManageService { result.put("height", boxDao.getBox_high()); result.put("case", boxDao.getMaterial_code()); // 是否捆扎 + if (ObjectUtil.isEmpty(boxTypeDao.getNeed_lash_one())) { + throw new BadRequestException("第一次是否捆扎不能为空!"); + } result.put("isBinding", boxTypeDao.getNeed_lash_one()); // TODO 是否贴标 result.put("isLabeling", IOSEnum.IS_SEND.code("否")); // TODO 贴标模版 result.put("labelingTemplate", boxDao.getLash_num()); // 捆扎模板 + if (ObjectUtil.isEmpty(boxTypeDao.getLash_num())) { + throw new BadRequestException("捆扎模版不能为空!"); + } result.put("bindingTemplate", boxTypeDao.getLash_num()); // TODO 打印机 result.put("printDevice", "1"); // TODO 贴标数量 result.put("printQty", "1"); // 第一次捆扎次数 + if (ObjectUtil.isEmpty(boxTypeDao.getLash_num_one())) { + throw new BadRequestException("第一次捆扎数量不能为空!"); + } result.put("bundleTimes", boxTypeDao.getLash_num_one()); return result; From 2de875acd01deb6399f2ba07342dbbc8c9af1b4d Mon Sep 17 00:00:00 2001 From: liuxy Date: Tue, 2 Jul 2024 14:03:20 +0800 Subject: [PATCH 7/8] =?UTF-8?q?rev=EF=BC=9A=E5=A2=9E=E5=8A=A0=E6=8D=86?= =?UTF-8?q?=E6=89=8E=E7=9B=B8=E5=85=B3=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/org/nl/b_lms/sch/tasks/TwoLashTask.java | 1 + 1 file changed, 1 insertion(+) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoLashTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoLashTask.java index 66a9ad816..792928ff0 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoLashTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/TwoLashTask.java @@ -114,6 +114,7 @@ public class TwoLashTask extends AbstractAcsTask { if (ObjectUtil.isEmpty(boxTypeDao.getLash_num_tow())) { throw new BadRequestException("第二次捆扎数不能为空!"); } + interaction_json.put("bindingTimes", boxTypeDao.getLash_num_tow()); // 是否二次捆扎 if (ObjectUtil.isEmpty(boxTypeDao.getNeed_lash_two())) { From 03a94a7179937df4ee2831aa9b4761f43a64f2ed Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Tue, 2 Jul 2024 15:37:10 +0800 Subject: [PATCH 8/8] =?UTF-8?q?fix:=20=E5=91=BC=E5=8F=AB=E6=B0=94=E8=83=80?= =?UTF-8?q?=E8=BD=B4=E6=9F=A5=E8=AF=A2acs=EF=BC=8C=E6=B0=94=E8=83=80?= =?UTF-8?q?=E8=BD=B4=E5=BA=93=E6=B2=A1=E8=B4=A7=E5=88=99=E7=94=9F=E6=88=90?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dao/mapper/BstIvtShafttubeivtMapper.java | 4 ++- .../dao/mapper/BstIvtShafttubeivtMapper.xml | 4 ++- .../slitter/auto/AutoCallAirShaftTask.java | 35 +++++++++++-------- .../tasks/slitter/service/SlitterService.java | 7 ++++ .../service/impl/SlitterServiceImpl.java | 34 ++++++++++++++++++ .../src/test/java/org/nl/init/EventTest.java | 13 ++++++- 6 files changed, 80 insertions(+), 17 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/shafttubeivt/service/dao/mapper/BstIvtShafttubeivtMapper.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/shafttubeivt/service/dao/mapper/BstIvtShafttubeivtMapper.java index 7ecef895c..029d4d16b 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/shafttubeivt/service/dao/mapper/BstIvtShafttubeivtMapper.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/shafttubeivt/service/dao/mapper/BstIvtShafttubeivtMapper.java @@ -23,7 +23,9 @@ public interface BstIvtShafttubeivtMapper extends BaseMapper * @param location 位置(上下) * @return / */ - List getNotTaskShaftCache(String qzzSize, String specification, String location); + List getNotTaskShaftCache(@Param("qzzSize") String qzzSize, + @Param("specification") String specification, + @Param("location") String location); /** * 获取空气胀轴的气胀轴暂存位 diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/shafttubeivt/service/dao/mapper/BstIvtShafttubeivtMapper.xml b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/shafttubeivt/service/dao/mapper/BstIvtShafttubeivtMapper.xml index 1d497c5ad..b8225bd44 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/shafttubeivt/service/dao/mapper/BstIvtShafttubeivtMapper.xml +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/shafttubeivt/service/dao/mapper/BstIvtShafttubeivtMapper.xml @@ -29,7 +29,9 @@ WHERE b.have_qzz = '1' AND b.point_type = '6' AND b.qzz_size = #{qzzSize} - AND b.qzz_generation = #{specification} + + AND b.qzz_generation = #{specification} + AND b.point_location = #{location} AND 0 = (SELECT COUNT(*) FROM sch_base_task t WHERE t.task_status '07' AND t.point_code1 = b.point_code) ORDER BY b.sort_seq DESC diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoCallAirShaftTask.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoCallAirShaftTask.java index d20d04be2..a767381ad 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoCallAirShaftTask.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/auto/AutoCallAirShaftTask.java @@ -301,30 +301,37 @@ public class AutoCallAirShaftTask { throw new BadRequestException("气胀轴库找不到[" + qzzSize + "]规格的气涨轴"); } BstIvtShafttubeivt shafttubeivt = shafttubeivts.get(0); - // todo: 访问acs判断有无气涨轴 - JSONArray acsParam = new JSONArray(); - JSONObject acsQzz = new JSONObject(); - acsQzz.put("device_code", shafttubeivt.getPoint_code()); - acsQzz.put("code", "to_command"); - acsQzz.put("value", "1"); - acsQzz.put("product_area", SlitterConstant.SLITTER_TASK_AREA); - acsParam.add(acsQzz); - wmsToAcsService.action(acsParam); + // 访问acs判断有无气涨轴 + JSONArray array = new JSONArray(); + JSONObject device = new JSONObject(); + device.put("device_code", shafttubeivt.getPoint_code()); + array.add(device); + JSONObject pointStatus = wmsToAcsService.getPointStatus(array); + if (pointStatus.getInteger("qty") == 0) { + // 没有货 + toCreatShaftCacheTask(qzzSize, location, empty); + } else { + JSONArray acsParam = new JSONArray(); + JSONObject acsQzz = new JSONObject(); + acsQzz.put("device_code", shafttubeivt.getPoint_code()); + acsQzz.put("code", "to_command"); + acsQzz.put("value", "1"); + acsQzz.put("product_area", SlitterConstant.SLITTER_TASK_AREA); + acsParam.add(acsQzz); + wmsToAcsService.action(acsParam); + } } /** - * todo: 预留 * 创建气涨轴缓存的桁架任务 * * @param qzzSize 气涨轴尺寸 - * @param specification 标箔、锂电(1,2) * @param location 位置:上半部分还是下半部分 * @param empty 套拔轴点位 */ - @Deprecated - private void toCreatShaftCacheTask(String qzzSize, String specification, String location, BstIvtShafttubeivt empty) { + private void toCreatShaftCacheTask(String qzzSize, String location, BstIvtShafttubeivt empty) { // 获取气涨轴缓存没有任务的点位 - List shafttubeivts = bstIvtShafttubeivtService.getNotTaskShaftCache(qzzSize, specification, location); + List shafttubeivts = bstIvtShafttubeivtService.getNotTaskShaftCache(qzzSize, empty.getQzz_generation(), location); if (shafttubeivts.size() == 0) { throw new BadRequestException("未找到气涨轴规格「" + qzzSize + "」的暂存位"); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/SlitterService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/SlitterService.java index 2d2f4513d..36e4cbdab 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/SlitterService.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/SlitterService.java @@ -44,6 +44,13 @@ public interface SlitterService { */ JSONObject acsSendShaftToCache(JSONObject param); + /** + * ACS申请从气涨轴暂存位呼叫气胀轴 + * @param param / + * @return / + */ + JSONObject acsCallShaftFromCache(JSONObject param); + /** * 分切机下料 * @param param diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/impl/SlitterServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/impl/SlitterServiceImpl.java index e96daf720..d6f543da3 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/impl/SlitterServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/sch/tasks/slitter/service/impl/SlitterServiceImpl.java @@ -399,6 +399,40 @@ public class SlitterServiceImpl implements SlitterService { return res; } + @Override + public JSONObject acsCallShaftFromCache(JSONObject param) { + log.info("ACS申请从气涨轴暂存位呼叫气胀轴的输入参数为:{}", param); + JSONObject res = new JSONObject(); + String deviceCode = param.getString("device_code"); + String qzzSize = param.getString("size"); + // 判断是否有未完成的任务 + List list = taskService.list(new LambdaQueryWrapper() + .eq(SchBaseTask::getPoint_code1, deviceCode) + .lt(SchBaseTask::getTask_status, "07")); + if (list.size() > 0) { + throw new BadRequestException("点位[" + deviceCode + "]存在未完成得任务!"); + } + BstIvtShafttubeivt startPoint = shafttubeivtService.getByPointCode(deviceCode, false); + // 获取气涨轴缓存没有任务的点位 + List shafttubeivts = shafttubeivtService.getNotTaskShaftCache(qzzSize, + startPoint.getQzz_generation(), startPoint.getPoint_location()); + if (shafttubeivts.size() == 0) { + throw new BadRequestException("未找到气涨轴规格「" + qzzSize + "」的暂存位"); + } + BstIvtShafttubeivt shafttubeivt = shafttubeivts.get(0); + JSONObject taskParam = new JSONObject(); + taskParam.put("point_code1", shafttubeivt.getPoint_code()); + taskParam.put("point_code2", startPoint.getPoint_code()); + taskParam.put("is_bushing", SlitterConstant.SLITTER_YES); + taskParam.put("task_type", SlitterEnum.TASK_TYPE.code("穿拔轴位<>气胀轴缓存位")); + taskParam.put("product_area", SlitterConstant.SLITTER_TASK_AREA); + taskParam.put("qzz_size", qzzSize); + trussCallShaftCacheTask.createTask(taskParam); + res.put("status", HttpStatus.HTTP_OK); + res.put("message", "请求成功"); + return res; + } + @SneakyThrows @Override // @Transactional(rollbackFor = Exception.class) diff --git a/lms/nladmin-system/src/test/java/org/nl/init/EventTest.java b/lms/nladmin-system/src/test/java/org/nl/init/EventTest.java index fa0744316..47fa86d64 100644 --- a/lms/nladmin-system/src/test/java/org/nl/init/EventTest.java +++ b/lms/nladmin-system/src/test/java/org/nl/init/EventTest.java @@ -9,6 +9,8 @@ import org.apache.commons.lang3.StringUtils; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; +import org.nl.b_lms.bst.ivt.shafttubeivt.service.dao.BstIvtShafttubeivt; +import org.nl.b_lms.bst.ivt.shafttubeivt.service.dao.mapper.BstIvtShafttubeivtMapper; import org.nl.b_lms.pdm.subpackagerelation.dao.PdmBiSubpackagerelation; import org.nl.b_lms.pdm.subpackagerelation.dao.mapper.PdmBiSubpackagerelationMapper; import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt; @@ -19,6 +21,7 @@ import org.nl.common.enums.ContainerLevelEnum; import org.nl.common.enums.PackageInfoIvtEnum; import org.nl.modules.common.exception.BadRequestException; import org.nl.system.service.param.ISysParamService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit.jupiter.SpringExtension; @@ -29,8 +32,8 @@ import java.util.stream.Stream; @Slf4j @ExtendWith(SpringExtension.class) -@SpringBootTest @DisplayName("event test") +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) public class EventTest { @Resource @@ -57,6 +60,14 @@ public class EventTest { @Resource private PdmBiSubpackagerelationMapper pdmBiSubpackagerelationMapper; + @Autowired + private BstIvtShafttubeivtMapper bstIvtShafttubeivtMapper; + + @Test + public void sl() { + List notTaskShaftCache = bstIvtShafttubeivtMapper.getNotTaskShaftCache("3", "4", "0"); + System.out.println(notTaskShaftCache); + } /** * 装箱区->空载具缓存位补空