From 8876b1b9cd27fad076ea9e5f3e04197b84ba02bd Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期四, 01 八月 2024 14:26:56 +0800 Subject: [PATCH] 代码提交 bug解决 --- ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionRkServiceImpl.java | 311 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 305 insertions(+), 6 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 1d3be5d..2894d97 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 @@ -5,9 +5,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.utils.page.PageDTO; import com.ruoyi.management.domain.*; -import com.ruoyi.management.domain.dto.ManagementimgVolumeProductionRkQuery; -import com.ruoyi.management.domain.vo.ManagementimgVolumeProductionRkVO; -import com.ruoyi.management.domain.vo.SlGoodsShelfVO; +import com.ruoyi.management.domain.dto.*; +import com.ruoyi.management.domain.vo.*; import com.ruoyi.management.mapper.*; import com.ruoyi.management.service.SlStoreManagementService; import com.ruoyi.management.service.SlVolumeProductionRkService; @@ -18,8 +17,10 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.List; -import java.util.Set; +import java.math.BigDecimal; +import java.sql.Array; +import java.text.SimpleDateFormat; +import java.util.*; import java.util.stream.Collectors; /** @@ -36,12 +37,24 @@ private SlGoodsMaterialsMapper slGoodsMaterialsMapper; @Resource private SlVolumeProductionRkglMapper slVolumeProductionRkglMapper; + @Resource + private SlVolumeProductionRkMapper slVolumeProductionRkMapper; @Resource private SlGoodsShelfMapper slGoodsShelfMapper; @Resource + private SlStoreManagementMapper slStoreManagementMapper; + + @Resource private SysUserClient sysUserClient; + + @Resource + private ManagementGoodsMaterialsMapper managementGoodsMaterialsMapper; + + + + @Override public PageDTO<ManagementimgVolumeProductionRkVO> getManagementimgVolumeProductionList(ManagementimgVolumeProductionRkQuery managementimgVolumeProductionRkDTO) { @@ -62,9 +75,295 @@ list.setIsConsume(slGoodsMaterials.getIsConsume()); list.setSupplierName(data.getNickName()); SlGoodsShelf slGoodsShelf = slGoodsShelfMapper.selectById(list.getShelfId()); - list.setGoodsShelfName(slGoodsShelf.getGoodsShelfName()); + if (slGoodsShelf!=null){ + list.setGoodsShelfName(slGoodsShelf.getGoodsShelfName()); + } + LambdaQueryWrapper<SlGoodsShelf> wrapper5= Wrappers.lambdaQuery(); + wrapper5.eq(SlGoodsShelf::getStoreManagementId,byId.getManagementId()); + wrapper5.eq(SlGoodsShelf::getStoreManagementNumber,list.getStoreManagementNumber()); + wrapper5.eq( SlGoodsShelf::getDelFlag,0); + wrapper5.orderByDesc(SlGoodsShelf::getCreateTime); + List<SlGoodsShelf> page3 = slGoodsShelfMapper.selectList(wrapper5); + list.setSlGoodsShelfs(page3); } } return SlGoodsShelfDTO; } + + @Override + public PageDTO<ManagementimgVolumeProductionRkVO> getSlGoodsMaterialsSlVolumeProductionRkList(SlGoodsMaterialsSlVolumeProductionRkQuery SlGoodsMaterialsSlVolumeProductionRkDTO) { + Page<SlVolumeProductionRk> page = new Page<>(SlGoodsMaterialsSlVolumeProductionRkDTO.getPageCurr(), SlGoodsMaterialsSlVolumeProductionRkDTO.getPageSize()); + LambdaQueryWrapper< SlVolumeProductionRk> wrapper1= Wrappers.lambdaQuery(); + wrapper1.eq(SlVolumeProductionRk::getMaterialsId,SlGoodsMaterialsSlVolumeProductionRkDTO.getSlGoodsMaterialsid()); + 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(); + for(ManagementimgVolumeProductionRkVO list:list2) {{ + SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(list.getMaterialsId()); + + if (slGoodsMaterials!=null){ + list.setGoodsMaterialsName(slGoodsMaterials.getGoodsMaterialsName()); + list.setIsConsume(slGoodsMaterials.getIsConsume()); + } + SlVolumeProductionRkgl byId = slVolumeProductionRkglMapper.selectById(list.getVolumeProductionRkglId()); + if (byId!=null){ + SysUser data = sysUserClient.getSysUser(byId.getSupplierId()).getData(); + list.setSupplierName(data.getNickName()); + } + + + SlGoodsShelf slGoodsShelf = slGoodsShelfMapper.selectById(list.getShelfId()); + if (slGoodsShelf!=null){ + list.setGoodsShelfName(slGoodsShelf.getGoodsShelfName()); + + } + } + } + return SlGoodsShelfDTO; + } + + @Override + public void addVolumeProductionRkgl(List<SlVolumeProductionRkListDTO> slVolumeProductionRkListDTO) { + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); + for (SlVolumeProductionRkListDTO m:slVolumeProductionRkListDTO){ + SlVolumeProductionRk slVolumeProductionRk=new SlVolumeProductionRk(); + slVolumeProductionRk.setVolumeProductionRkglId(m.getVolumeProductionRkglId()); + slVolumeProductionRk.setMaterialsId(m.getMaterialsId()); + slVolumeProductionRk.setManagementId(m.getManagementId()); + slVolumeProductionRk.setRkNumber("CD-"+simpleDateFormat.format(new Date())); + slVolumeProductionRk.setNewAddTime(m.getNewAddTime()); + if ( m.getErwmNum()!=null){ + slVolumeProductionRk.setErwmNum( m.getErwmNum()); + }if ( m.getRkPice()!=null){ + slVolumeProductionRk.setRkPice( m.getRkPice()); + }if ( m.getRkNum()!=null){ + slVolumeProductionRk.setRkNum( m.getRkNum()); + }if ( m.getShelfId()!=null){ + slVolumeProductionRk.setShelfId( m.getShelfId()); + }if ( m.getRkModel()!=null){ + slVolumeProductionRk.setRkModel( m.getRkModel()); + }if ( m.getStoreManagementNumber()!=null){ + slVolumeProductionRk.setStoreManagementNumber( m.getStoreManagementNumber()); + }if ( m.getRkNumber()!=null){ + slVolumeProductionRk.setRkNumber( m.getRkNumber()); + } + slVolumeProductionRk.setCreateTime(new Date()); + slVolumeProductionRk.setRepertoryZhai(m.getRkNum()); + this.save(slVolumeProductionRk); + } + + } + + @Override + public void uplSlVolumeProductionRk(List<SlVolumeProductionRkDTO> SlVolumeProductionRkDTO) { + for (SlVolumeProductionRkDTO a:SlVolumeProductionRkDTO){ + SlVolumeProductionRk byId = this.getById(a.getId()); + if (a.getErwmNum()!=null){ + byId.setErwmNum(a.getErwmNum()); + }if (a.getRkPice()!=null){ + byId.setRkPice(a.getRkPice()); + }if (a.getRkNum()!=null){ + byId.setRkNum(a.getRkNum()); + }if (a.getShelfId()!=null){ + byId.setShelfId(a.getShelfId()); + }if (a.getRkModel()!=null){ + byId.setRkModel(a.getRkModel()); + }if (a.getStoreManagementNumber()!=null){ + byId.setStoreManagementNumber(a.getStoreManagementNumber()); + }if (a.getRkNumber()!=null){ + byId.setRkNumber(a.getRkNumber()); + } + byId.setNewAddTime(a.getNewAddTime()); + this.updateById(byId); + } + + } + + @Override + public PageDTO<getVolumeProductionRkgCodeVO> getVolumeProductionRkgCode(VolumeProductionRkgCodeQuery volumeProductionRkgCodeQuery) { + Page<SlVolumeProductionRk> page = new Page<>(volumeProductionRkgCodeQuery.getPageCurr(), volumeProductionRkgCodeQuery.getPageSize()); + LambdaQueryWrapper< SlVolumeProductionRk> wrapper1= Wrappers.lambdaQuery(); + wrapper1.like(SlVolumeProductionRk::getVolumeProductionRkglId,volumeProductionRkgCodeQuery.getVolumeProductionRkglId()); + wrapper1.eq( SlVolumeProductionRk::getDelFlag,0); + wrapper1.orderByDesc(SlVolumeProductionRk::getCreateTime); + Page<SlVolumeProductionRk> page2 = this.page(page, wrapper1); + PageDTO<getVolumeProductionRkgCodeVO> SlGoodsShelfDTO = PageDTO.of(page2, getVolumeProductionRkgCodeVO.class); + List<getVolumeProductionRkgCodeVO> list2 = SlGoodsShelfDTO.getList(); + for(getVolumeProductionRkgCodeVO list:list2) { + SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(list.getMaterialsId()); + list.setGoodsMaterialsName(slGoodsMaterials.getGoodsMaterialsName()); + list.setIsConsume(slGoodsMaterials.getIsConsume()); + } + return SlGoodsShelfDTO; + } + + @Override + public List<QRCodeVO> codeInfo(Long id) { + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); + List<QRCodeVO> res = new ArrayList<>(); + LambdaQueryWrapper< SlVolumeProductionRk> wrapper1= Wrappers.lambdaQuery(); + wrapper1.like(SlVolumeProductionRk::getVolumeProductionRkglId,id); + wrapper1.eq( SlVolumeProductionRk::getDelFlag,0); + wrapper1.orderByDesc(SlVolumeProductionRk::getCreateTime); + List<SlVolumeProductionRk> list = this.list(wrapper1); + for (SlVolumeProductionRk byId : list) { + // 根据生成二维码数量 复制 + for (int i = 0; i < byId.getErwmNum(); i++) { + QRCodeVO vo=new QRCodeVO(); + String letter = getLetter(i); + vo.setCategory(letter); + SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(byId.getMaterialsId()); + vo.setGoodsMaterialsName(slGoodsMaterials.getGoodsMaterialsName()); + SlVolumeProductionRkgl byId1 = slVolumeProductionRkglMapper.selectById(byId.getVolumeProductionRkglId()); + SysUser data = sysUserClient.getSysUser(byId1.getSupplierId()).getData(); + vo.setSupplierName(data.getNickName()); + vo.setMaterialsNum(byId.getRkNum()); + Long materialsId = byId.getMaterialsId(); + // 查询物资缩写 + vo.setMaterials(byId.getRkNumber()); + SlStoreManagement slStoreManagement = slStoreManagementMapper.selectById(byId.getManagementId()); + vo.setStoreManagementName(slStoreManagement.getStoreManagementName()); + res.add(vo); + } + + } + + + return res; + } + + // 根据传入数字是几 返回对应的字母 + public static String getLetter(int num) { + String[] str = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"}; + // 如果num大于26 那么往后叠加对应的字母 + if (num > 26) { + int a = num / 26; + int b = num % 26; + if (b == 0) { + a = a - 1; + b = 26; + } + return getLetter(a) + getLetter(b); + } + return str[num - 1]; + } + @Override + public PageDTO<ManagementimgVolumeProductionRkVO> getroductionRkList(umeProductionRkQuery meProductionRkQuery) { + + LambdaQueryWrapper< SlGoodsMaterials> wrapper= Wrappers.lambdaQuery(); + if (meProductionRkQuery.getGoodsMaterialsName()!=null&&meProductionRkQuery.getGoodsMaterialsName()!=""){ + wrapper.eq(SlGoodsMaterials::getGoodsMaterialsName,meProductionRkQuery.getGoodsMaterialsName()); + } + if (meProductionRkQuery.getIsConsume()!=0){ + wrapper.eq(SlGoodsMaterials::getIsConsume,meProductionRkQuery.getIsConsume()); + } + wrapper.eq( SlGoodsMaterials::getDelFlag,0); + List<SlGoodsMaterials> page1 = slGoodsMaterialsMapper.selectList(wrapper); + + 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.getManagementId()!=null&&meProductionRkQuery.getManagementId()!=0){ + wrapper1.eq(SlVolumeProductionRk::getManagementId,meProductionRkQuery.getManagementId()); + } + if (goodsSkuIdList.size()>0){ + wrapper1.in(SlVolumeProductionRk::getMaterialsId,goodsSkuIdList); + }if(meProductionRkQuery.getStoreManagementNumber()!=null&&meProductionRkQuery.getStoreManagementNumber()!=0){ + wrapper1.eq(SlVolumeProductionRk::getStoreManagementNumber,meProductionRkQuery.getStoreManagementNumber()); + }if(meProductionRkQuery.getShelfId()!=null&&meProductionRkQuery.getShelfId()!=0){ + wrapper1.eq(SlVolumeProductionRk::getShelfId,meProductionRkQuery.getShelfId()); + } + 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(); + 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()); + list.setSupplierName(data.getNickName()); + SlGoodsShelf slGoodsShelf = slGoodsShelfMapper.selectById(list.getShelfId()); + list.setGoodsShelfName(slGoodsShelf.getGoodsShelfName()); + } + return SlGoodsShelfDTO; + } + + @Override + public PageDTO<gethuojRkVO> gethuojRkList(gethuojRkQuery gethuojRkQuery) { + LambdaQueryWrapper< SlGoodsMaterials> wrapper= Wrappers.lambdaQuery(); + if (gethuojRkQuery.getGoodsMaterialsName()!=null&&gethuojRkQuery.getGoodsMaterialsName()!=""){ + wrapper.eq(SlGoodsMaterials::getGoodsMaterialsName,gethuojRkQuery.getGoodsMaterialsName()); + } + + wrapper.eq( SlGoodsMaterials::getDelFlag,0); + List<SlGoodsMaterials> page1 = slGoodsMaterialsMapper.selectList(wrapper); + + Set<Long> goodsSkuIdList = null; + goodsSkuIdList = page1.stream().map(SlGoodsMaterials::getId) + .collect(Collectors.toSet()); + + Page<SlVolumeProductionRk> page = new Page<>(gethuojRkQuery.getPageCurr(), gethuojRkQuery.getPageSize()); + LambdaQueryWrapper<SlVolumeProductionRk> wrapper1= Wrappers.lambdaQuery(); + if (gethuojRkQuery.getGoodsMaterialsName()!=null&&gethuojRkQuery.getGoodsMaterialsName()!=""){ + if (goodsSkuIdList.size()>0) { + wrapper1.in(SlVolumeProductionRk::getMaterialsId, goodsSkuIdList); + }else{ + goodsSkuIdList=new HashSet<>(); + goodsSkuIdList.add(0L); + wrapper1.in(SlVolumeProductionRk::getMaterialsId, goodsSkuIdList); + } + } + wrapper1.eq(SlVolumeProductionRk::getShelfId,gethuojRkQuery.getGoodsShelid()); + wrapper1.eq( SlVolumeProductionRk::getDelFlag,0); + wrapper1.orderByDesc(SlVolumeProductionRk::getCreateTime); + Page<SlVolumeProductionRk> page2 = this.page(page, wrapper1); + 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()); + wrapper2.eq(ManagementGoodsMaterials::getDelFlag, 0); + ManagementGoodsMaterials managementGoodsMaterials = managementGoodsMaterialsMapper.selectOne(wrapper2); + if (managementGoodsMaterials != null){ + list.setRkPiceSum(list.getRkPice().multiply(new BigDecimal(managementGoodsMaterials.getRepertorySum()))); + list.setRepertorySum(managementGoodsMaterials.getRepertorySum()); + }else{ + list.setRkPiceSum(list.getRkPice().multiply(new BigDecimal(1))); + list.setRepertorySum(0L); + } + + SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(list.getMaterialsId()); + SlVolumeProductionRkgl byId = slVolumeProductionRkglMapper.selectById(list.getVolumeProductionRkglId()); + if (byId!=null){ + SysUser data = sysUserClient.getSysUser(byId.getSupplierId()).getData(); + list.setSupplierName(data.getNickName()); + } + + if (slGoodsMaterials!=null){ + list.setGoodsMaterialsName(slGoodsMaterials.getGoodsMaterialsName()); + list.setIsConsume(slGoodsMaterials.getIsConsume()); + } + + SlGoodsShelf slGoodsShelf = slGoodsShelfMapper.selectById(list.getShelfId()); + if (slGoodsShelf!=null){ + list.setGoodsShelfName(slGoodsShelf.getGoodsShelfName()); + + } + } + return SlGoodsShelfDTO; + } + } -- Gitblit v1.7.1