From c8bdb72dbfe1602ddf46a43fbf7ed0d272c614d6 Mon Sep 17 00:00:00 2001 From: gongbaoxiong <751575283@qq.com> Date: Wed, 25 Mar 2026 15:17:57 +0800 Subject: [PATCH] =?UTF-8?q?rev:=E6=B3=A8=E9=87=8A=E4=B8=8D=E5=BF=85?= =?UTF-8?q?=E8=A6=81=E7=9A=84=E6=97=A5=E5=BF=97=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../agv/server/impl/NDCAgvServiceImpl.java | 1 - .../run/OneNDCSocketConnectionAutoRun.java | 44 +++--- .../agv/ndcone/AgvNdcOneDeviceDriver.java | 19 +-- .../tianneng/site/SiteDeviceDriver.java | 2 - .../main/resources/config/application-dev.yml | 14 +- .../src/main/resources/config/application.yml | 2 +- .../log/OneNDCSocketConnectionAutoRun.xml | 4 - .../src/main/resources/logback-spring.xml | 17 +-- acs/nladmin-ui/public/config.js | 4 +- .../acs/service/impl/AcsToWmsServiceImpl.java | 19 ++- .../task/tasks/auto/GHCMLTask.java | 133 ++++++++++-------- .../main/resources/config/application-dev.yml | 22 ++- .../src/main/resources/logback-spring.xml | 2 +- 13 files changed, 122 insertions(+), 161 deletions(-) diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/server/impl/NDCAgvServiceImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/server/impl/NDCAgvServiceImpl.java index d6abfb0..ee9147e 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/server/impl/NDCAgvServiceImpl.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/agv/server/impl/NDCAgvServiceImpl.java @@ -245,7 +245,6 @@ public class NDCAgvServiceImpl implements NDCAgvService { }; log.info("下发AGV充电任务--{}", str1); - try{ OneNDCSocketConnectionAutoRun.write(b); } catch (Exception e){ diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/run/OneNDCSocketConnectionAutoRun.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/run/OneNDCSocketConnectionAutoRun.java index 1a03ffe..42444f6 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/run/OneNDCSocketConnectionAutoRun.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/auto/run/OneNDCSocketConnectionAutoRun.java @@ -14,11 +14,11 @@ import org.nl.acs.instruction.service.InstructionService; import org.nl.acs.instruction.service.impl.InstructionServiceImpl; import org.nl.acs.log.service.DeviceExecuteLogService; import org.nl.acs.opc.DeviceAppService; +import org.nl.config.SpringContextHolder; import org.nl.system.service.dict.ISysDictService; import org.nl.system.service.dict.dao.Dict; import org.nl.system.service.lucene.LuceneExecuteLogService; import org.nl.system.service.param.ISysParamService; -import org.nl.config.SpringContextHolder; import org.nl.system.service.param.impl.SysParamServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; @@ -187,45 +187,33 @@ public class OneNDCSocketConnectionAutoRun extends AbstractAutoRunnable { //任务删除确认 //(需要WCS反馈) else if (phase == 0xFF) { - if (!ObjectUtil.isEmpty(inst)) { if (!ObjectUtil.isEmpty(inst)) { instructionService.cancelNOSendAgv(inst.getInstruction_id()); } } data = NDCAgvService.sendAgvOneModeInst(phase, index, 0, 0, 0, 0, 0); - //充电任务下发成功上报 - }else if (phase == 0x64){ - log.info("AGV车号{}反馈充电任务下发成功,锁定充电桩{}",agvaddr,station); - List dictList= dictService.getDictByName("station"); - for(Dict dict : dictList){ - if (Integer.parseInt(dict.getPara1())==station){ + } else if (phase == 0x64) { + log.info("充电任务,NDC反馈phase值64,AGV车号{}充电任务下发成功,锁定充电桩{}", agvaddr, station); + List dictList = dictService.getDictByName("station"); + for (Dict dict : dictList) { + if (Integer.parseInt(dict.getPara1()) == station) { dict.setValue("1"); dict.setPara2(String.valueOf(agvaddr)); dictService.updateDetail(dict); break; } } - //充电成功 - }else if (phase == 0x65){ - log.info("AGV车号{}反馈充电中,充电桩{}",agvaddr,station); -// log.info("AGV车号{}反馈充电成功,释放充电桩{}",agvaddr,station); -// List dictList= dictService.getDictByName("station"); -// for(Dict dict : dictList){ -// if (Integer.parseInt(dict.getPara1())==station){ -// dict.setValue("0"); -// dict.setPara2(""); -// dictService.updateDetail(dict); -// break; -// } -// } + //充电中 + } else if (phase == 0x65) { + log.info("充电任务,NDC反馈phase值65,AGV车号{}状态为正在充电中,占用充电桩{}值为1", agvaddr, station); //充电取消上报 - }else if (phase == 0x66){ - log.info("AGV车号{}反馈充电任务已取消,释放充电桩{}",agvaddr,station); - List dictList= dictService.getDictByName("station"); - for(Dict dict : dictList){ - if (Integer.parseInt(dict.getPara1())==station){ + } else if (phase == 0x66) { + log.info("充电任务,NDC反馈phase值66,AGV车号{}充电任务完成或已手动取消,释放充电桩{}值为0", agvaddr, station); + List dictList = dictService.getDictByName("station"); + for (Dict dict : dictList) { + if (Integer.parseInt(dict.getPara1()) == station) { dict.setValue("0"); dict.setPara2(""); dictService.updateDetail(dict); @@ -235,8 +223,8 @@ public class OneNDCSocketConnectionAutoRun extends AbstractAutoRunnable { } else { //上报异常信息 //(不需要WCS反馈) - if (phase == 0x67 ||phase == 0x70 || phase == 0x71 || phase == 0x72 || phase == 0x73 || phase == 0x74) { - device = deviceAppService.findDeviceByCode("AGV0" +agvaddr); + if (phase == 0x67 || phase == 0x70 || phase == 0x71 || phase == 0x72 || phase == 0x73 || phase == 0x74) { + device = deviceAppService.findDeviceByCode("AGV0" + agvaddr); } else { device = deviceAppService.findDeviceByCode("AGV0" + Integer.toString(arr[20])); } diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java index c3a5703..8ffddd6 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/agv/ndcone/AgvNdcOneDeviceDriver.java @@ -324,28 +324,15 @@ public class AgvNdcOneDeviceDriver extends AbstractDeviceDriver implements Devic SiteDeviceDriver siteDeviceDriver = (SiteDeviceDriver) device.getDeviceDriver(); try { siteDeviceDriver.writing(12); - siteDeviceDriver.writing(12); - siteDeviceDriver.writing(12); - siteDeviceDriver.writing(12); - siteDeviceDriver.writing(12); - siteDeviceDriver.writing(12); - siteDeviceDriver.writing(12); - siteDeviceDriver.writing(12); - siteDeviceDriver.writing(12); - siteDeviceDriver.writing(12); - log.error("tofix子母车放货完成,离开,写入{}输送线信号:12成功!", siteDeviceDriver.getDeviceCode()); + log.error("子母车放货完成,离开,写入{}输送线信号:12成功!", siteDeviceDriver.getDeviceCode()); } catch (Exception e) { for (int i = 0; i < 15; i++) { try { siteDeviceDriver.writing(12); - siteDeviceDriver.writing(12); - siteDeviceDriver.writing(12); - siteDeviceDriver.writing(12); - siteDeviceDriver.writing(12); - log.error("tofix子母车放货完成,离开,写入{}输送线信号:12失败,再次写入,成功!{}{}", siteDeviceDriver.getDeviceCode(), e, e.getMessage()); + log.error("子母车放货完成,离开,写入{}输送线信号:12失败,再次写入,成功!{}{}", siteDeviceDriver.getDeviceCode(), e, e.getMessage()); return; } catch (Exception e1) { - log.error("tofix子母车放货完成,离开,写入{}输送线信号:12失败:{}{}", siteDeviceDriver.getDeviceCode(), e, e.getMessage()); + log.error("子母车放货完成,离开,写入{}输送线信号:12失败:{}{}", siteDeviceDriver.getDeviceCode(), e, e.getMessage()); } } } diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/tianneng/site/SiteDeviceDriver.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/tianneng/site/SiteDeviceDriver.java index 227aed8..3cda245 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/tianneng/site/SiteDeviceDriver.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/tianneng/site/SiteDeviceDriver.java @@ -289,8 +289,6 @@ public class SiteDeviceDriver extends AbstractOpcDeviceDriver implements DeviceD public void writing(int command) { String to_command = this.getDevice().getOpc_server_code() + "." + this.getDevice().getOpc_plc_code() + "." + this.getDevice().getDevice_code() + "." + ItemProtocol.item_to_command; - //String opcservcerid = this.getDevice().getOpc_server_id(); - //Server server = ReadUtil.getServer(opcservcerid); Map itemMap = new HashMap(); itemMap.put(to_command, command); this.control(itemMap); diff --git a/acs/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml b/acs/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml index 957c25a..7e80430 100644 --- a/acs/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml +++ b/acs/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml @@ -6,10 +6,10 @@ spring: druid: db-type: com.alibaba.druid.pool.DruidDataSource driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy -# url: jdbc:log4jdbc:mysql://${DB_HOST:192.168.81.252}:${DB_PORT:3306}/${DB_NAME:stand_acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true - url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:acs_xftn}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true + # url: jdbc:log4jdbc:mysql://${DB_HOST:192.168.81.252}:${DB_PORT:3306}/${DB_NAME:stand_acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true + url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:acs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true&useOldAliasMetadataBehavior=true username: ${DB_USER:root} -# password: ${DB_PWD:Root.123456} + # password: ${DB_PWD:Root.123456} password: ${DB_PWD:123456} # 初始连接数 initial-size: 5 @@ -72,8 +72,8 @@ spring: redis: #数据库索引 database: ${REDIS_DB:2} -# host: ${REDIS_HOST:10.44.101.19} - host: ${REDIS_HOST:127.0.0.1} + host: ${REDIS_HOST:10.44.101.19} + # host: ${REDIS_HOST:127.0.0.1} port: ${REDIS_PORT:6379} # password: ${REDIS_PWD:} @@ -166,13 +166,13 @@ sa-token: # ---- 除了以上配置项,你还需要为 Sa-Token 配置http请求处理器(文档有步骤说明) is-read-cookie: true is-print: false -# 未登录 StpUtil.getTokenSession() 设置值,获取值 @SaIgnore 得忽略接口 + # 未登录 StpUtil.getTokenSession() 设置值,获取值 @SaIgnore 得忽略接口 token-session-check-login: false alone-redis: # Redis数据库索引(默认为0) database: 2 # Redis服务器地址 - host: 127.0.0.1 + host: 10.44.101.19 # Redis服务器连接端口 port: 6379 # Redis服务器连接密码(默认为空) diff --git a/acs/nladmin-system/nlsso-server/src/main/resources/config/application.yml b/acs/nladmin-system/nlsso-server/src/main/resources/config/application.yml index a7f13c7..0e52b7e 100644 --- a/acs/nladmin-system/nlsso-server/src/main/resources/config/application.yml +++ b/acs/nladmin-system/nlsso-server/src/main/resources/config/application.yml @@ -2,7 +2,7 @@ spring: freemarker: check-template-location: false profiles: - active: prod + active: dev jackson: time-zone: GMT+8 data: diff --git a/acs/nladmin-system/nlsso-server/src/main/resources/log/OneNDCSocketConnectionAutoRun.xml b/acs/nladmin-system/nlsso-server/src/main/resources/log/OneNDCSocketConnectionAutoRun.xml index fe51913..2354a2d 100644 --- a/acs/nladmin-system/nlsso-server/src/main/resources/log/OneNDCSocketConnectionAutoRun.xml +++ b/acs/nladmin-system/nlsso-server/src/main/resources/log/OneNDCSocketConnectionAutoRun.xml @@ -22,10 +22,6 @@ - - diff --git a/acs/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml b/acs/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml index 366d5a4..2e6a523 100644 --- a/acs/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml +++ b/acs/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml @@ -1,23 +1,11 @@ - - nlAdmin - - - - + @@ -25,6 +13,7 @@ https://juejin.cn/post/6844903775631572999 + @@ -44,7 +33,7 @@ https://juejin.cn/post/6844903775631572999 15 - 100MB + 60MB 20GB diff --git a/acs/nladmin-ui/public/config.js b/acs/nladmin-ui/public/config.js index ce71425..441302a 100644 --- a/acs/nladmin-ui/public/config.js +++ b/acs/nladmin-ui/public/config.js @@ -1,9 +1,9 @@ window.g = { dev: { - VUE_APP_BASE_API: 'http://127.0.0.1:8011' + VUE_APP_BASE_API: 'http://127.0.0.1:8010' }, prod: { - VUE_APP_BASE_API: 'http://127.0.0.1:8011' + VUE_APP_BASE_API: 'http://127.0.0.1:8010' } } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java index c7a4335..c2936c5 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/ext/acs/service/impl/AcsToWmsServiceImpl.java @@ -4,7 +4,6 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.http.HttpStatus; -import cn.hutool.json.JSONUtil; import com.alibaba.fastjson.JSONObject; import lombok.extern.slf4j.Slf4j; import org.nl.common.exception.BadRequestException; @@ -110,8 +109,6 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { AbstractTask task = taskFactory.getTask(requestMethodCode); // 执行创建任务 task.apply(param); - // acs对接记录 - interactRecordService.saveRecord(requestMethodCode, param, result, GeneralDefinition.ACS_LMS); } catch (Exception e) { String message = e.getMessage(); log.error("ACS请求LMS出现错误,acsApply请求参数为:{},错误信息为:{},{}", param, e, message); @@ -121,6 +118,8 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { // 消息通知 noticeService.createNotice("异常信息:" + message, device_code, NoticeTypeEnum.EXCEPTION.getCode()); } + // acs对接记录 + interactRecordService.saveRecord(requestMethodCode, param, result, GeneralDefinition.ACS_LMS); return result; } @@ -244,19 +243,17 @@ public class AcsToWmsServiceImpl implements AcsToWmsService { // id / code String pointCode = task1.againApply(task.getString("task_id")); result.setNext_point_code(pointCode); - // acs对接记录 - interactRecordService.saveRecord(task.getString("request_method_name"), task, result, GeneralDefinition.ACS_LMS); } catch (Exception e) { - String message = ObjectUtil.isEmpty(e.getMessage()) - ? ((InvocationTargetException) e).getTargetException().getMessage() - : e.getMessage(); - log.error("ACS请求LMS出现错误,againApply请求参数为:{},错误信息为:{},{}",task,e, message); - // 消息通知 - noticeService.createNotice("ACS请求LMS出现错误,againApply二次请求任务信息:" + JSONObject.toJSONString(task), task2.getConfig_code(), NoticeTypeEnum.EXCEPTION.getCode()); + String message = e.getMessage(); + log.error("ACS请求LMS出现错误,againApply请求参数为:{},错误信息为:{},{}", task, e, message); + noticeService.createNotice("ACS请求LMS出现错误,againApply二次请求任务信息:" + JSONObject.toJSONString(task), + task2.getConfig_code(), NoticeTypeEnum.EXCEPTION.getCode()); result.setCode(HttpStatus.HTTP_BAD_REQUEST); result.setMessage(message); result.setRequestNo(task.getString("requestNo")); } + // acs对接记录 + interactRecordService.saveRecord(task.getString("request_method_name"), task, result, GeneralDefinition.ACS_LMS); return result; } diff --git a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/auto/GHCMLTask.java b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/auto/GHCMLTask.java index 7669d3f..19ecb33 100644 --- a/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/auto/GHCMLTask.java +++ b/lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/auto/GHCMLTask.java @@ -26,6 +26,7 @@ import org.nl.wms.sch.task.service.dao.SchBaseTaskconfig; import org.nl.wms.sch.task_manage.AbstractTask; import org.nl.wms.sch.task_manage.GeneralDefinition; import org.nl.wms.sch.task_manage.enums.GroupBindMaterialStatusEnum; +import org.nl.wms.sch.task_manage.enums.NoticeTypeEnum; import org.nl.wms.sch.task_manage.enums.PointStatusEnum; import org.nl.wms.sch.task_manage.enums.TaskFinishedTypeEnum; import org.nl.wms.sch.task_manage.task.TaskFactory; @@ -41,7 +42,6 @@ import org.springframework.stereotype.Component; import javax.annotation.Resource; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; -import java.time.temporal.ChronoUnit; import java.util.Arrays; import java.util.List; import java.util.concurrent.TimeUnit; @@ -191,23 +191,23 @@ public class GHCMLTask extends AbstractTask { // 多个数据选择一个:Limit 1, 还需要考虑任务数,尽量一排排满 List sameMaterialPoints = autoMapper.getZCSameMaterialPoint(jsonObject.getString("pcsn") , jsonObject.getString("material_id")); - SchBasePoint temp=null; - int row_num=0; - //检查当前列前面是否有货 - for(SchBasePoint schBasePoint:sameMaterialPoints){ - if(row_num==schBasePoint.getRow_num()){ - continue; - } - if(PointStatusEnum.EMPTY_POINT.getCode().equals(schBasePoint.getPoint_status()) - && StringUtil.isEmpty(schBasePoint.getIng_task_code())){ - temp = schBasePoint; - }else{ - row_num=schBasePoint.getRow_num(); + SchBasePoint temp = null; + int row_num = 0; + //检查当前列前面是否有货 + for (SchBasePoint schBasePoint : sameMaterialPoints) { + if (row_num == schBasePoint.getRow_num()) { + continue; } + if (PointStatusEnum.EMPTY_POINT.getCode().equals(schBasePoint.getPoint_status()) + && StringUtil.isEmpty(schBasePoint.getIng_task_code())) { + temp = schBasePoint; + } else { + row_num = schBasePoint.getRow_num(); } - if (ObjectUtil.isNotEmpty(temp)) { - return temp; - } + } + if (ObjectUtil.isNotEmpty(temp)) { + return temp; + } //如果没有找到。或者分配等待点失败,就选择一个空列存放 return autoMapper.getZCEmptyMaterialPoint(nextRegionStr.get(0), jsonObject.getString("material_id")); } @@ -356,62 +356,71 @@ public class GHCMLTask extends AbstractTask { if (ObjectUtil.isEmpty(task)) { throw new BadRequestException("任务:[" + task_id + "]不存在!"); } -// String waitPoint = task.getNext_wait_point(); -// if (ObjectUtil.isEmpty(waitPoint)) { -// throw new BadRequestException("找不到任务:[" + task_id + "]等待点!"); -// } + // String waitPoint = task.getNext_wait_point(); + // if (ObjectUtil.isEmpty(waitPoint)) { + // throw new BadRequestException("找不到任务:[" + task_id + "]等待点!"); + // } if (!"DDD".equals(task.getPoint_code2())) { log.info("任务号{}已请求过二次分配,直接返回已分配地址{}", task_id, task.getPoint_code2()); return task.getPoint_code2(); } -// SchBasePoint waitPointObj = pointService.getById(waitPoint); -// SchBasePoint result; -// // 找到这排对应的准确货位, -// // hint: 需要考虑前后空,中间有货的情况,有货之后的即使是空也不能放。 -// // 寻找有货的数据 -// List points = pointService.list(new LambdaQueryWrapper() -// .eq(SchBasePoint::getRegion_code, waitPointObj.getRegion_code()) -// .eq(SchBasePoint::getRow_num, waitPointObj.getRow_num()) -// .eq(SchBasePoint::getPoint_status, PointStatusEnum.EMPTY_VEHICLE.getCode()) -// .eq(SchBasePoint::getIs_used, true) -// .orderByDesc(SchBasePoint::getIn_order_seq)); -// if (points.size() > 0) { -// SchBasePoint basePoint = points.get(0); -// // 找到物料位置的下一个位置 -// result = pointService.getOne(new LambdaQueryWrapper() -// .eq(SchBasePoint::getRegion_code, waitPointObj.getRegion_code()) -// .eq(SchBasePoint::getRow_num, waitPointObj.getRow_num()) -// .eq(SchBasePoint::getCol_num, basePoint.getCol_num() - 1) -// // 当前执行的任务为空或者NULL,有数据表示锁住 -// .and(la -> la.isNull(SchBasePoint::getIng_task_code) -// .or() -// .eq(SchBasePoint::getIng_task_code, "")) -// .eq(SchBasePoint::getIs_used, true)); -// if (ObjectUtil.isEmpty(result)) { -// throw new BadRequestException("点位错误"); -// } -// } else { -// // 空的话代表这排是新的一排,找个位置就行 -// points = pointService.list(new LambdaQueryWrapper() -// .eq(SchBasePoint::getRegion_code, waitPointObj.getRegion_code()) -// .eq(SchBasePoint::getRow_num, waitPointObj.getRow_num()) -// .eq(SchBasePoint::getPoint_status, PointStatusEnum.EMPTY_POINT.getCode()) -// // 当前执行的任务为空或者NULL,有数据表示锁住 -// .and(la -> la.isNull(SchBasePoint::getIng_task_code) -// .or() -// .eq(SchBasePoint::getIng_task_code, "")) -// .eq(SchBasePoint::getIs_used, true) -// .orderByAsc(SchBasePoint::getIn_order_seq)); -// // 获取第一条 -// result = points.get(0); -// } + // SchBasePoint waitPointObj = pointService.getById(waitPoint); + // SchBasePoint result; + // // 找到这排对应的准确货位, + // // hint: 需要考虑前后空,中间有货的情况,有货之后的即使是空也不能放。 + // // 寻找有货的数据 + // List points = pointService.list(new LambdaQueryWrapper() + // .eq(SchBasePoint::getRegion_code, waitPointObj.getRegion_code()) + // .eq(SchBasePoint::getRow_num, waitPointObj.getRow_num()) + // .eq(SchBasePoint::getPoint_status, PointStatusEnum.EMPTY_VEHICLE.getCode()) + // .eq(SchBasePoint::getIs_used, true) + // .orderByDesc(SchBasePoint::getIn_order_seq)); + // if (points.size() > 0) { + // SchBasePoint basePoint = points.get(0); + // // 找到物料位置的下一个位置 + // result = pointService.getOne(new LambdaQueryWrapper() + // .eq(SchBasePoint::getRegion_code, waitPointObj.getRegion_code()) + // .eq(SchBasePoint::getRow_num, waitPointObj.getRow_num()) + // .eq(SchBasePoint::getCol_num, basePoint.getCol_num() - 1) + // // 当前执行的任务为空或者NULL,有数据表示锁住 + // .and(la -> la.isNull(SchBasePoint::getIng_task_code) + // .or() + // .eq(SchBasePoint::getIng_task_code, "")) + // .eq(SchBasePoint::getIs_used, true)); + // if (ObjectUtil.isEmpty(result)) { + // throw new BadRequestException("点位错误"); + // } + // } else { + // // 空的话代表这排是新的一排,找个位置就行 + // points = pointService.list(new LambdaQueryWrapper() + // .eq(SchBasePoint::getRegion_code, waitPointObj.getRegion_code()) + // .eq(SchBasePoint::getRow_num, waitPointObj.getRow_num()) + // .eq(SchBasePoint::getPoint_status, PointStatusEnum.EMPTY_POINT.getCode()) + // // 当前执行的任务为空或者NULL,有数据表示锁住 + // .and(la -> la.isNull(SchBasePoint::getIng_task_code) + // .or() + // .eq(SchBasePoint::getIng_task_code, "")) + // .eq(SchBasePoint::getIs_used, true) + // .orderByAsc(SchBasePoint::getIn_order_seq)); + // // 获取第一条 + // result = points.get(0); + // } SchBaseTaskconfig taskConfig = taskConfigService.getOne(new LambdaQueryWrapper() .eq(SchBaseTaskconfig::getConfig_code, TASK_CONFIG_CODE)); List nextRegionStr = Arrays.stream(taskConfig.getNext_region_str().split(",")) .collect(Collectors.toList()); JSONObject jsonObject = JSONObject.parseObject(task.getRequest_param()); + if (ObjectUtil.isEmpty(jsonObject.getString("pcsn")) || ObjectUtil.isEmpty(jsonObject.getString("material_id"))) { + throw new BadRequestException("tofix,againApply二次分配任务:pcsn和material_id参数错误"); + } SchBasePoint result = findNextPoint(nextRegionStr, jsonObject); - log.info("任务{}二次分配找到目标点位{}",task_id, result.getPoint_code()); + if (ObjectUtil.isEmpty(result)) { + // 消息通知 + noticeService.createNotice("失败原因:固化室出口找不到符合条件的空架终点", task.getPoint_code1() + "固化室出库失败", + NoticeTypeEnum.EXCEPTION.getCode()); + throw new BadRequestException(task.getPoint_code1() + ":固化室出库失败,失败原因:固化室出口找不到符合条件的空架终点"); + } + log.info("任务{}二次分配找到目标点位{}", task_id, result.getPoint_code()); // 锁住货位点 PointUtils.setUpdateByAcs(result); result.setIng_task_code(task.getTask_code()); diff --git a/lms/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml b/lms/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml index fe5bb31..5171a59 100644 --- a/lms/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml +++ b/lms/nladmin-system/nlsso-server/src/main/resources/config/application-dev.yml @@ -4,13 +4,13 @@ server: spring: datasource: druid: - db-type: com.alibaba.druid.pool.DruidDataSource + db-type: com.alibaba.druid.pool.DruidDataSourceQ driverClassName: net.sf.log4jdbc.sql.jdbcapi.DriverSpy - url: jdbc:log4jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:lms_xftn}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true -# url: jdbc:log4jdbc:mysql://${DB_HOST:47.111.78.178}:${DB_PORT:3306}/${DB_NAME:stand_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}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&allowPublicKeyRetrieval=true&useOldAliasMetadataBehavior=true + # url: jdbc:log4jdbc:mysql://${DB_HOST:47.111.78.178}:${DB_PORT:3306}/${DB_NAME:stand_lms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true username: ${DB_USER:root} password: ${DB_PWD:123456} -# password: ${DB_PWD:P@ssw0rd} + # password: ${DB_PWD:P@ssw0rd} # 初始连接数 initial-size: 5 # 最小连接数 @@ -47,8 +47,8 @@ spring: redis: #数据库索引 database: ${REDIS_DB:2} -# host: ${REDIS_HOST:10.44.101.112} - host: ${REDIS_HOST:127.0.0.1} + # host: ${REDIS_HOST:10.44.101.112} + host: ${REDIS_HOST:10.44.101.19} port: ${REDIS_PORT:6379} password: ${REDIS_PWD:} redisson: @@ -58,9 +58,10 @@ spring: singleServerConfig: connectionMinimumIdleSize: 8 connectionPoolSize: 8 - address: redis://127.0.0.1:6379 + address: redis://10.44.101.19:6379 idleConnectionTimeout: 10000 timeout: 3000 + # 登录相关配置 login: # 登录缓存 @@ -150,19 +151,16 @@ sa-token: # ---- 除了以上配置项,你还需要为 Sa-Token 配置http请求处理器(文档有步骤说明) is-read-cookie: true is-print: false -# 未登录 StpUtil.getTokenSession() 设置值,获取值 @SaIgnore 得忽略接口 + # 未登录 StpUtil.getTokenSession() 设置值,获取值 @SaIgnore 得忽略接口 token-session-check-login: false alone-redis: # Redis数据库索引(默认为0) database: 2 # Redis服务器地址 - host: 127.0.0.1 + host: 10.44.101.19 # Redis服务器连接端口 port: 6379 # Redis服务器连接密码(默认为空) password: # 连接超时时间 timeout: 10s -lucene: - index: - path: D:\lucene\index diff --git a/lms/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml b/lms/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml index 23db562..94e09b0 100644 --- a/lms/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml +++ b/lms/nladmin-system/nlsso-server/src/main/resources/logback-spring.xml @@ -38,7 +38,7 @@ https://juejin.cn/post/6844903775631572999 15 - 150MB + 50MB 50GB