From 56dfe0d4bf81262622a1919cceb2b039fd356209 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期二, 03 九月 2024 16:52:49 +0800 Subject: [PATCH] 代码提交 bug解决 --- ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionRkServiceImpl.java | 177 +++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 147 insertions(+), 30 deletions(-) diff --git a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionRkServiceImpl.java b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionRkServiceImpl.java index 67a1a6c..42632be 100644 --- a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionRkServiceImpl.java +++ b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionRkServiceImpl.java @@ -71,6 +71,7 @@ @Autowired private SlVolumeProductionZyService slVolumeProductionZyService; + @Autowired private SlVolumeProductionZyService slVolumeProductionZyglService; @@ -80,7 +81,7 @@ Page<SlVolumeProductionRk> page = new Page<>(managementimgVolumeProductionRkDTO.getPageCurr(), managementimgVolumeProductionRkDTO.getPageSize()); LambdaQueryWrapper< SlVolumeProductionRk> wrapper1= Wrappers.lambdaQuery(); - wrapper1.like(SlVolumeProductionRk::getVolumeProductionRkglId,managementimgVolumeProductionRkDTO.getVolumeProductionRkglId()); + wrapper1.eq(SlVolumeProductionRk::getVolumeProductionRkglId,managementimgVolumeProductionRkDTO.getVolumeProductionRkglId()); wrapper1.eq( SlVolumeProductionRk::getDelFlag,0); wrapper1.orderByDesc(SlVolumeProductionRk::getCreateTime); Page<SlVolumeProductionRk> page2 = this.page(page, wrapper1); @@ -96,9 +97,16 @@ if (data!=null){ list.setSupplierName(data.getNickName()); } - SlGoodsShelf slGoodsShelf = slGoodsShelfMapper.selectById(list.getShelfId()); - if (slGoodsShelf!=null){ - list.setGoodsShelfName(slGoodsShelf.getGoodsShelfName()); + StringBuilder stringBuilder = new StringBuilder(); + for (String s : list.getShelfId().split(",")) { + SlGoodsShelf slGoodsShelf = slGoodsShelfMapper.selectById(s); + if (slGoodsShelf!=null){ + stringBuilder.append(slGoodsShelf.getGoodsShelfName()).append(","); + } + } + // 去除最后一位字符 + if (StringUtils.hasLength(stringBuilder.toString())){ + list.setGoodsShelfName(stringBuilder.substring(0, stringBuilder.length() - 1)); } LambdaQueryWrapper<SlGoodsShelf> wrapper5= Wrappers.lambdaQuery(); wrapper5.eq(SlGoodsShelf::getStoreManagementId,byId.getManagementId()); @@ -118,6 +126,9 @@ LambdaQueryWrapper< SlVolumeProductionRk> wrapper1= Wrappers.lambdaQuery(); wrapper1.eq(SlVolumeProductionRk::getMaterialsId,SlGoodsMaterialsSlVolumeProductionRkDTO.getSlGoodsMaterialsid()); wrapper1.eq( SlVolumeProductionRk::getDelFlag,0); + if (SlGoodsMaterialsSlVolumeProductionRkDTO.getStoreManagementNumber()!=null){ + wrapper1.eq(SlVolumeProductionRk::getStoreManagementNumber,SlGoodsMaterialsSlVolumeProductionRkDTO.getStoreManagementNumber()); + } wrapper1.eq(SlVolumeProductionRk::getManagementId,SlGoodsMaterialsSlVolumeProductionRkDTO.getId()); wrapper1.isNotNull(SlVolumeProductionRk::getNewAddTime); wrapper1.orderByDesc(SlVolumeProductionRk::getCreateTime); @@ -125,6 +136,12 @@ PageDTO<ManagementimgVolumeProductionRkVO> SlGoodsShelfDTO = PageDTO.of(page2, ManagementimgVolumeProductionRkVO.class); List<ManagementimgVolumeProductionRkVO> list2 = SlGoodsShelfDTO.getList(); for(ManagementimgVolumeProductionRkVO list:list2) {{ + if (list.getSupplierId()!=null){ + SysUser data = sysUserClient.getSysUser(list.getSupplierId()).getData(); + if (data!=null){ + list.setSupplierName(data.getNickName()); + } + } SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(list.getMaterialsId()); if (slGoodsMaterials!=null){ list.setGoodsMaterialsName(slGoodsMaterials.getGoodsMaterialsName()); @@ -137,10 +154,16 @@ list.setSupplierName(data.getNickName()); } } - SlGoodsShelf slGoodsShelf = slGoodsShelfMapper.selectById(list.getShelfId()); - if (slGoodsShelf!=null){ - list.setGoodsShelfName(slGoodsShelf.getGoodsShelfName()); - + StringBuilder stringBuilder = new StringBuilder(); + for (String s : list.getShelfId().split(",")) { + SlGoodsShelf slGoodsShelf = slGoodsShelfMapper.selectById(s); + if (slGoodsShelf!=null){ + stringBuilder.append(slGoodsShelf.getGoodsShelfName()).append(","); + } + } + // 去除最后一位字符 + if (StringUtils.hasLength(stringBuilder.toString())){ + list.setGoodsShelfName(stringBuilder.substring(0, stringBuilder.length() - 1)); } } } @@ -155,7 +178,8 @@ slVolumeProductionRk.setVolumeProductionRkglId(m.getVolumeProductionRkglId()); slVolumeProductionRk.setMaterialsId(m.getMaterialsId()); slVolumeProductionRk.setManagementId(m.getManagementId()); - slVolumeProductionRk.setRkNumber("CD-"+simpleDateFormat.format(new Date())+UUIDUtil.getNumberRandom(2)); + SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(m.getMaterialsId()); + slVolumeProductionRk.setRkNumber(slGoodsMaterials.getGoodsMaterialsNo()+"-"+simpleDateFormat.format(new Date())+UUIDUtil.getNumberRandom(2)); slVolumeProductionRk.setNewAddTime(m.getNewAddTime()); if ( m.getErwmNum()!=null){ slVolumeProductionRk.setErwmNum( m.getErwmNum()); @@ -183,9 +207,12 @@ public void uplSlVolumeProductionRk(List<SlVolumeProductionRkDTO> SlVolumeProductionRkDTO) { for (SlVolumeProductionRkDTO a:SlVolumeProductionRkDTO){ SlVolumeProductionRk byId = this.getById(a.getId()); - byId.setSmerwmNum(0); +// byId.setSmerwmNum(0); if (a.getErwmNum()!=null){ - byId.setErwmNum(a.getErwmNum()); + if (byId.getErwmNum() == null){ + byId.setErwmNum(0); + } + byId.setErwmNum(byId.getErwmNum()+a.getErwmNum()); }if (a.getRkPice()!=null){ byId.setRkPice(a.getRkPice()); }if (a.getRkNum()!=null){ @@ -234,7 +261,7 @@ } @Override - public List<QRCodeVO> codeInfo(Long id) throws Exception { + public List<QRCodeVO> codeInfo(Long id,Integer count) throws Exception { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmssSSS"); List<QRCodeVO> res = new ArrayList<>(); LambdaQueryWrapper< SlVolumeProductionRk> wrapper1= Wrappers.lambdaQuery(); @@ -244,7 +271,7 @@ List<SlVolumeProductionRk> list = this.list(wrapper1); for (SlVolumeProductionRk byId : list) { // 根据生成二维码数量 复制 - for (int i = 1; i <= byId.getErwmNum(); i++) { + for (int i = 1; i <= count; i++) { String blueS = "{\"rkNumber\": "+byId.getRkNumber()+"}"; BufferedImage blueImage = QRCodeUtil.createImage(blueS); MultipartFile blueFile = convert(blueImage, new Date().getTime() + UUIDUtil.getRandomCode(3) + ".PNG"); @@ -259,6 +286,8 @@ SysUser data = sysUserClient.getSysUser(byId1.getSupplierId()).getData(); if (data!=null){ vo.setSupplierName(data.getNickName()); + }else{ + vo.setSupplierName("-"); } vo.setMaterialsNum(byId.getRkNum()); Long materialsId = byId.getMaterialsId(); @@ -400,6 +429,7 @@ }if(meProductionRkQuery.getShelfId()!=null&&meProductionRkQuery.getShelfId()!=0){ wrapper1.eq(SlVolumeProductionRk::getShelfId,meProductionRkQuery.getShelfId()); } + wrapper1.isNotNull(SlVolumeProductionRk::getNewAddTime); wrapper1.eq( SlVolumeProductionRk::getDelFlag,0); wrapper1.orderByDesc(SlVolumeProductionRk::getCreateTime); Page<SlVolumeProductionRk> page2 = this.page(page, wrapper1); @@ -407,18 +437,96 @@ List<ManagementimgVolumeProductionRkVO> list2 = SlGoodsShelfDTO.getList(); for(ManagementimgVolumeProductionRkVO list:list2) { SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(list.getMaterialsId()); - SlVolumeProductionRkgl byId = slVolumeProductionRkglMapper.selectById(list.getVolumeProductionRkglId()); - SysUser data = sysUserClient.getSysUser(byId.getSupplierId()).getData(); - - list.setGoodsMaterialsName(slGoodsMaterials.getGoodsMaterialsName()); - list.setIsConsume(slGoodsMaterials.getIsConsume()); - if (data!=null){ - list.setSupplierName(data.getNickName()); + if (byId!=null){ + SysUser data = sysUserClient.getSysUser(byId.getSupplierId()).getData(); + if (data!=null){ + list.setSupplierName(data.getNickName()); + } + } + if (slGoodsMaterials!=null){ + list.setGoodsMaterialsName(slGoodsMaterials.getGoodsMaterialsName()); + list.setIsConsume(slGoodsMaterials.getIsConsume()); + }else{ + continue; } SlGoodsShelf slGoodsShelf = slGoodsShelfMapper.selectById(list.getShelfId()); - list.setGoodsShelfName(slGoodsShelf.getGoodsShelfName()); + if (slGoodsShelf!=null){ + list.setGoodsShelfName(slGoodsShelf.getGoodsShelfName()); + } } + return SlGoodsShelfDTO; + } + @Override + public PageDTO<ManagementimgVolumeProductionRkVO> getroductionRkList1(umeProductionRkQueryA meProductionRkQuery) { + + LambdaQueryWrapper< SlGoodsMaterials> wrapper= Wrappers.lambdaQuery(); + if (meProductionRkQuery.getGoodsMaterialsName()!=null&&meProductionRkQuery.getGoodsMaterialsName()!=""){ + wrapper.like(SlGoodsMaterials::getGoodsMaterialsName,meProductionRkQuery.getGoodsMaterialsName()); + } + if (meProductionRkQuery.getIsConsume()!=null && meProductionRkQuery.getIsConsume()!=0){ + wrapper.eq(SlGoodsMaterials::getIsConsume,meProductionRkQuery.getIsConsume()); + } + wrapper.eq( SlGoodsMaterials::getDelFlag,0); + List<SlGoodsMaterials> page1 = slGoodsMaterialsMapper.selectList(wrapper); + if (page1.isEmpty()){ + return new PageDTO<ManagementimgVolumeProductionRkVO>(); + } + Set<Long> goodsSkuIdList = null; + goodsSkuIdList = page1.stream().map(SlGoodsMaterials::getId) + .collect(Collectors.toSet()); + + Page<SlVolumeProductionRk> page = new Page<>(meProductionRkQuery.getPageCurr(), meProductionRkQuery.getPageSize()); + LambdaQueryWrapper<SlVolumeProductionRk> wrapper1= Wrappers.lambdaQuery(); + if (meProductionRkQuery.getStoreManagementNumber()!=null){ + wrapper1.eq(SlVolumeProductionRk::getStoreManagementNumber,meProductionRkQuery.getStoreManagementNumber()); + } + + if(meProductionRkQuery.getStoreManagementId()!=null&&meProductionRkQuery.getStoreManagementId()!=0){ + wrapper1.eq(SlVolumeProductionRk::getManagementId,meProductionRkQuery.getStoreManagementId()); + } + if (goodsSkuIdList.size()>0){ + wrapper1.in(SlVolumeProductionRk::getMaterialsId,goodsSkuIdList); + } + if(meProductionRkQuery.getShelfId()!=null&&meProductionRkQuery.getShelfId()!=0){ + wrapper1.eq(SlVolumeProductionRk::getShelfId,meProductionRkQuery.getShelfId()); + } + wrapper1.isNotNull(SlVolumeProductionRk::getNewAddTime); + wrapper1.eq( SlVolumeProductionRk::getDelFlag,0); + wrapper1.orderByDesc(SlVolumeProductionRk::getCreateTime); + Page<SlVolumeProductionRk> page2 = this.page(page, wrapper1); + PageDTO<ManagementimgVolumeProductionRkVO> SlGoodsShelfDTO = PageDTO.of(page2, ManagementimgVolumeProductionRkVO.class); + List<ManagementimgVolumeProductionRkVO> list2 = SlGoodsShelfDTO.getList(); + List<Long> wzIds = new ArrayList<>(); + List<ManagementimgVolumeProductionRkVO> res = new ArrayList<>(); + + for(ManagementimgVolumeProductionRkVO list:list2) { + if (wzIds.contains(list.getMaterialsId())){ + continue; + }else{ + wzIds.add(list.getMaterialsId()); + res.add(list); + } + SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(list.getMaterialsId()); + SlVolumeProductionRkgl byId = slVolumeProductionRkglMapper.selectById(list.getVolumeProductionRkglId()); + if (byId!=null){ + SysUser data = sysUserClient.getSysUser(byId.getSupplierId()).getData(); + if (data!=null){ + list.setSupplierName(data.getNickName()); + } + } + if (slGoodsMaterials!=null){ + list.setGoodsMaterialsName(slGoodsMaterials.getGoodsMaterialsName()); + list.setIsConsume(slGoodsMaterials.getIsConsume()); + }else{ + continue; + } + SlGoodsShelf slGoodsShelf = slGoodsShelfMapper.selectById(list.getShelfId()); + if (slGoodsShelf!=null){ + list.setGoodsShelfName(slGoodsShelf.getGoodsShelfName()); + } + } + SlGoodsShelfDTO.setList(res); return SlGoodsShelfDTO; } @@ -426,7 +534,7 @@ public PageDTO<gethuojRkVO> gethuojRkList(gethuojRkQuery gethuojRkQuery) { LambdaQueryWrapper< SlGoodsMaterials> wrapper= Wrappers.lambdaQuery(); if (gethuojRkQuery.getGoodsMaterialsName()!=null&&gethuojRkQuery.getGoodsMaterialsName()!=""){ - wrapper.eq(SlGoodsMaterials::getGoodsMaterialsName,gethuojRkQuery.getGoodsMaterialsName()); + wrapper.like(SlGoodsMaterials::getGoodsMaterialsName,gethuojRkQuery.getGoodsMaterialsName()); } wrapper.eq( SlGoodsMaterials::getDelFlag,0); List<SlGoodsMaterials> page1 = slGoodsMaterialsMapper.selectList(wrapper); @@ -446,7 +554,7 @@ wrapper1.in(SlVolumeProductionRk::getMaterialsId, goodsSkuIdList); } } - wrapper1.eq(SlVolumeProductionRk::getShelfId,gethuojRkQuery.getGoodsShelid()); + wrapper1.like(SlVolumeProductionRk::getShelfId,gethuojRkQuery.getGoodsShelid()); wrapper1.eq( SlVolumeProductionRk::getDelFlag,0); // 该字段用于标记是否入库 wrapper1.isNotNull(SlVolumeProductionRk::getNewAddTime); @@ -455,7 +563,6 @@ PageDTO<gethuojRkVO> SlGoodsShelfDTO = PageDTO.of(page2, gethuojRkVO.class); List<gethuojRkVO> list2 = SlGoodsShelfDTO.getList(); for(gethuojRkVO list:list2) { - LambdaQueryWrapper<ManagementGoodsMaterials> wrapper2 = Wrappers.lambdaQuery(); wrapper2.eq(ManagementGoodsMaterials::getGoodsMaterialsId,list.getMaterialsId()); wrapper2.eq(ManagementGoodsMaterials::getManagementId,list.getManagementId()); @@ -463,12 +570,16 @@ ManagementGoodsMaterials managementGoodsMaterials = managementGoodsMaterialsMapper.selectOne(wrapper2); if (managementGoodsMaterials != null){ list.setRkPiceSum(list.getRkPice().multiply(new BigDecimal(managementGoodsMaterials.getRepertorySum()))); - list.setRepertorySum(managementGoodsMaterials.getRepertorySum()); + list.setRepertorySum(list.getRkNum()-managementGoodsMaterials.getRepertoryYishi()); }else{ list.setRkPiceSum(list.getRkPice().multiply(new BigDecimal(1))); list.setRepertorySum(0L); } - + if (list.getRepertorySum()!=null && list.getRepertoryYishi()!=null){ + list.setRepertorySum(list.getRepertorySum()-list.getRepertoryYishi()); + }else{ + list.setRepertorySum(list.getRepertorySum()); + } SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(list.getMaterialsId()); SlVolumeProductionRkgl byId = slVolumeProductionRkglMapper.selectById(list.getVolumeProductionRkglId()); if (byId!=null){ @@ -483,10 +594,16 @@ list.setIsConsume(slGoodsMaterials.getIsConsume()); } - SlGoodsShelf slGoodsShelf = slGoodsShelfMapper.selectById(list.getShelfId()); - if (slGoodsShelf!=null){ - list.setGoodsShelfName(slGoodsShelf.getGoodsShelfName()); - + StringBuilder stringBuilder = new StringBuilder(); + for (String s : list.getShelfId().split(",")) { + SlGoodsShelf slGoodsShelf = slGoodsShelfMapper.selectById(s); + if (slGoodsShelf!=null){ + stringBuilder.append(slGoodsShelf.getGoodsShelfName()).append(","); + } + } + // 去除最后一位字符 + if (StringUtils.hasLength(stringBuilder.toString())){ + list.setGoodsShelfName(stringBuilder.substring(0, stringBuilder.length() - 1)); } } return SlGoodsShelfDTO; -- Gitblit v1.7.1