From 89947ee04f8502702599e5e4491c2323e3b25d37 Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Wed, 28 Aug 2024 17:56:04 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=94=9F=E7=AE=94->=E7=83=98=E7=AE=B1-?= =?UTF-8?q?>=E5=88=86=E5=88=87->=E5=86=85=E5=8C=85=E9=97=B4=E5=8F=98?= =?UTF-8?q?=E5=8A=A8=E4=BF=AE=E6=94=B9=E4=B8=8E=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/nl/config/lucene/TagNameEnum.java | 3 + .../mps/controller/SlitterPdaController.java | 13 +++ .../pda/mps/service/SlitterPdaService.java | 15 ++++ .../service/impl/RawFoilPdaServiceImpl.java | 2 +- .../service/impl/SlitterPdaServiceImpl.java | 85 +++++++++++++++++-- .../pda/st/controller/NbjPdaController.java | 9 +- .../nl/wms/pda/st/service/NbjPdaService.java | 7 ++ .../st/service/impl/NbjPdaServiceImpl.java | 65 ++++++++++---- .../IpdmBiSlittingproductionplanService.java | 7 ++ ...dmBiSlittingproductionplanServiceImpl.java | 7 ++ .../cut/service/IstIvtCutpointivtService.java | 8 ++ .../dao/dto/StIvtCutpointivtParam.java | 2 +- .../impl/StIvtCutpointivtServiceImpl.java | 19 ++--- .../dao/mapper/StIvtHotpointivtMapper.xml | 9 +- .../ivt/raw/service/dao/StIvtSbpointivt.java | 23 +---- .../impl/StIvtSbpointivtServiceImpl.java | 7 +- .../sch/region/service/dao/SchBaseRegion.java | 30 +++---- .../impl/SchBaseRegionServiceImpl.java | 2 +- .../nl/wms/sch/task_manage/AbstractTask.java | 1 + .../org/nl/wms/sch/task_manage/AcsUtil.java | 1 + .../core/constant/GeneralDefinition.java | 2 +- .../task_manage/tasks/hot/InHotTrussTask.java | 4 +- .../tasks/hot/OutHotTrussTask.java | 3 +- .../tasks/nbj/SendShaftAGVTask.java | 10 ++- .../tasks/nbj/SubRollDownAGVTask.java | 2 +- .../tasks/raw/RawCallRollAGVTask.java | 12 ++- .../task_manage/tasks/raw/RawDownAGVTask.java | 56 +++++++----- .../tasks/slitter/SlitterDownAGVTask.java | 1 + .../tasks/slitter/SlitterSendRollAGVTask.java | 2 +- .../tasks/slitter/SlitterUpAGVTask.java | 65 +++++++------- .../tasks/slitter/SlitterUpTrussTask.java | 51 +++++++---- .../main/java/org/nl/wms/util/PointUtils.java | 32 +++++++ .../main/java/org/nl/wms/util/TaskUtils.java | 50 +++++++++++ 33 files changed, 454 insertions(+), 151 deletions(-) diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/TagNameEnum.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/TagNameEnum.java index 4e35ba453..d720e9cda 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/TagNameEnum.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/config/lucene/TagNameEnum.java @@ -17,6 +17,9 @@ public enum TagNameEnum { RAW_DOWN("手持生箔下料"), RAW_EMPTY_HOME("手持生箔空辊回库"), RAW_READY("手持生箔准备就绪"), + CUT_UP("手持分切上料"), + CUT_UP_CONFIRM("手持分切确认上料"), + CUT_EMPTY_BACK("手持空轴送回"), GX_IN("手持管芯入库"), GX_OUT("手持管芯出库"), SWITCH_STATUS_OF_LIFT("货梯切换状态"), diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/controller/SlitterPdaController.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/controller/SlitterPdaController.java index d5dd897bc..8b493e58e 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/controller/SlitterPdaController.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/controller/SlitterPdaController.java @@ -68,4 +68,17 @@ public class SlitterPdaController { public ResponseEntity querySlitterDeviceSubVolumeInfos(@RequestBody JSONObject param) { return new ResponseEntity<>(slitterPdaService.querySlitterDeviceSubVolumeInfos(param), HttpStatus.OK); } + + @PostMapping("/devicePointQuery") +// @Log("分切子卷维护 - 设备点位查询") + public ResponseEntity devicePointQuery(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(slitterPdaService.devicePointQuery(whereJson), HttpStatus.OK); + } + + @PostMapping("/bindSlitterSubVolumeInfo") + @Log("绑定分切机上的子卷信息") + @SaIgnore + public ResponseEntity bindSlitterSubVolumeInfo(@RequestBody JSONObject param) { + return new ResponseEntity<>(slitterPdaService.bindSlitterSubVolumeInfo(param), HttpStatus.OK); + } } diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/service/SlitterPdaService.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/service/SlitterPdaService.java index 878d2e7e3..5b08c0a5e 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/service/SlitterPdaService.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/service/SlitterPdaService.java @@ -1,5 +1,6 @@ package org.nl.wms.pda.mps.service; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; /** @@ -57,4 +58,18 @@ public interface SlitterPdaService { * @return / */ JSONObject querySlitterDeviceSubVolumeInfos(JSONObject param); + + /** + * 查询分切机设备上下轴点位 + * @param param / + * @return / + */ + JSONArray devicePointQuery(JSONObject param); + + /** + * 分切子卷维护 + * @param param + * @return + */ + JSONObject bindSlitterSubVolumeInfo(JSONObject param); } diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/service/impl/RawFoilPdaServiceImpl.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/service/impl/RawFoilPdaServiceImpl.java index f7ca7d4c3..592ae0108 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/service/impl/RawFoilPdaServiceImpl.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/service/impl/RawFoilPdaServiceImpl.java @@ -16,7 +16,6 @@ import org.nl.wms.pdm.bi.dao.PdmBiRawfoilworkorder; import org.nl.wms.pdm.bi.service.IpdmBiRawfoilworkorderService; import org.nl.wms.pdm.ivt.raw.service.IstIvtSbpointivtService; import org.nl.wms.pdm.ivt.raw.service.dao.StIvtSbpointivt; -import org.nl.wms.sch.point.service.ISchBasePointService; import org.nl.wms.sch.task.service.ISchBaseTaskService; import org.nl.wms.sch.task.service.dao.SchBaseTask; import org.nl.wms.sch.task_manage.core.constant.GeneralDefinition; @@ -201,6 +200,7 @@ public class RawFoilPdaServiceImpl implements RawFoilPdaService { // 组织请求任务参数 // 当前生箔的点位 param.put("device_code", pointCode); + param.put("workorder_id", rawOrder.getWorkorder_id()); param.put("ext_code", sbPoint.getExt_code()); param.put("create_mode", GeneralDefinition.PDA_CREATION); // 判断是否呼叫空辊 diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/service/impl/SlitterPdaServiceImpl.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/service/impl/SlitterPdaServiceImpl.java index 149e008a0..8da87a384 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/service/impl/SlitterPdaServiceImpl.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/mps/service/impl/SlitterPdaServiceImpl.java @@ -2,11 +2,13 @@ package org.nl.wms.pda.mps.service.impl; import cn.hutool.core.lang.Assert; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.extern.slf4j.Slf4j; import org.nl.common.exception.BadRequestException; +import org.nl.config.lucene.TagNameEnum; import org.nl.wms.ext.acs.service.WmsToAcsService; import org.nl.wms.pda.mps.service.SlitterPdaService; import org.nl.wms.pdm.bi.dao.PdmBiRawfoilworkorder; @@ -25,11 +27,14 @@ import org.nl.wms.sch.task_manage.tasks.slitter.SlitterDownAGVTask; import org.nl.wms.sch.task_manage.tasks.slitter.SlitterInHotAGVTask; import org.nl.wms.sch.task_manage.tasks.slitter.SlitterSendRollAGVTask; import org.nl.wms.sch.task_manage.tasks.slitter.SlitterUpTrussTask; +import org.nl.wms.util.TaskUtils; +import org.slf4j.MDC; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -71,9 +76,11 @@ public class SlitterPdaServiceImpl implements SlitterPdaService { } @Override + @Transactional(rollbackFor = Exception.class) public JSONObject callSlitterRoll(JSONObject param) { + MDC.put(GeneralDefinition.MDC_KEY, TagNameEnum.CUT_UP.getTag()); log.info("手持呼叫母卷:{}", param); - // param: workorder_id, zc_point, point_code, vehicle_code + // param: workorder_id, zc_point, point_code, vehicle_code, resource_name String workorderId = param.getString("workorder_id"); // 分切机满料位 String pointCode = param.getString("point_code"); @@ -93,8 +100,9 @@ public class SlitterPdaServiceImpl implements SlitterPdaService { param.put("create_mode", GeneralDefinition.PDA_CREATION); // 判断空轴位状态 // 标记一下, 0: 只做呼叫母卷,1:呼叫母卷还要送空辊 - param.put("is_flag", "01".equals(cutPoint.getEmpty_point_status()) ? "0" : "1"); - param.put("vehicle_code", cutPoint.getEmpty_vehicle_code()); + param.put("is_flag", "01".equals(cutPoint.getFull_point_status()) ? "0" : "1"); + param.put("vehicle_code", cutPoint.getFull_vehicle_code()); + param.put("vehicle_code2", param.getString("resource_name")); slitterUpTrussTask.apply(param); JSONObject result = new JSONObject(); result.put("message", "操作成功!"); @@ -103,6 +111,7 @@ public class SlitterPdaServiceImpl implements SlitterPdaService { @Override public JSONObject allowCoiling(JSONObject param) { + MDC.put(GeneralDefinition.MDC_KEY, TagNameEnum.CUT_UP_CONFIRM.getTag()); log.info("手持分切确认上料, {}", param); // point_code String pointCode = param.getString("point_code"); @@ -131,11 +140,12 @@ public class SlitterPdaServiceImpl implements SlitterPdaService { @Override public JSONObject vehicleReturn(JSONObject param) { + MDC.put(GeneralDefinition.MDC_KEY, TagNameEnum.CUT_EMPTY_BACK.getTag()); log.info("手持空轴送回, {}", param); // param: point_code String pointCode = param.getString("point_code"); - StIvtCutpointivt cutPoint = cutpointivtService.getByFullCode(pointCode, false); - if ("01".equals(cutPoint.getEmpty_point_status())) { + StIvtCutpointivt cutPoint = cutpointivtService.getOneByCode(pointCode); + if ("01".equals(cutPoint.getFull_point_status())) { throw new BadRequestException("系统识别到分切上料位[ " + pointCode + " ]无空轴!"); } // 校验是否有任务 @@ -147,6 +157,7 @@ public class SlitterPdaServiceImpl implements SlitterPdaService { param.put("config_code", "SlitterSendRollAGVTask"); // 最后一趟送回去的才需要清 param.put("is_flag", "1"); + param.put("vehicle_code", cutPoint.getFull_vehicle_code()); param.put("create_mode", GeneralDefinition.PDA_CREATION); slitterSendRollAGVTask.apply(param); JSONObject result = new JSONObject(); @@ -301,4 +312,68 @@ public class SlitterPdaServiceImpl implements SlitterPdaService { data.put("msg", msg); return res; } + + @Override + public JSONArray devicePointQuery(JSONObject param) { + String device_code = param.getString("device_code"); + if (StrUtil.isEmpty(device_code)) { + throw new BadRequestException("输入的设备号不能为空!"); + } + StIvtCutpointivt device = cutpointivtService.getOneByCode(device_code); + JSONArray jsonArray = new JSONArray(); + JSONObject p1 = new JSONObject(); + p1.put("text", device.getPoint_code() + "上轴位"); + p1.put("value", device.getUp_point_code()); + JSONObject p2 = new JSONObject(); + p2.put("text", device.getPoint_code() + "下轴位"); + p2.put("value", device.getDown_point_code()); + jsonArray.add(p1); + jsonArray.add(p2); + return jsonArray; + } + + @Override + public JSONObject bindSlitterSubVolumeInfo(JSONObject param) { + log.info("绑定分切机上的子卷信息:{}", param); + // param: point_code, container_name(逗号隔开) + // 子卷生成气胀轴编码,设置05状态 + String containerName = param.getString("container_name"); + String pointCode1 = param.getString("point_code"); + if (ObjectUtil.isEmpty(containerName)) { + throw new BadRequestException("子卷号不能为空!"); + } + List collect = Arrays.stream(containerName.split(",")).collect(Collectors.toList()); + List plans = slittingproductionplanService.getByContainerNames(collect); + if (plans.size() == 0) { + throw new BadRequestException("子卷号:[" + containerName + "] 的分切计划没找到,检查是否推送或者子卷号是否正确!"); + } + PdmBiSlittingproductionplan demoPlan = plans.get(0); + String resourceName = demoPlan.getResource_name(); + String qzzNo = resourceName.substring(0, 2) + + resourceName.substring(resourceName.length() - 2) + + demoPlan.getSplit_group() + + TaskUtils.getDateTime("yyMMddHHmmss") + "-" + + demoPlan.getUp_or_down(); + if (ObjectUtil.isNotEmpty(demoPlan.getQzzno())) { + qzzNo = demoPlan.getQzzno(); + } + for (PdmBiSlittingproductionplan plan : plans) { + plan.setQzzno(qzzNo); + plan.setStatus("05"); + TaskUtils.updateOptMessageBySlitterPlan(plan); + } + slittingproductionplanService.updateBatchById(plans); + // 气胀轴编码设置到分切机器上 + StIvtCutpointivt slitterDevice = cutpointivtService.getPintByUpOrDownCode(pointCode1, false); + if (pointCode1.equals(slitterDevice.getUp_point_code())) { + slitterDevice.setUp_qzzno(qzzNo); + } else { + slitterDevice.setDown_qzzno(qzzNo); + } + cutpointivtService.updateById(slitterDevice); + JSONObject res = new JSONObject(); + res.put("status", cn.hutool.http.HttpStatus.HTTP_OK); + res.put("message", "子卷信息绑定成功!"); + return res; + } } diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/controller/NbjPdaController.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/controller/NbjPdaController.java index a0e3b6096..22e5bb562 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/controller/NbjPdaController.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/controller/NbjPdaController.java @@ -52,7 +52,8 @@ public class NbjPdaController { @PostMapping("/doSubVolumeBindingWeight") @Log("子卷重量维护") - public ResponseEntity doSubVolumeBindingWeight(@RequestBody JSONObject param) { + public ResponseEntity + doSubVolumeBindingWeight(@RequestBody JSONObject param) { return new ResponseEntity<>(nbjPdaService.doSubVolumeBindingWeight(param), HttpStatus.OK); } @@ -79,4 +80,10 @@ public class NbjPdaController { public ResponseEntity doSendShaft(@RequestBody JSONObject param) { return new ResponseEntity<>(nbjPdaService.doSendShaft(param), HttpStatus.OK); } + + @PostMapping("/toCleanCutCacheInventory") + @Log("清除分切暂存") + public ResponseEntity toCleanCutCacheInventory(@RequestBody JSONObject param) { + return new ResponseEntity<>(nbjPdaService.toCleanCutCacheInventory(param), HttpStatus.OK); + } } diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/service/NbjPdaService.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/service/NbjPdaService.java index a25b9d41c..c3e244535 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/service/NbjPdaService.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/service/NbjPdaService.java @@ -78,4 +78,11 @@ public interface NbjPdaService { * @return / */ JSONObject doBindingGxV2(JSONObject param); + + /** + * 清理分切暂存 + * @param param / + * @return / + */ + JSONObject toCleanCutCacheInventory(JSONObject param); } diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/service/impl/NbjPdaServiceImpl.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/service/impl/NbjPdaServiceImpl.java index 6912a0d47..42f068adf 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/service/impl/NbjPdaServiceImpl.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/st/service/impl/NbjPdaServiceImpl.java @@ -2,6 +2,7 @@ package org.nl.wms.pda.st.service.impl; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.lang.Assert; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; @@ -65,6 +66,8 @@ public class NbjPdaServiceImpl implements NbjPdaService { @Autowired private IstIvtCutpointivtService stIvtCutpointivtService; @Autowired + private IBstIvtCutpointivtService bcutpointivtService; + @Autowired private PointToPointAGVTask pointToPointAGVTask; @Autowired private PdaSendShaftAGVTask pdaSendShaftAGVTask; @@ -119,8 +122,9 @@ public class NbjPdaServiceImpl implements NbjPdaService { @Transactional(rollbackFor = Exception.class) public JSONObject doSubVolumeDown(JSONObject param) { log.info("手持子卷下线,送到货梯 - {}", param); - // point_code, vehicle_code + // point_code, vehicle_code, container_name String pointCode = param.getString("point_code"); + String containerName = param.getString("container_name"); String vehicleCode = param.getString("vehicle_code"); // 校验任务 List schBaseTasks = taskService.checkHaveTask(pointCode); @@ -129,6 +133,8 @@ public class NbjPdaServiceImpl implements NbjPdaService { } SchBasePoint startPoint = pointService.getById(pointCode); startPoint.setPoint_status("2"); + // 子卷号 + startPoint.setMaterial_code(containerName); startPoint.setVehicle_code(vehicleCode); setUpdateByPC(startPoint); pointService.updateById(startPoint); @@ -136,6 +142,7 @@ public class NbjPdaServiceImpl implements NbjPdaService { taskParam.put("device_code", pointCode); // 纸管编码 taskParam.put("vehicle_code", vehicleCode); + taskParam.put("container_name", containerName); taskParam.put("config_code", "SubRollDownAGVTask"); taskParam.put("create_mode", GeneralDefinition.PDA_CREATION); subRollDownAGVTask.apply(taskParam); @@ -148,23 +155,28 @@ public class NbjPdaServiceImpl implements NbjPdaService { @Override public JSONObject doSubVolumeBindingWeight(JSONObject param) { log.info("子卷绑定重量 - {}", param); - // container_name, weight + //container_name: 子卷号, roll_weight: 子卷重量, paper_weight:纸管重量 String containerName = param.getString("container_name"); - String weight = param.getString("weight"); + Assert.notBlank(containerName, "子卷号不能为空!"); + String rollWeight = param.getString("roll_weight"); + String paperWeight = param.getString("paper_weight"); PdmBiSlittingproductionplan plan = slittingproductionplanService.getByContainerName(containerName); if (ObjectUtil.isEmpty(plan)) { throw new BadRequestException("子卷号[ " + containerName + " ]分切计划不存在!"); } - log.info("更新子卷:{} - 重量:{}", containerName, weight); - plan.setWeight(weight); - plan.setUpdate_time(DateUtil.now()); - plan.setUpdate_optid(SecurityUtils.getCurrentUserId()); - plan.setUpdate_optname(SecurityUtils.getCurrentNickName()); + log.info("更新子卷:{} - 重量:{} - 纸管重量", containerName, rollWeight, paperWeight); + if (ObjectUtil.isNotEmpty(rollWeight)) { + plan.setWeight(rollWeight); + } + if (ObjectUtil.isNotEmpty(paperWeight)) { + plan.setPaper_weight(paperWeight); + } + TaskUtils.updateOptMessageBySlitterPlan(plan); slittingproductionplanService.updateById(plan); - JSONObject result = new JSONObject(); - result.put("status", HttpStatus.OK.value()); - result.put("message", "子卷绑定重量成功!"); - return result; + JSONObject res = new JSONObject(); + res.put("status", cn.hutool.http.HttpStatus.HTTP_OK); + res.put("message", "重量更新成功!"); + return res; } @Override @@ -187,9 +199,9 @@ public class NbjPdaServiceImpl implements NbjPdaService { String pointCode = param.getString("point_code"); BstIvtCutpointivt tzzcPoint = bstIvtCutpointivtService.getPintByTrussCode(pointCode, false); JSONArray rows = param.getJSONArray("row"); - List orderIds = rows.stream() - .map(o -> ((JSONObject) o)) - .map(o -> o.getString("workorder_id")) + List planList = rows.toJavaList(PdmBiSlittingproductionplan.class); + List orderIds = planList.stream() + .map(o -> o.getWorkorder_id()) .collect(Collectors.toList()); List plans = slittingproductionplanService.getByIds(orderIds); // 当前套轴的分切计划 @@ -221,6 +233,29 @@ public class NbjPdaServiceImpl implements NbjPdaService { return result; } + @Override + public JSONObject toCleanCutCacheInventory(JSONObject param) { + log.info("手持清理分切暂存位参数:{}", param); + // param: point_code + String pointCode = param.getString("point_code"); + 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); + JSONObject res = new JSONObject(); + res.put("status", cn.hutool.http.HttpStatus.HTTP_OK); + res.put("message", "库存清除成功!"); + return res; + } + @Override @Deprecated @Transactional(rollbackFor = Exception.class) diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/bi/service/IpdmBiSlittingproductionplanService.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/bi/service/IpdmBiSlittingproductionplanService.java index 1da6ca4d3..1281ce6be 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/bi/service/IpdmBiSlittingproductionplanService.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/bi/service/IpdmBiSlittingproductionplanService.java @@ -138,6 +138,13 @@ public interface IpdmBiSlittingproductionplanService extends IService getByContainerNames(List collect); } diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/bi/service/impl/PdmBiSlittingproductionplanServiceImpl.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/bi/service/impl/PdmBiSlittingproductionplanServiceImpl.java index debe4d867..2d742b342 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/bi/service/impl/PdmBiSlittingproductionplanServiceImpl.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/bi/service/impl/PdmBiSlittingproductionplanServiceImpl.java @@ -288,5 +288,12 @@ public class PdmBiSlittingproductionplanServiceImpl extends ServiceImpl getByContainerNames(List collect) { + LambdaQueryWrapper lam = new QueryWrapper().lambda(); + lam.in(PdmBiSlittingproductionplan::getContainer_name, collect); + return pdmBiSlittingproductionplanMapper.selectList(lam); + } } diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/ivt/cut/service/IstIvtCutpointivtService.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/ivt/cut/service/IstIvtCutpointivtService.java index b5a7460db..e8cff3f68 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/ivt/cut/service/IstIvtCutpointivtService.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/ivt/cut/service/IstIvtCutpointivtService.java @@ -90,6 +90,14 @@ public interface IstIvtCutpointivtService extends IService { * @return / */ StIvtCutpointivt getPintByExtCode(String code, boolean flag); + + /** + * 根据点位编码获取分切机上下轴 + * @param code 点位编码 + * @param flag 是否判断启用 + * @return / + */ + StIvtCutpointivt getPintByUpOrDownCode(String code, boolean flag); } diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/ivt/cut/service/dao/dto/StIvtCutpointivtParam.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/ivt/cut/service/dao/dto/StIvtCutpointivtParam.java index 1ab72c1ed..589117cba 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/ivt/cut/service/dao/dto/StIvtCutpointivtParam.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/ivt/cut/service/dao/dto/StIvtCutpointivtParam.java @@ -25,7 +25,7 @@ public class StIvtCutpointivtParam extends BaseQuery { /** * 库存记录标识 */ - private Long ivt_id; + private String ivt_id; /** * 点位编码 */ diff --git a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/ivt/cut/service/impl/StIvtCutpointivtServiceImpl.java b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/ivt/cut/service/impl/StIvtCutpointivtServiceImpl.java index b7b34895b..f754128a6 100644 --- a/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/ivt/cut/service/impl/StIvtCutpointivtServiceImpl.java +++ b/lms2/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pdm/ivt/cut/service/impl/StIvtCutpointivtServiceImpl.java @@ -146,6 +146,15 @@ public class StIvtCutpointivtServiceImpl extends ServiceImpl lam = new LambdaQueryWrapper<>(); + lam.eq(flag, StIvtCutpointivt::getIs_used, "1") + .and(la -> la.eq(StIvtCutpointivt::getUp_point_code, code).or() + .eq(StIvtCutpointivt::getDown_point_code, code)); + return stIvtCutpointivtMapper.selectOne(lam); + } + /** * 获取实体基础信息 @@ -154,16 +163,6 @@ public class StIvtCutpointivtServiceImpl extends ServiceImpl ht.plan + AND ht2.plan ]]> ht.plan AND ht2.point_status = '02') AND 0 = (SELECT COUNT(*) FROM sch_base_task t WHERE t.point_code2 = ht.point_code AND t.task_status '07') + AND 0 = (SELECT COUNT(*) + FROM sch_base_task t2 + LEFT JOIN st_ivt_hotpointivt ht3 ON ht3.point_code = t2.point_code2 + WHERE ht3.plan ]]> ht.plan + AND ht3.group_name = ht.group_name + AND ht3.point_status = '01' + AND t2.task_status '07')