From ed5d9d2985de16c91e2306bdee14b1db5bc90686 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=91=A3=E5=93=B2=E5=A5=87?= <13840175730@139.com> Date: Tue, 8 Jul 2025 16:59:07 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BD=99=E6=96=99=E5=BA=93=E5=AD=98=E7=AE=A1?= =?UTF-8?q?=E7=90=86(=E6=9C=AA=E5=AE=8C=E6=88=90)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gj_erp/controller/zyjh/YlController.java | 51 ++++++++++++++++++- .../gj_erp/controller/zyjh/dto/YlSlDto.java | 1 + 2 files changed, 51 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/YlController.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/YlController.java index c37f822..46951e4 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/YlController.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/YlController.java @@ -36,6 +36,9 @@ public class YlController { ylInfoService.list(Wrappers.lambdaQuery() .eq(DmYlInfo::get来源船号,dto.getDcCh()) .eq(DmYlInfo::get使用状态,dto.getStatus()) + .eq(StrUtil.isNotEmpty(dto.getDcPl()),DmYlInfo::get来源批量,dto.getDcPl()) + .eq(StrUtil.isNotEmpty(dto.getTzbh()),DmYlInfo::get来源图纸,dto.getTzbh()) + .like(dto.isGd()&&dto.getStatus()==2,DmYlInfo::get使用图纸,"N8GX") //查询结果使用最小匹配原则为按规格匹配上料提供匹配顺序 .orderByAsc(DmYlInfo::get板宽,DmYlInfo::get板长) ) @@ -136,7 +139,7 @@ public class YlController { List list = ydjhService.list(Wrappers.lambdaQuery() .eq(DmYdjh::getDcCh, dto.getDcCh()) .eq(DmYdjh::getDcPl, dto.getDcPl()) - .eq(DmYdjh::getYlbs,"Y") + .eq(DmYdjh::getYlbs,"Y").ne(DmYdjh::getKw,"17")//不包含光电,光电单独上料 .and(item->item.isNull(DmYdjh::getYlCh).or().eq(DmYdjh::getYlCh,"")) .eq(StrUtil.isNotEmpty(dto.getTzbh()),DmYdjh::getTzbh,dto.getTzbh()) .orderByDesc(DmYdjh::getWpgg) @@ -164,4 +167,50 @@ public class YlController { return new ResultBean<>(匹配成功的余料信息); } + + /** + * 独立光电余料上料 + */ + @PostMapping("gdsl") + public ResultBean gdsl(@RequestBody YlSlDto dto){ + if (!dto.isAllow()){ + throw new ServiceException(99999,"请填写需求船号和批次"); + } + if (ObjectUtil.isEmpty(dto.getYlList())){ + return new ResultBean<>(new ArrayList<>()); + } + + List list = ydjhService.list(Wrappers.lambdaQuery() + .eq(DmYdjh::getDcCh, dto.getDcCh()) + .eq(DmYdjh::getDcPl, dto.getDcPl()) + .eq(DmYdjh::getYlbs,"Y").eq(DmYdjh::getKw,"17")//光电单独上料 + .and(item->item.isNull(DmYdjh::getYlCh).or().eq(DmYdjh::getYlCh,"")) + .eq(StrUtil.isNotEmpty(dto.getTzbh()),DmYdjh::getTzbh,dto.getTzbh()) + .orderByDesc(DmYdjh::getWpgg) + ); + + List 匹配成功的余料信息=new ArrayList<>(); + + out: + for (DmYdjh ydjh:list){ + for(DmYlInfo ylInfo:dto.getYlList()){ + if (ylInfo.指定余料编号的上料匹配(ydjh.getJhsyylbh())&&ylInfo.上料匹配(ydjh)){//暂时不支持,仅保留分支流程 + ylInfo.修正上料信息(ydjh); + 匹配成功的余料信息.add(ylInfo); + continue out; + } + } + for (DmYlInfo ylInfo:dto.getYlList()){ + if (ylInfo.上料匹配(ydjh)){ + ylInfo.修正上料信息(ydjh); + 匹配成功的余料信息.add(ylInfo); + continue out; + } + } + } + + return new ResultBean<>(匹配成功的余料信息); + } + + } diff --git a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/YlSlDto.java b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/YlSlDto.java index b367ec5..0e719bb 100644 --- a/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/YlSlDto.java +++ b/src/main/java/com/dsic/gj_erp/controller/zyjh/dto/YlSlDto.java @@ -18,6 +18,7 @@ public class YlSlDto { private String gg; private String lph; private Integer status; + private boolean isGd=false; private List ylList;