From 58308cc1a49bda8e3045ef9765b4182c8ea192b9 Mon Sep 17 00:00:00 2001 From: zds <2388969634@qq.com> Date: Thu, 19 Jun 2025 17:58:47 +0800 Subject: [PATCH 1/9] =?UTF-8?q?opt=EF=BC=9A=E5=88=86=E5=88=87=E5=8D=95?= =?UTF-8?q?=E4=B8=8B=E7=A9=BA=E8=BD=B4=E4=BC=98=E5=8C=96=EF=BC=8C=E5=AD=90?= =?UTF-8?q?=E5=8D=B7=E4=B8=8B=E7=BA=BF=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 --- .../service/IBstIvtCutpointivtService.java | 10 +- .../dao/mapper/BstIvtCutpointivtMapper.java | 3 +- .../dao/mapper/BstIvtCutpointivtMapper.xml | 21 ++-- .../impl/BstIvtCutpointivtServiceImpl.java | 5 +- .../pda/controller/SlitterPdaController.java | 6 + .../tasks/slitter/service/SlitterService.java | 7 ++ .../service/impl/SlitterServiceImpl.java | 117 ++++++++++++++++-- .../wms/ext/acs/rest/AcsToWmsController.java | 2 +- 8 files changed, 140 insertions(+), 31 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/IBstIvtCutpointivtService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/IBstIvtCutpointivtService.java index 02e61e2..aaec318 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/IBstIvtCutpointivtService.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/IBstIvtCutpointivtService.java @@ -3,6 +3,7 @@ package org.nl.b_lms.bst.ivt.cutpointivt.service; import com.baomidou.mybatisplus.core.metadata.IPage; import org.nl.b_lms.bst.ivt.cutpointivt.service.dto.BstIvtCutpointivtQuery; import org.nl.b_lms.bst.ivt.cutpointivt.service.dto.CutpointAirShhaftDto; +import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt; import org.nl.b_lms.sch.tasks.slitter.mapper.dto.SlitterPlanDistinctDto; import org.nl.common.domain.query.PageQuery; import com.baomidou.mybatisplus.extension.service.IService; @@ -65,13 +66,12 @@ public interface IBstIvtCutpointivtService extends IService { List getAreaNotTaskPointByStatusNotCheckPickUpCompleted(String type, String pointStatus, String area, String sort); /** - * 获取同尺寸的气涨轴 - * @param type 点位类型:1套轴对接位,2分切缓存位,3分切对接位,4套轴异常位 - * @param size 气涨轴尺寸 - * @param generation 代数(4:小,5:大) + * 获取空的子卷下线满轴位点 + * @param point_status 点位类型:1套轴对接位,2分切缓存位,3分切对接位,4套轴异常位 + * @param ivt_status 气涨轴尺寸 * @return / */ - List getPointByTypeAndShaftSize(String type, String size, String generation); + List getPointByStatus(String point_status, String ivt_status); /** * 根据桁架对应的点位编码获取点位实体 diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/dao/mapper/BstIvtCutpointivtMapper.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/dao/mapper/BstIvtCutpointivtMapper.java index ff571da..952febb 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/dao/mapper/BstIvtCutpointivtMapper.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/dao/mapper/BstIvtCutpointivtMapper.java @@ -3,6 +3,7 @@ package org.nl.b_lms.bst.ivt.cutpointivt.service.dao.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.nl.b_lms.bst.ivt.cutpointivt.service.dao.BstIvtCutpointivt; import org.nl.b_lms.bst.ivt.cutpointivt.service.dto.CutpointAirShhaftDto; +import org.nl.b_lms.sch.point.dao.BstIvtPackageinfoivt; import org.nl.b_lms.sch.tasks.slitter.mapper.dto.SlitterPlanDistinctDto; import java.util.List; @@ -15,7 +16,7 @@ public interface BstIvtCutpointivtMapper extends BaseMapper { List getAreaNotTaskPointByStatus(String type, String pointStatus, String area, String sort); - List getPointByTypeAndShaftSize(String type, String size, String generation); + List getPointByStatus(String point_status, String ivt_status); List getAreaNotTaskPointByLocationAreaAndStatus(String location); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/dao/mapper/BstIvtCutpointivtMapper.xml b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/dao/mapper/BstIvtCutpointivtMapper.xml index 33da3dd..3922835 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/dao/mapper/BstIvtCutpointivtMapper.xml +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/cutpointivt/service/dao/mapper/BstIvtCutpointivtMapper.xml @@ -26,26 +26,19 @@ - SELECT bc.* - FROM `bst_ivt_cutpointivt` bc - LEFT JOIN pdm_bi_slittingproductionplan pp ON pp.qzzno = bc.qzz_no1 - OR pp.qzzno = bc.qzz_no2 - WHERE bc.point_type = #{type} - AND IFNULL(pp.qzzno,'') ]]> '' - AND pp.qzz_size = #{size} - - AND pp.qzz_generation = #{generation} - + FROM `bst_ivt_packageinfoivt` bc + WHERE bc.point_status = #{point_status} + AND bc.ivt_status = #{ivt_status} AND bc.is_used = '1' - AND bc.point_status = '3' - AND IFNULL(pp.workorder_id,'') ]]> '' AND 0 = (SELECT COUNT(*) FROM sch_base_task t WHERE t.task_status '07' AND t.is_delete = '0' - AND (t.point_code1 = bc.truss_point_code1 OR t.point_code1 = bc.truss_point_code2)) + AND (t.point_code1 = bc.point_code OR t.point_code2 = bc.point_code OR t.point_code3 = bc.point_code OR t.point_code4 = bc.point_code)) + order by bc.sort_seq + diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/service/StIvtStructivtService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/service/StIvtStructivtService.java index 1c8daf3..d0482ec 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/service/StIvtStructivtService.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/service/StIvtStructivtService.java @@ -1,8 +1,10 @@ package org.nl.b_lms.storage_manage.st.service; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import org.apache.ibatis.annotations.Param; +import org.nl.b_lms.storage_manage.ios.service.iostorInv.dto.InventoryQueryParam; import org.nl.b_lms.storage_manage.st.dao.StIvtStructivt; import org.nl.common.domain.query.PageQuery; import org.nl.wms.basedata.st.service.dto.ProductStoreDownDto; @@ -63,4 +65,11 @@ public interface StIvtStructivtService extends IService { * @return */ StIvtStructivt getOneByPcsn(String pcsn, boolean throwEx); + + /** + * 获取所有库存信息 + * @param param + * @return + */ + List getAllInventorys(InventoryQueryParam param); } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/service/impl/StIvtStructivtServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/service/impl/StIvtStructivtServiceImpl.java index 21888dd..5e2085e 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/service/impl/StIvtStructivtServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/storage_manage/st/service/impl/StIvtStructivtServiceImpl.java @@ -1,9 +1,11 @@ package org.nl.b_lms.storage_manage.st.service.impl; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.nl.b_lms.storage_manage.ios.service.iostorInv.dto.InventoryQueryParam; import org.nl.b_lms.storage_manage.st.dao.StIvtStructivt; import org.nl.b_lms.storage_manage.st.dao.mapper.StIvtStructivtMapper; import org.nl.b_lms.storage_manage.st.service.StIvtBsrealstorattrService; @@ -71,4 +73,9 @@ public class StIvtStructivtServiceImpl extends ServiceImpl getAllInventorys(InventoryQueryParam param) { + return stIvtStructivtMapper.getAllInventorys(param); + } } diff --git a/lms/nladmin-system/src/main/java/org/nl/common/utils/CollectionUtils.java b/lms/nladmin-system/src/main/java/org/nl/common/utils/CollectionUtils.java new file mode 100644 index 0000000..a747cfe --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/common/utils/CollectionUtils.java @@ -0,0 +1,22 @@ +package org.nl.common.utils; + +import cn.hutool.core.collection.CollUtil; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.function.Function; +import java.util.stream.Collectors; + +/** + * @Author: lyd + * @Date: 2025/6/20 + */ +public class CollectionUtils { + public static List mapList(Collection from, Function func) { + if (CollUtil.isEmpty(from)) { + return new ArrayList<>(); + } + return from.stream().map(func).collect(Collectors.toList()); + } +} From 07c0ef98f61df9dc9a60d0a9912564a942d4b0ea Mon Sep 17 00:00:00 2001 From: zds <2388969634@qq.com> Date: Fri, 20 Jun 2025 17:16:06 +0800 Subject: [PATCH 8/9] =?UTF-8?q?opt=EF=BC=9A=E4=BC=98=E5=8C=96=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BstIvtStockingivtController.java | 6 - .../service/IBstIvtStockingivtService.java | 2 - .../impl/BstIvtStockingivtServiceImpl.java | 175 +----------------- .../pda/controller/StockingIvtController.java | 4 +- .../service/impl/StockingIvtServiceImpl.java | 66 ++++--- 5 files changed, 42 insertions(+), 211 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/stockingivt/controller/BstIvtStockingivtController.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/stockingivt/controller/BstIvtStockingivtController.java index 871243f..d981b62 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/stockingivt/controller/BstIvtStockingivtController.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/stockingivt/controller/BstIvtStockingivtController.java @@ -56,12 +56,6 @@ public class BstIvtStockingivtController { return new ResponseEntity<>(HttpStatus.OK); } - @Log("操作管芯托盘库存") - @PostMapping("operateIvt") - public ResponseEntity operateIvt(@RequestBody JSONObject param) { - return new ResponseEntity<>(bstIvtStockingivtService.operateIvt(param), HttpStatus.OK); - } - @Log("查询管芯托盘库存明细") @PostMapping("/showDetail") public ResponseEntity showDetail(@RequestBody JSONObject param) { diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/stockingivt/service/IBstIvtStockingivtService.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/stockingivt/service/IBstIvtStockingivtService.java index f0a3d33..e39b9cd 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/stockingivt/service/IBstIvtStockingivtService.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/stockingivt/service/IBstIvtStockingivtService.java @@ -81,8 +81,6 @@ public interface IBstIvtStockingivtService extends IService { */ BstIvtStockingivt getCanMovePointOne(String location, String pointType); - JSONObject operateIvt(JSONObject jsonObject) ; - /** * 分组聚合获取需要管芯的托盘位置 * @param pointType diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/stockingivt/service/impl/BstIvtStockingivtServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/stockingivt/service/impl/BstIvtStockingivtServiceImpl.java index 638dc99..28eba55 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/stockingivt/service/impl/BstIvtStockingivtServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/bst/ivt/stockingivt/service/impl/BstIvtStockingivtServiceImpl.java @@ -9,6 +9,8 @@ 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.extern.slf4j.Slf4j; +import org.nl.b_lms.bst.ivt.paper.service.dao.MdPbPaper; +import org.nl.b_lms.bst.ivt.paper.service.dao.mapper.MdPbPaperMapper; import org.nl.b_lms.bst.ivt.papervehicle.service.IMdPbPapervehicleService; import org.nl.b_lms.bst.ivt.papervehicle.service.dao.MdPbPapervehicle; import org.nl.b_lms.bst.ivt.stockingivt.service.IBstIvtStockingivtService; @@ -32,6 +34,7 @@ import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -133,178 +136,6 @@ public class BstIvtStockingivtServiceImpl extends ServiceImpl lines = new ArrayList<>(); -// lines.add("纸制简管|纸管|6英寸|1300"); -// lines.add("纸制简管|纸管|3英寸|12|650"); -// lines.add("玻璃纤维及其制品|FRP管|6英寸|15-20|1700|阶梯"); -// lines.add("玻璃纤维及其制品|FRP管|6英寸|15|1700|高强"); -// // 定义正则表达式,去除最后的中文部分 -// String regex = "\\|[\\u4e00-\\u9fa5]+$"; -// -// // 处理每一行数据 -// List cleanedLines = new ArrayList<>(); -// for (String line : lines) { -// cleanedLines.add(line.replaceAll(regex, "")); -// } -// -// // 打印结果 -// for (String cleanedLine : cleanedLines) { -// System.out.println(cleanedLine); -// } - String material_name = "玻璃纤维及其制品|FRP管|6英寸|15-20|1100|阶梯"; - String[] tubeArray = material_name.replaceAll("\\|[\\u4e00-\\u9fa5]+$", "").split("\\|"); - System.out.println(tubeArray); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public JSONObject operateIvt(JSONObject jsonObject) { - log.info("手持操作管芯托盘 - {}", jsonObject); - //载具托盘号 - String vehicle_code = jsonObject.getString("vehicle_code"); - //排 - String row_num = jsonObject.getString("row_num"); - //列 - String col_num = jsonObject.getString("col_num"); - //物料 - String material_code = jsonObject.getString("material_code"); - //管芯/纸管编码 - String paper_code = jsonObject.getString("paper_code"); - - String currentUserId = SecurityUtils.getCurrentUserId(); - String nickName = SecurityUtils.getCurrentNickName(); - String now = DateUtil.now(); - if (ObjectUtil.isEmpty(row_num)) { - throw new BadRequestException("排数不能为空!"); - } - if (ObjectUtil.isEmpty(col_num)) { - throw new BadRequestException("列数不能为空!"); - } - if (ObjectUtil.isEmpty(vehicle_code)) { - throw new BadRequestException("托盘信息不能为空!"); - } - if(!vehicle_code.contains("GX")){ - throw new BadRequestException("请扫描或输入正确的托盘码!"); - } - //1-绑定;2-清除 - String type = jsonObject.getString("type"); - if (type.equals("1")) { - if (ObjectUtil.isEmpty(material_code)) { - throw new BadRequestException("物料编码不能为空!"); - } - if (ObjectUtil.isEmpty(paper_code)) { - throw new BadRequestException("管芯/纸管编码不能为空!"); - } - MaterialbaseDto mater = materialbaseService.findByCode(material_code); - String material_name = mater.getMaterial_name(); - //查询当前载具和排列是否存在库存 - MdPbPapervehicle papervehicle = papervehicleService.getOne(new LambdaQueryWrapper() - .eq(MdPbPapervehicle::getVehicle_code, vehicle_code) - .eq(MdPbPapervehicle::getRow_num, row_num) - .eq(MdPbPapervehicle::getCol_num, col_num)); - if (ObjectUtil.isNotEmpty(papervehicle) && !papervehicle.getMaterial_code().equals(material_code)) { - throw new BadRequestException("当前排-列已有物料为【" + papervehicle.getMaterial_code() + "】,如需要修改请先清除库存,再进行绑定!"); - } - //查询当前管芯编码是否在托盘中 - MdPbPapervehicle papervehicle_flag = papervehicleService.getOne(new LambdaQueryWrapper() - .eq(MdPbPapervehicle::getPaper_code, paper_code)); - if (ObjectUtil.isNotEmpty(papervehicle_flag)) { - throw new BadRequestException("当前管芯编码已存在托盘上:" + papervehicle_flag.getVehicle_code() + "所在位置排列:"+papervehicle_flag.getRow_num()+"-"+papervehicle_flag.getCol_num()); - } - //获取当前纸管的高度 - // 解析描述数组 - String[] tubeArray = material_name.replaceAll("\\|[\\u4e00-\\u9fa5]+$", "").split("\\|"); - - int currLength = Integer.parseInt(tubeArray[tubeArray.length - 1]); - - //校验高度差要大于50MM,否则不允许进行绑定 - int num = Integer.parseInt(row_num); - if (num == 1) { - //只判断第二排的纸管长度 - int nextNum = num + 1; - MdPbPapervehicle nextPaper = papervehicleService.getOne(new LambdaQueryWrapper().eq(MdPbPapervehicle::getVehicle_code, vehicle_code) - .eq(MdPbPapervehicle::getRow_num, nextNum)); - if (ObjectUtil.isNotEmpty(nextPaper)) { - //获取第二排的纸管高度和纸管类型 - String nextMaterialName = nextPaper.getMaterial_name(); - String[] nextArray = nextMaterialName.replaceAll("\\|[\\u4e00-\\u9fa5]+$", "").split("\\|"); - int nextLength = Integer.parseInt(nextArray[nextArray.length - 1]); - if (Math.abs(nextLength - currLength) <= 50 && !material_code.equals(nextPaper.getMaterial_code())) { - throw new BadRequestException("相邻排的纸管高度差要大于等于50MM!"); - } - } - } else { - //判断后一排的纸管高度 - int nextNum = num + 1; - MdPbPapervehicle nextPaper = papervehicleService.getOne(new LambdaQueryWrapper().eq(MdPbPapervehicle::getVehicle_code, vehicle_code) - .eq(MdPbPapervehicle::getRow_num, nextNum)); - if (ObjectUtil.isNotEmpty(nextPaper)) { - //获取后一排的纸管高度和纸管类型 - String nextMaterialName = nextPaper.getMaterial_name(); - String[] nextArray = nextMaterialName.replaceAll("\\|[\\u4e00-\\u9fa5]+$", "").split("\\|"); - int nextLength = Integer.parseInt(nextArray[nextArray.length - 1]); - if (Math.abs(nextLength - currLength) <= 50 && !material_code.equals(nextPaper.getMaterial_code())) { - throw new BadRequestException("相邻排的纸管高度差要大于等于50MM!"); - } - } - //判断前一排的纸管高度 - int preNum = num - 1; - MdPbPapervehicle prePaper = papervehicleService.getOne(new LambdaQueryWrapper().eq(MdPbPapervehicle::getVehicle_code, vehicle_code) - .eq(MdPbPapervehicle::getRow_num, preNum)); - if (ObjectUtil.isNotEmpty(prePaper)) { - //获取后一排的纸管高度和纸管类型 - String preMaterialName = prePaper.getMaterial_name(); - String[] preArray = preMaterialName.replaceAll("\\|[\\u4e00-\\u9fa5]+$", "").split("\\|"); - int preLength = Integer.parseInt(preArray[preArray.length - 1]); - if (Math.abs(preLength - currLength) <= 50 && !material_code.equals(prePaper.getMaterial_code())) { - throw new BadRequestException("相邻排的纸管高度差要大于等于50MM!"); - } - } - } - if (ObjectUtil.isNotEmpty(papervehicle)) { - papervehicle.setQty(1); - papervehicle.setUpdate_optid(currentUserId); - papervehicle.setUpdate_optname(nickName); - papervehicle.setUpdate_time(now); - papervehicleService.updateById(papervehicle); - } else { - papervehicle = new MdPbPapervehicle(); - papervehicle.setIvt_id(IdUtil.getSnowflake(1, 1).nextIdStr()); - papervehicle.setVehicle_code(vehicle_code); - papervehicle.setRow_num(row_num); - papervehicle.setMaterial_code(material_code); - papervehicle.setMaterial_name(material_name); - papervehicle.setQty(1); - papervehicle.setUpdate_optid(currentUserId); - papervehicle.setUpdate_optname(nickName); - papervehicle.setUpdate_time(now); - papervehicleService.save(papervehicle); - } - }else if (type.equals("2")) { - //清除管芯托盘库存 - papervehicleService.remove(new LambdaQueryWrapper().eq(MdPbPapervehicle::getVehicle_code, vehicle_code) - .eq(MdPbPapervehicle::getRow_num, row_num) - .eq(MdPbPapervehicle::getCol_num, col_num)); - } - - //判断绑定的纸管是否在机械手范围内,如果存在的话把最新库存推送给电气 - BstIvtStockingivt bstIvtStockingivt = bstIvtStockingivtMapper.selectOne(new LambdaQueryWrapper().eq(BstIvtStockingivt::getVehicle_code, vehicle_code)); - if (bstIvtStockingivt != null && bstIvtStockingivt.getPoint_type().equals("1")) { - List list = papervehicleService.list(new LambdaQueryWrapper().eq(MdPbPapervehicle::getVehicle_code, vehicle_code)); - JSONObject jo = new JSONObject(); - SlitterTaskUtil.doSavePaperInfos(list, jo); - jo.put("product_area", bstIvtStockingivt.getProduct_area()); - jo.put("device_code", bstIvtStockingivt.getPoint_code()); - wmsToAcsService.getTubeMsg(jo); - } - - JSONObject result = new JSONObject(); - result.put("status", HttpStatus.OK.value()); - result.put("message", "操作成功!"); - return result; - } - @Override public List getNeedPaperTubePoint(String pointType, String tube, String location) { return bstIvtStockingivtMapper.getNeedPaperTubePoint(pointType, tube, location); diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/controller/StockingIvtController.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/controller/StockingIvtController.java index 87a555f..9d86fcc 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/controller/StockingIvtController.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/controller/StockingIvtController.java @@ -71,10 +71,10 @@ public class StockingIvtController { } @Log("操作管芯托盘库存") - @PostMapping("operateIvt") + @PostMapping("/operateIvt") @SaIgnore public ResponseEntity operateIvt(@RequestBody JSONObject param) { - return new ResponseEntity<>(bstIvtStockingivtService.operateIvt(param), HttpStatus.OK); + return new ResponseEntity<>(stockingIvtService.operateIvt(param), HttpStatus.OK); } } diff --git a/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/service/impl/StockingIvtServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/service/impl/StockingIvtServiceImpl.java index c771a4a..bf291e1 100644 --- a/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/service/impl/StockingIvtServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/b_lms/pda/service/impl/StockingIvtServiceImpl.java @@ -8,6 +8,8 @@ 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.b_lms.bst.ivt.paper.service.dao.MdPbPaper; +import org.nl.b_lms.bst.ivt.paper.service.dao.mapper.MdPbPaperMapper; import org.nl.b_lms.bst.ivt.papervehicle.service.IMdPbPapervehicleService; import org.nl.b_lms.bst.ivt.papervehicle.service.dao.MdPbPapervehicle; import org.nl.b_lms.bst.ivt.stockingivt.service.IBstIvtStockingivtService; @@ -19,7 +21,6 @@ import org.nl.b_lms.sch.tasks.slitter.InstorStockAgvTask; import org.nl.b_lms.sch.tasks.slitter.constant.SlitterConstant; import org.nl.b_lms.sch.tasks.slitter.constant.SlitterEnum; import org.nl.b_lms.sch.tasks.slitter.util.SlitterTaskUtil; -import org.nl.b_lms.storage_manage.md.service.MaterialbaseService; import org.nl.common.utils.SecurityUtils; import org.nl.common.utils.TaskUtils; import org.nl.modules.common.exception.BadRequestException; @@ -32,6 +33,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; import java.util.List; /** @@ -42,20 +44,20 @@ import java.util.List; @Slf4j @Service public class StockingIvtServiceImpl implements StockingIvtService { - @Autowired + @Resource private BstIvtStockingivtMapper bstIvtStockingivtMapper; @Autowired private IBstIvtStockingivtService stockingivtService; @Autowired private InstorStockAgvTask instorStockAgvTask; - @Autowired + @Resource private SysDictMapper sysDictMapper; @Autowired private WmsToAcsService wmsToAcsService; @Autowired private IMdPbPapervehicleService papervehicleService; - @Autowired - private MaterialbaseService materialbaseService; + @Resource + private MdPbPaperMapper mdPbPaperMapper; @Override public JSONObject doStockAreaBinding(JSONObject param) { @@ -264,35 +266,45 @@ public class StockingIvtServiceImpl implements StockingIvtService { String row_num = jsonObject.getString("row_num"); //列 String col_num = jsonObject.getString("col_num"); - //物料 - String material_code = jsonObject.getString("material_code"); //管芯/纸管编码 String paper_code = jsonObject.getString("paper_code"); String currentUserId = SecurityUtils.getCurrentUserId(); String nickName = SecurityUtils.getCurrentNickName(); String now = DateUtil.now(); - + if (ObjectUtil.isEmpty(row_num)) { + throw new BadRequestException("排数不能为空!"); + } + if (ObjectUtil.isEmpty(col_num)) { + throw new BadRequestException("列数不能为空!"); + } + if (ObjectUtil.isEmpty(vehicle_code)) { + throw new BadRequestException("托盘信息不能为空!"); + } + if(!vehicle_code.contains("GX")){ + throw new BadRequestException("请扫描或输入正确的托盘码!"); + } //1-绑定;2-清除 String type = jsonObject.getString("type"); if (type.equals("1")) { - if (ObjectUtil.isEmpty(vehicle_code)) { - throw new BadRequestException("托盘信息不能为空!"); - } - if(!vehicle_code.contains("GX")){ - throw new BadRequestException("请扫描或输入正确的托盘码!"); - } - if (ObjectUtil.isEmpty(material_code)) { - throw new BadRequestException("物料不能为空!"); - } if (ObjectUtil.isEmpty(paper_code)) { throw new BadRequestException("管芯/纸管编码不能为空!"); } - MaterialbaseDto mater = materialbaseService.findByCode(material_code); - String material_name = mater.getMaterial_name(); - //查询当前载具和排是否存在库存 - MdPbPapervehicle papervehicle = papervehicleService.getOne(new LambdaQueryWrapper().eq(MdPbPapervehicle::getVehicle_code, vehicle_code) - .eq(MdPbPapervehicle::getRow_num, row_num).eq(MdPbPapervehicle::getCol_num, col_num)); + //查询管芯记录 + LambdaQueryWrapper lam = new LambdaQueryWrapper<>(); + lam.eq( ObjectUtil.isNotEmpty(paper_code),MdPbPaper::getPaper_code,paper_code); + MdPbPaper paper = mdPbPaperMapper.selectOne(lam); + if(ObjectUtil.isEmpty(paper)){ + throw new BadRequestException("管芯/纸管记录不存在!"); + } + //物料 + String material_code = paper.getMaterial_code(); + String material_name = paper.getMaterial_name(); + //查询当前载具和排列是否存在库存 + MdPbPapervehicle papervehicle = papervehicleService.getOne(new LambdaQueryWrapper() + .eq(MdPbPapervehicle::getVehicle_code, vehicle_code) + .eq(MdPbPapervehicle::getRow_num, row_num) + .eq(MdPbPapervehicle::getCol_num, col_num)); if (ObjectUtil.isNotEmpty(papervehicle) && !papervehicle.getMaterial_code().equals(material_code)) { throw new BadRequestException("当前排-列已有物料为【" + papervehicle.getMaterial_code() + "】,如需要修改请先清除库存,再进行绑定!"); } @@ -352,17 +364,13 @@ public class StockingIvtServiceImpl implements StockingIvtService { } } } - if (ObjectUtil.isNotEmpty(papervehicle)) { - papervehicle.setQty(1); - papervehicle.setUpdate_optid(currentUserId); - papervehicle.setUpdate_optname(nickName); - papervehicle.setUpdate_time(now); - papervehicleService.updateById(papervehicle); - } else { + if (ObjectUtil.isEmpty(papervehicle)) { papervehicle = new MdPbPapervehicle(); papervehicle.setIvt_id(IdUtil.getSnowflake(1, 1).nextIdStr()); papervehicle.setVehicle_code(vehicle_code); papervehicle.setRow_num(row_num); + papervehicle.setCol_num(col_num); + papervehicle.setPaper_code(paper_code); papervehicle.setMaterial_code(material_code); papervehicle.setMaterial_name(material_name); papervehicle.setQty(1); From 57849668b70b247a99a3d6afdb573ee8d728baae Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Mon, 23 Jun 2025 09:43:57 +0800 Subject: [PATCH 9/9] =?UTF-8?q?opt:=20=E5=87=BA=E5=BA=93=E5=8F=96=E6=B6=88?= =?UTF-8?q?=E5=88=86=E9=85=8D(wql=E6=94=B9mp)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/StIvtIostorinvOutServiceImpl.java | 27 +++++++++---------- .../outbill/rest/CheckOutBillController.java | 13 +++++++++ 2 files changed, 26 insertions(+), 14 deletions(-) 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 7a81fbc..eacc9a1 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 @@ -1,5 +1,6 @@ package org.nl.b_lms.storage_manage.ios.service.iostorInv.impl; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.NumberUtil; import cn.hutool.core.util.ObjectUtil; @@ -8,10 +9,13 @@ import com.alibaba.fastjson.JSONArray; 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.extension.service.impl.ServiceImpl; import lombok.SneakyThrows; import org.nl.b_lms.pdm_manage.enums.SUBEnum; +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.TwoExcepionalMoveTask; import org.nl.b_lms.sch.tasks.TwoOutExceptionalTask; import org.nl.b_lms.sch.tasks.TwoOutTask; @@ -141,6 +145,8 @@ public class StIvtIostorinvOutServiceImpl extends ServiceImpl taskIds = disList.stream() .map(row -> row.getString("task_id")) .distinct() - .collect(Collectors.joining("','")); - - - if (task_id_in.equals("null")) { - task_id_in = ""; + .collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(taskIds)) { + LambdaUpdateWrapper lam = new LambdaUpdateWrapper<>(); + lam.set(SchBaseTask::getIs_delete, IOSEnum.IS_NOTANDYES.code("是")) + .in(SchBaseTask::getTask_id, taskIds); + ischBaseTaskService.update(lam); } - JSONObject taskParam = new JSONObject(); - taskParam.put("is_delete", IOSEnum.IS_NOTANDYES.code("是")); - - taskService.update(taskParam,"task_id IN ('"+task_id_in+"')"); - /* * 删除移库单、移库任务 */ diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/rest/CheckOutBillController.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/rest/CheckOutBillController.java index 906376b..75cbf7a 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/rest/CheckOutBillController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/rest/CheckOutBillController.java @@ -90,4 +90,17 @@ public class CheckOutBillController { public ResponseEntity getOutBillTask(@RequestParam Map whereJson) { return new ResponseEntity<>(checkOutBillService.getOutBillTask(whereJson), HttpStatus.OK); } + @PostMapping("/allDivOne") + @Log("出库单自动分配") + public ResponseEntity allDivOne(@RequestBody JSONObject whereJson) { + iStIvtIostorinvOutService.allDiv(whereJson); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + @PostMapping("/allCancel") + @Log("出库单全部取消") + public ResponseEntity allCancel(@RequestBody JSONObject whereJson) { + iStIvtIostorinvOutService.cancelDiv(whereJson); + return new ResponseEntity<>(HttpStatus.NO_CONTENT); + } + }