From 65b57cb6d636aa1a973c0309216fc081ed13cc1c Mon Sep 17 00:00:00 2001 From: gongbaoxiong <751575283@qq.com> Date: Thu, 27 Feb 2025 15:11:22 +0800 Subject: [PATCH] =?UTF-8?q?opt:=E4=BA=8C=E6=A5=BC=E5=87=BA=E5=BA=93?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/org/nl/AppRun.java | 2 +- .../java/org/nl/common/enums/StatusEnum.java | 2 +- .../impl/base/AlleyAveRuleHandler.java | 2 +- .../impl/base/LimitStorageRuleHandler.java | 2 +- .../impl/base/SameBlockNumRuleHandler.java | 6 ++--- .../impl/diy/DepthPriorityHandler.java | 1 + .../controller/SchBasePointController.java | 3 ++- .../service/impl/SchBasePointServiceImpl.java | 22 +++++++++++++++++- .../impl/SecondFloorAgvTransferTask.java | 1 + .../impl/SecondFloorEmptyShelfTask.java | 1 + .../impl/SecondFloorOutStorageTask.java | 14 +++++------ .../classprocessimpl/CtuProcessHandler.java | 23 +++++++++++++++++++ .../service/impl/MdGruopDickServiceImpl.java | 2 +- .../iostorage/sevice/PdaIOService.java | 14 +++++------ .../task/ApplyShelfScheduleService.java | 10 +++++++- .../task/SyncErpBillsScheduleService.java | 6 ++--- .../quartz/task/TaskScheduleService.java | 16 +++++++++++-- .../main/resources/config/application-dev.yml | 10 ++++---- .../src/main/resources/logback-spring.xml | 1 - 19 files changed, 101 insertions(+), 37 deletions(-) diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/AppRun.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/AppRun.java index a076e814..c243bd08 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/AppRun.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/AppRun.java @@ -42,7 +42,7 @@ public class AppRun implements CommandLineRunner { @Override public void run(String... args) { - HeartClientServer heartServer = new HeartClientServer(new InetSocketAddress("192.168.18.218", 20889)); + //HeartClientServer heartServer = new HeartClientServer(new InetSocketAddress("192.168.18.218", 20889)); System.out.println("--------项目启动完成--------"); } diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/common/enums/StatusEnum.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/common/enums/StatusEnum.java index 869044a4..7356a828 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/common/enums/StatusEnum.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/common/enums/StatusEnum.java @@ -54,7 +54,7 @@ public enum StatusEnum { "立库", "1", null, "AGV任务", "2", null, "CTU任务", "3", null )), ACS_SYSTEM_TYPE(ForkMap.of( - "NDC", "1", null, "海柔CTU", "5", null, "海康CTU", "6", null + "NDC", "1", null, "仙工", "2", null,"海柔CTU", "5", null, "海康CTU", "6", null )), /** diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/decisioner/impl/base/AlleyAveRuleHandler.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/decisioner/impl/base/AlleyAveRuleHandler.java index 9ec349fd..9f241c68 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/decisioner/impl/base/AlleyAveRuleHandler.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/decisioner/impl/base/AlleyAveRuleHandler.java @@ -24,7 +24,7 @@ import java.util.stream.Collectors; /* * @author ZZQ * @Date 2024/4/6 16:18 - * 巷道均衡策略:XYZ:排列层 + * 巷道均衡策略:XYZ: 排列层 */ @Service("alleyAve") @Slf4j diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/decisioner/impl/base/LimitStorageRuleHandler.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/decisioner/impl/base/LimitStorageRuleHandler.java index 99d2d13f..8eb342eb 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/decisioner/impl/base/LimitStorageRuleHandler.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/decisioner/impl/base/LimitStorageRuleHandler.java @@ -22,7 +22,7 @@ import java.util.stream.Collectors; /* * @author ZZQ * @Date 2024/4/6 16:18 - * 货位限位策略:限高,限宽,限长,限重 + * 货位限位策略: 限高,限宽,限长,限重 */ @Service("limitStorage") public class LimitStorageRuleHandler extends Decisioner { diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/decisioner/impl/base/SameBlockNumRuleHandler.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/decisioner/impl/base/SameBlockNumRuleHandler.java index 464c33ec..337a6207 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/decisioner/impl/base/SameBlockNumRuleHandler.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/decisioner/impl/base/SameBlockNumRuleHandler.java @@ -15,9 +15,9 @@ import java.util.List; import java.util.stream.Collectors; /* - * @author ZZQ - * @Date 2024/4/6 16:18 - * 巷道均衡策略:XYZ:排列层 + * @author GBX + * @Date 2025/2/1 16:18 + * 相同巷道,自下而上分配,左右相邻 */ @Service("sameBlockNum") @Slf4j diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/decisioner/impl/diy/DepthPriorityHandler.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/decisioner/impl/diy/DepthPriorityHandler.java index 70f0c285..408b7fff 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/decisioner/impl/diy/DepthPriorityHandler.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/decision_manage/handler/decisioner/impl/diy/DepthPriorityHandler.java @@ -10,6 +10,7 @@ import java.util.List; import java.util.stream.Collectors; /* + *深位优先 * @author ZZQ * @Date 2024/7/31 15:19 */ diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/point/controller/SchBasePointController.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/point/controller/SchBasePointController.java index 12b69ebe..64ae8b0c 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/point/controller/SchBasePointController.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/point/controller/SchBasePointController.java @@ -93,7 +93,8 @@ public class SchBasePointController { throw new BadRequestException("输入的站点编号有误或被禁用,请检查!"); } SchBasePoint point = pointList.get(0); - point.setRemark("00".equals(point.getLock_type()) ? "未绑定货架" : "已绑定货架"); + point.setRemark(StringUtils.isNotBlank(point.getVehicle_code()) ? "已绑定货架" : "未绑定货架"); + point.setLock_type(StringUtils.isNotBlank(point.getVehicle_code()) ? "20" : "00"); return new ResponseEntity<>(point, HttpStatus.OK); } diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/point/service/impl/SchBasePointServiceImpl.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/point/service/impl/SchBasePointServiceImpl.java index d11a06ed..74994a2c 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/point/service/impl/SchBasePointServiceImpl.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/dispatch_manage/point/service/impl/SchBasePointServiceImpl.java @@ -19,6 +19,7 @@ import org.nl.wms.stor_manage.struct.service.IStIvtStructattrService; import org.nl.wms.stor_manage.struct.service.dao.StIvtStructattr; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; @@ -53,6 +54,7 @@ public class SchBasePointServiceImpl extends ServiceImpl pointList = this.list(new LambdaQueryWrapper().eq(SchBasePoint::getCode, siteCode).eq(SchBasePoint::getIs_used, true)); if (ObjectUtils.isEmpty(pointList)) { @@ -66,16 +68,34 @@ public class SchBasePointServiceImpl extends ServiceImpl shelfCodePointList = this.list(new LambdaQueryWrapper().eq(SchBasePoint::getVehicle_code, shelfCode)); LambdaUpdateWrapper wrapper = new LambdaUpdateWrapper() .eq(SchBasePoint::getCode, siteCode); if ("1".equals(mode)) { if (StringUtils.isNotBlank(pointList.get(0).getVehicle_code())) { throw new BadRequestException("当前站点已绑定货架,货架编号:" + pointList.get(0).getVehicle_code() + ",请检查或解绑!"); } + if (ObjectUtils.isNotEmpty(shelfCodePointList)) { + if (!shelfCodePointList.get(0).getLock_type().equals(StatusEnum.LOCK.code("无锁"))) { + throw new BadRequestException("该货架正在执行输送任务,状态为锁定,请等任务完成再解绑!"); + } + //解锁 + LambdaUpdateWrapper wrapper1 = new LambdaUpdateWrapper() + .eq(SchBasePoint::getVehicle_code, shelfCode) + .set(SchBasePoint::getVehicle_code, null) + .set(SchBasePoint::getPoint_type, 0) + .set(SchBasePoint::getLock_type, StatusEnum.LOCK.code("无锁")); + this.update(wrapper1); + } wrapper.set(SchBasePoint::getVehicle_code, shelfCode) .set(SchBasePoint::getPoint_type, 0) .set(SchBasePoint::getLock_type, StatusEnum.LOCK.code("无锁")); } else if ("0".equals(mode)) { + if (ObjectUtils.isNotEmpty(shelfCodePointList)) { + if (!shelfCodePointList.get(0).getLock_type().equals(StatusEnum.LOCK.code("无锁"))) { + throw new BadRequestException("该货架正在执行输送任务,状态为锁定,请等任务完成再解绑!"); + } + } wrapper.set(SchBasePoint::getVehicle_code, null) .set(SchBasePoint::getLock_type, StatusEnum.LOCK.code("无锁")); } @@ -83,7 +103,7 @@ public class SchBasePointServiceImpl extends ServiceImpl wrapper2 = new UpdateWrapper() @@ -225,14 +225,14 @@ public class SecondFloorOutStorageTask extends AbstractTask { //终点解锁 iSchBasePointService.update(new LambdaUpdateWrapper() .set(SchBasePoint::getLock_type, StatusEnum.LOCK.code("无锁")) - .eq(SchBasePoint::getCode, schBaseTask.getPoint_code2())); + .eq(SchBasePoint::getCode, schBaseTask.getPoint_code3())); //入库仓位解锁 iStIvtStructattrService.update(new UpdateWrapper() .set("lock_type", StatusEnum.LOCK.code("无锁")) .set("vehicle_code", null) .set("update_time", DateUtil.now()) .set("update_name", SecurityUtils.getCurrentNickName()) - .eq("struct_code", schBaseTask.getPoint_code3())); + .eq("struct_code", schBaseTask.getPoint_code2())); //载具物料解锁 iMdPbVehicleMaterService.update(new LambdaUpdateWrapper() .set(MdPbVehicleMater::getFrozen_qty, 0) diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/classprocessimpl/CtuProcessHandler.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/classprocessimpl/CtuProcessHandler.java index 44a07ce1..6661f53c 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/classprocessimpl/CtuProcessHandler.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/classprocessimpl/CtuProcessHandler.java @@ -1,10 +1,12 @@ package org.nl.wms.flow_manage.flow.service.classprocessimpl; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.github.javaparser.utils.Log; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.nl.wms.flow_manage.flow.framework.process.nodeType.excess.impl.process.classprocess.ClassProcess; import org.nl.wms.md_manage.vehicleMater.service.IMdPbVehicleMaterService; import org.nl.wms.md_manage.vehicleMater.service.dao.MdPbVehicleMater; @@ -32,9 +34,30 @@ public class CtuProcessHandler implements ClassProcess { */ @Override public JSONObject process(JSONObject from, JSONObject param) { + String id = from.getString("id"); + PmFormData pmFormData = iPmFormDataService.getById(id); JSONObject vehicleMater = from.getJSONObject("vehicleMater"); + if (vehicleMater == null) { + LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); + updateWrapper.eq(PmFormData::getId, pmFormData.getId()); + updateWrapper.set(PmFormData::getRemark, "CTU出库用料单号异常:未获取到物料载具信息vehicleMater,from数据为:" + JSON.toJSONString(from)); + iPmFormDataService.update(updateWrapper); + log.error("CTU出库用料单号异常:未获取到物料载具信息vehicleMater,from数据为:" + JSON.toJSONString(from)); + } JSONObject sourceFormData = from.getJSONObject("source_form_data"); + if (sourceFormData == null) { + iMdPbVehicleMaterService.update(new UpdateWrapper() + .set("prd_ppbom_no", "CTU出库用料单号异常:未获取到源单信息sourceFormData,from数据为:" + JSON.toJSONString(from)) + .eq("id", vehicleMater.getString("id"))); + log.error("CTU出库用料单号异常:未获取到源单信息sourceFormData,from数据为:" + JSON.toJSONString(from)); + } String billCode = sourceFormData.getString("code"); + if (StringUtils.isBlank(billCode)) { + iMdPbVehicleMaterService.update(new UpdateWrapper() + .set("prd_ppbom_no", "CTU出库用料单号异常:未获取到源单号billCode,from数据为:" + JSON.toJSONString(from)) + .eq("id", vehicleMater.getString("id"))); + log.error("CTU出库用料单号异常:未获取到源单号billCode,from数据为:" + JSON.toJSONString(from)); + } try { //更新物料载具信息的出库单据号 iMdPbVehicleMaterService.update(new UpdateWrapper() diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/md_manage/group_dick/service/impl/MdGruopDickServiceImpl.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/md_manage/group_dick/service/impl/MdGruopDickServiceImpl.java index 59c279c0..8ad85417 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/md_manage/group_dick/service/impl/MdGruopDickServiceImpl.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/md_manage/group_dick/service/impl/MdGruopDickServiceImpl.java @@ -252,7 +252,7 @@ public class MdGruopDickServiceImpl extends ServiceImpl vehicleMaters = iMdPbVehicleMaterService.getVehicleMaters(vehicle_code); if (!CollectionUtils.isEmpty(vehicleMaters)) { diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/iostorage/sevice/PdaIOService.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/iostorage/sevice/PdaIOService.java index 0dc68bf6..2e8ee983 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/iostorage/sevice/PdaIOService.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pda_manage/iostorage/sevice/PdaIOService.java @@ -199,11 +199,11 @@ public class PdaIOService { .eq(StIvtStructattr::getSect_code, endPointList.get(0).getVehicle_code()) .eq(StIvtStructattr::getLock_type, StatusEnum.LOCK.code("无锁")) .eq(StIvtStructattr::getStor_code, StatusEnum.STOCK_INFO.code("二楼货架缓存库")) - .isNotNull(StIvtStructattr::getVehicle_code) + .isNull(StIvtStructattr::getVehicle_code) .orderByAsc(StIvtStructattr::getLayer_num)); if (ObjectUtils.isEmpty(stIvtStructattrList)) { log.error("CTU出库任务,该单据{}出库时,地面货架站点货架的货位已放满,请检查现场情况", billCode); - throw new BadRequestException("地面货架站点货架的货位已放满,请检查现场情况"); + throw new BadRequestException("地面货架站点货架:"+endPointList.get(0).getVehicle_code()+"的货位已放满,请检查现场情况"); } // CTU分配终点 List targetPointList = endPointList.stream().filter(r -> r.getVehicle_code().equals(stIvtStructattrList.get(0).getSect_code())).collect(Collectors.toList()); @@ -214,7 +214,7 @@ public class PdaIOService { if (StringUtils.isBlank(pdaFormOutMst.getChildren().get(i).getVehicle_code())) { throw new BadRequestException("出库失败,料箱码不能为空"); } - JSONObject jsonObject = secondFloorOutStorageTask.handleBills(billCode, siteCode, targetPointList.get(0).getCode(), pdaFormOutMst.getChildren().get(i).getVehicle_code(), pdaFormOutMst.getChildren().get(i).getId(), stIvtStructattrList.get(0).getStruct_code()); + JSONObject jsonObject = secondFloorOutStorageTask.handleBills(billCode, siteCode, stIvtStructattrList.get(0).getStruct_code(),pdaFormOutMst.getChildren().get(i).getVehicle_code(), pdaFormOutMst.getChildren().get(i).getId(),targetPointList.get(0).getCode()); jsonArray.add(jsonObject); } catch (BadRequestException e) { log.error("单据号:{}的第{}行明细,物料号为:{},出库异常:", billCode, i, pdaFormOutMst.getChildren().get(i).getMaterial_code(), e); @@ -231,8 +231,6 @@ public class PdaIOService { .eq(SchBasePoint::getCode, endPointList.get(0).getCode())); List taskIdList = jsonArray.stream().map(r -> ((JSONObject) r).getString("id")).collect(Collectors.toList()); //todo 终点货位锁定 - - //任务分组 taskService.update(new LambdaUpdateWrapper() .set(SchBaseTask::getGroup_code, pdaFormOutMst.getSite_code() + "_" + IdUtil.getStringId() + "_" + jsonArray.size()). @@ -253,8 +251,6 @@ public class PdaIOService { throw new BadRequestException("输入的站点编号有误或被禁用,请检查!"); } if (StringUtils.isNotBlank(pointList.get(0).getVehicle_code())) { - //货架解绑 - // iSchBasePointService.bindOrUnbind(param.getString("site_code"), pointList.get(0).getVehicle_code(), "0"); List stIvtStructattrList = iStIvtStructattrService.list(new LambdaQueryWrapper() .eq(StIvtStructattr::getSect_code, pointList.get(0).getVehicle_code()) .isNotNull(StIvtStructattr::getVehicle_code)); @@ -265,6 +261,7 @@ public class PdaIOService { iMdPbVehicleMaterService.update(new UpdateWrapper() .set("frozen_qty",0) .set("qty",0) + .set("is_delete",true) .set("remark","该料箱的物料已从产线取走") .in("vehicle_code",vehicleCodeList)); //清除货架库位 @@ -278,6 +275,7 @@ public class PdaIOService { //标记为空架 iSchBasePointService.update(new LambdaUpdateWrapper() .set(SchBasePoint::getPoint_type, 0) + .set(SchBasePoint::getLock_type, StatusEnum.LOCK.code("无锁")) .eq(SchBasePoint::getCode, pointList.get(0).getCode())); //生成补空架任务 applyShelfScheduleService.taskPublish(param.getString("site_code"), null, pointList.get(0).getVehicle_code(), false); @@ -541,7 +539,7 @@ public class PdaIOService { } if (StringUtils.isNotBlank(result.getMaterial_id())) { List materialbaseList = mdMeMaterialbaseServiceImpl.list(new LambdaQueryWrapper().eq(MdMeMaterialbase::getMaterial_id, result.getMaterial_id())); - //本地存在改物料信息 + //本地存在该物料信息 if (ObjectUtils.isNotEmpty(materialbaseList)) { result.setMaterial_code(materialbaseList.get(0).getMaterial_code()); result.setMaterial_spec(materialbaseList.get(0).getMaterial_spec()); diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/system_manage/service/quartz/task/ApplyShelfScheduleService.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/system_manage/service/quartz/task/ApplyShelfScheduleService.java index a53c15b3..df2b53b0 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/system_manage/service/quartz/task/ApplyShelfScheduleService.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/system_manage/service/quartz/task/ApplyShelfScheduleService.java @@ -2,6 +2,7 @@ package org.nl.wms.system_manage.service.quartz.task; import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.ObjectUtils; @@ -9,6 +10,7 @@ import org.apache.commons.lang3.StringUtils; import org.nl.common.enums.StatusEnum; import org.nl.common.utils.BaseCode; import org.nl.common.utils.IdUtil; +import org.nl.common.utils.SecurityUtils; import org.nl.config.lucene.LuceneAppender; import org.nl.wms.dispatch_manage.point.service.ISchBasePointService; import org.nl.wms.dispatch_manage.point.service.dao.SchBasePoint; @@ -76,7 +78,7 @@ public class ApplyShelfScheduleService { if (isAuto) { List cxPointLists = iSchBasePointService.checkEndPointTask( StatusEnum.REGION_INFO.code("二楼AGV产线对接位"), - StatusEnum.LOCK.code("出库锁"), + StatusEnum.LOCK.code("无锁"), StatusEnum.SORT_TYPE.code("升序"), "0"); if (ObjectUtils.isNotEmpty(cxPointLists)) { startPointCode = cxPointLists.get(0).getCode(); @@ -103,6 +105,12 @@ public class ApplyShelfScheduleService { task.put("pointCode2", endPointCode); task.put("vehicleCode", vehicleCode); secondFloorEmptyShelfTask.createTask(task); + //起点锁定 + iSchBasePointService.update(new LambdaUpdateWrapper() + .set(SchBasePoint::getLock_type, StatusEnum.LOCK.code("出库锁")) + .set(SchBasePoint::getUpdate_time, DateUtil.now()) + .set(SchBasePoint::getUpdate_name, SecurityUtils.getCurrentNickName()) + .eq(SchBasePoint::getCode, startPointCode)); } } } catch (Exception ex) { diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/system_manage/service/quartz/task/SyncErpBillsScheduleService.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/system_manage/service/quartz/task/SyncErpBillsScheduleService.java index 754e8d99..2fdfaa41 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/system_manage/service/quartz/task/SyncErpBillsScheduleService.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/system_manage/service/quartz/task/SyncErpBillsScheduleService.java @@ -259,9 +259,9 @@ public class SyncErpBillsScheduleService { final String mainId = mainBill.get(0).getId(); //仓库Key final String stockId = BILL_STOCK_ID_MAPPING.get(formType); - //除了合格证相关单据,其他都过滤非立库仓库组织 - // if (!"PRD_MO".equals(formType) && !"PUR_ReceiveBill".equals(formType)) { - if (false) { + //todo + //除了合格证相关单据,其他都过滤非立库仓库组织,最新:暂时先过滤用料清单,再视现场情况 + if ("PRD_PPBOM".equals(formType)) { //明细单据 List detailBills = formDataList.stream() .filter(rs -> StringUtils.isBlank(rs.getCode())) diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/system_manage/service/quartz/task/TaskScheduleService.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/system_manage/service/quartz/task/TaskScheduleService.java index bcd5b3f7..d2cde744 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/system_manage/service/quartz/task/TaskScheduleService.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/system_manage/service/quartz/task/TaskScheduleService.java @@ -10,11 +10,14 @@ 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.extern.slf4j.Slf4j; +import org.apache.commons.lang3.ObjectUtils; import org.nl.common.TableDataInfo; import org.nl.common.enums.StatusEnum; import org.nl.common.utils.BaseCode; import org.nl.common.utils.IdUtil; import org.nl.config.lucene.LuceneAppender; +import org.nl.wms.dispatch_manage.point.service.ISchBasePointService; +import org.nl.wms.dispatch_manage.point.service.dao.SchBasePoint; import org.nl.wms.dispatch_manage.task.handler.impl.SecondFloorAgvTransferTask; import org.nl.wms.dispatch_manage.task.service.ISchBaseTaskService; import org.nl.wms.dispatch_manage.task.service.dao.SchBaseTask; @@ -46,6 +49,8 @@ public class TaskScheduleService { private WmsToAcsService wmsToAcsService; @Autowired private SecondFloorAgvTransferTask secondFloorAgvTransferTask; + @Autowired + private ISchBasePointService iSchBasePointService; public void run() { try { @@ -100,10 +105,17 @@ public class TaskScheduleService { //任务组任务全部完成 if (targetSize == t.size()) { //创建agv任务 + // 终点满足条件 + List endPointList = iSchBasePointService.list(new LambdaQueryWrapper() + .eq(SchBasePoint::getLock_type, StatusEnum.LOCK.code("无锁")) + .eq(SchBasePoint::getCode, targetCode)); + if (ObjectUtils.isEmpty(endPointList)) { + return; + } JSONObject taskJsonObject = new JSONObject(); - taskJsonObject.put("pointCode1", t.get(0).getPoint_code2()); + taskJsonObject.put("pointCode1", t.get(0).getPoint_code3()); taskJsonObject.put("pointCode2", targetCode); - taskJsonObject.put("pointCode3", t.get(0).getPoint_code3().substring(0, t.get(0).getPoint_code3().indexOf("-"))); + taskJsonObject.put("pointCode3", t.get(0).getPoint_code2().substring(0, t.get(0).getPoint_code2().indexOf("-"))); taskJsonObject.put("group_code", g); taskJsonObject.put("vehicleCode", t.stream().map(SchBaseTask::getVehicle_code).collect(Collectors.joining(","))); secondFloorAgvTransferTask.createTask(taskJsonObject); diff --git a/wms_pro/hd/nladmin-system/src/main/resources/config/application-dev.yml b/wms_pro/hd/nladmin-system/src/main/resources/config/application-dev.yml index 006bcbf2..3fe27ef1 100644 --- a/wms_pro/hd/nladmin-system/src/main/resources/config/application-dev.yml +++ b/wms_pro/hd/nladmin-system/src/main/resources/config/application-dev.yml @@ -8,7 +8,7 @@ spring: db-type: com.alibaba.druid.pool.DruidDataSource driverClassName: com.mysql.cj.jdbc.Driver # url: jdbc:mysql://${DB_HOST:192.168.8.218}:${DB_PORT:3306}/${DB_NAME:wms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true&useSSL=false - url: jdbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_NAME:wms_hs}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true&useSSL=false + url: jdbc:mysql://${DB_HOST:192.168.18.218}:${DB_PORT:3306}/${DB_NAME:wms}?serverTimezone=Asia/Shanghai&characterEncoding=utf8&useSSL=false&useOldAliasMetadataBehavior=true&allowPublicKeyRetrieval=true&useSSL=false username: ${DB_USER:root} password: ${DB_PWD:123456} @@ -156,9 +156,9 @@ lucene: index: path: D:\lms\lucene\index kdapi: - appId: 295539_RY4pS/CH0vl8TfUo652sR+1KULwdQNOG111 - appSecret: 0d47d08ee5014643b91a764e121e0bcb111 + appId: 295539_RY4pS/CH0vl8TfUo652sR+1KULwdQNOG + appSecret: 0d47d08ee5014643b91a764e121e0bcb userName: 管理员 - pwd: ty.870163621111 - serverUrl: http://192.168.16.249/k3cloud/1 + pwd: ty.87016362 + serverUrl: http://192.168.16.249/k3cloud/ dCID: 65b078e7ea0ce6 diff --git a/wms_pro/hd/nladmin-system/src/main/resources/logback-spring.xml b/wms_pro/hd/nladmin-system/src/main/resources/logback-spring.xml index 3a75298c..d8fee4f2 100644 --- a/wms_pro/hd/nladmin-system/src/main/resources/logback-spring.xml +++ b/wms_pro/hd/nladmin-system/src/main/resources/logback-spring.xml @@ -166,7 +166,6 @@ -