From b5ef65d0103a71dc7af2b9be6d2ac43aca5bb726 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期二, 27 八月 2024 08:59:57 +0800 Subject: [PATCH] 代码提交 bug解决 --- ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionZyServiceImpl.java | 219 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 208 insertions(+), 11 deletions(-) diff --git a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionZyServiceImpl.java b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionZyServiceImpl.java index 2c87721..c7977d7 100644 --- a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionZyServiceImpl.java +++ b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionZyServiceImpl.java @@ -5,14 +5,18 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.utils.page.PageDTO; +import com.ruoyi.common.security.utils.SecurityUtils; import com.ruoyi.management.domain.*; import com.ruoyi.management.domain.dto.*; import com.ruoyi.management.domain.dto.ManagementimgVolumeProductionZyVO; import com.ruoyi.management.domain.vo.*; import com.ruoyi.management.mapper.*; +import com.ruoyi.management.service.SlAuditRecordService; +import com.ruoyi.management.service.SlAuditService; import com.ruoyi.management.service.SlStoreManagementService; import com.ruoyi.management.service.SlVolumeProductionZyService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.management.util.UUIDUtil; import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.domain.getVolumeProductionRkQuery; import com.ruoyi.system.api.feignClient.SysUserClient; @@ -20,7 +24,9 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.Set; import java.util.stream.Collectors; @@ -38,6 +44,8 @@ @Resource private SlVolumeProductionRkMapper slVolumeProductionRkMapper; + @Resource + private SlVolumeProductionRkglMapper slVolumeProductionRkglMapper; @Resource private SlGoodsMaterialsMapper slGoodsMaterialsMapper; @@ -86,21 +94,207 @@ } + @Resource + private SlAuditService slAuditService; + @Resource + private SlAuditRecordService slAuditRecordService; + @Resource + private SlVolumeProductionZyMapper slVolumeProductionZyMapper; + + @Resource + private ManagementGoodsMaterialsMapper managementGoodsMaterialsMapper; + @Override - public void addSlVolumeProductionZy(AddaddSlVolumeProductionZyDTO addaddSlVolumeProductionZyDTO) { - List<Long> rkId = addaddSlVolumeProductionZyDTO.getRkId(); - for (Long m:rkId){ - SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(m); - SlVolumeProductionZy slVolumeProductionZy=new SlVolumeProductionZy(); - slVolumeProductionZy.setRkId(m); - slVolumeProductionZy.setZyglId(addaddSlVolumeProductionZyDTO.getZygl_id()); - slVolumeProductionZy.setState(1); - slVolumeProductionZy.setMaterialsId(slVolumeProductionRk.getMaterialsId()); - slVolumeProductionZy.setZyglId(addaddSlVolumeProductionZyDTO.getZygl_id()); - this.save(slVolumeProductionZy); + public void addSlVolumeProductionZy(ADDZYDTO addaddSlVolumeProductionZyDTO) { + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMddHHmmssSSS"); + Long userid = SecurityUtils.getUserId(); + if (addaddSlVolumeProductionZyDTO.getId()==null){ + // 新增转移管理 + SlVolumeProductionZygl slVolumeProductionZygl=new SlVolumeProductionZygl(); + slVolumeProductionZygl.setAttachmentUrl(addaddSlVolumeProductionZyDTO.getAttachmentUrl()); + slVolumeProductionZygl.setAuthorizationUrl(addaddSlVolumeProductionZyDTO.getAuthorization()); + slVolumeProductionZygl.setSource(addaddSlVolumeProductionZyDTO.getSource()); + slVolumeProductionZygl.setManagementId(addaddSlVolumeProductionZyDTO.getManagementId()); + slVolumeProductionZygl.setBmanagementId(addaddSlVolumeProductionZyDTO.getBmanagementId()); + slVolumeProductionZygl.setSysId(userid); + slVolumeProductionZygl.setStartiTime(new Date()); + slVolumeProductionZygl.setAuditStatus(1); + slVolumeProductionZygl.setPresentState(1); + slVolumeProductionZyglMapper.insert(slVolumeProductionZygl); + addaddSlVolumeProductionZyDTO.setId(slVolumeProductionZygl.getId()); + + // 新增 + List<AddZYIdsDTO> rkId = addaddSlVolumeProductionZyDTO.getAddZYIdsDTOS(); + for (AddZYIdsDTO m:rkId){ + SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(m.getRkId()); + Long volumeProductionRkglId = slVolumeProductionRk.getVolumeProductionRkglId(); + SlVolumeProductionRkgl slVolumeProductionRkgl = slVolumeProductionRkglMapper.selectById(volumeProductionRkglId); + SlVolumeProductionZy slVolumeProductionZy=new SlVolumeProductionZy(); + slVolumeProductionZy.setRkId(m.getRkId()); + slVolumeProductionZy.setZyglId(slVolumeProductionZygl.getId()); + slVolumeProductionZy.setState(1); + slVolumeProductionZy.setMaterialsId(slVolumeProductionRk.getMaterialsId()); + slVolumeProductionZy.setZyNum(m.getZyNum()); + slVolumeProductionZy.setCreateTime(new Date()); + slVolumeProductionZy.setStoreManagementNumber(m.getStoreManagementNumber()); + slVolumeProductionZy.setShelfId(m.getShelfId()); + slVolumeProductionZy.setSysId(userid); + slVolumeProductionZy.setRkId(m.getRkId()); + if (slVolumeProductionRkgl!=null){ + if (slVolumeProductionRkgl.getSupplierId()!=null){ + slVolumeProductionZy.setSupplierId(Integer.valueOf(slVolumeProductionRkgl.getSupplierId().toString())); + + } + } + + this.save(slVolumeProductionZy); + } + LambdaQueryWrapper<SlVolumeProductionZy> wrapper1 = Wrappers.lambdaQuery(); + wrapper1.eq(SlVolumeProductionZy::getZyglId, slVolumeProductionZygl.getId()); + wrapper1.eq(SlVolumeProductionZy::getDelFlag, 0); + wrapper1.orderByDesc(SlVolumeProductionZy::getCreateTime); + List<SlVolumeProductionZy> page2 = slVolumeProductionZyMapper.selectList(wrapper1); + for (SlVolumeProductionZy zy:page2){ + SlVolumeProductionRk slVolumeProductionRk=new SlVolumeProductionRk(); + slVolumeProductionRk.setMaterialsId(zy.getMaterialsId()); + slVolumeProductionRk.setStoreManagementNumber(zy.getStoreManagementNumber()); + slVolumeProductionRk.setManagementId(slVolumeProductionZygl.getBmanagementId()); + slVolumeProductionRk.setRkNumber("CD-"+simpleDateFormat.format(new Date())+ UUIDUtil.getNumberRandom(2)); + slVolumeProductionRk.setRkNum(Long.valueOf(zy.getZyNum())); + SlVolumeProductionRk slVolumeProductionRk2 = slVolumeProductionRkMapper.selectById(zy.getRkId()); + slVolumeProductionRk.setRkPice(slVolumeProductionRk2.getRkPice()); + if (slVolumeProductionRk2!=null)slVolumeProductionRk.setRkModel(slVolumeProductionRk2.getRkModel()); + slVolumeProductionRk.setShelfId(zy.getShelfId()); + slVolumeProductionRk.setRepertoryZhai(Long.valueOf(zy.getZyNum())); + slVolumeProductionRk.setCreateTime(new Date()); + slVolumeProductionRkMapper.insert(slVolumeProductionRk); + zy.setScrkId(slVolumeProductionRk.getId()); + slVolumeProductionZyMapper.updateById(zy); + } + }else{ + // 修改 + SlVolumeProductionZygl byId = slVolumeProductionZyglMapper.selectById(addaddSlVolumeProductionZyDTO.getId()); + if (addaddSlVolumeProductionZyDTO.getSource()!=null){ + byId.setSource(addaddSlVolumeProductionZyDTO.getSource()); + } + if (addaddSlVolumeProductionZyDTO.getAttachmentUrl()!=null){ + byId.setAttachmentUrl(addaddSlVolumeProductionZyDTO.getAttachmentUrl()); + } + if (addaddSlVolumeProductionZyDTO.getAuthorization()!=null){ + byId.setAuthorizationUrl(addaddSlVolumeProductionZyDTO.getAuthorization()); + } + slVolumeProductionZyglMapper.updateById(byId); + QueryWrapper<SlVolumeProductionZy> slVolumeProductionZyQueryWrapper = new QueryWrapper<>(); + slVolumeProductionZyQueryWrapper.eq("zygl_id",addaddSlVolumeProductionZyDTO.getId()); + this.remove(slVolumeProductionZyQueryWrapper); + for (AddZYIdsDTO m:addaddSlVolumeProductionZyDTO.getAddZYIdsDTOS()){ + SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(m.getRkId()); + slVolumeProductionRk.setRkPice(slVolumeProductionRk.getRkPice()); + // todo 目前还不知道转移管理存不存供应商id + Long volumeProductionRkglId = slVolumeProductionRk.getVolumeProductionRkglId(); + SlVolumeProductionRkgl slVolumeProductionRkgl = slVolumeProductionRkglMapper.selectById(volumeProductionRkglId); + SlVolumeProductionZy slVolumeProductionZy=new SlVolumeProductionZy(); + slVolumeProductionZy.setRkId(m.getRkId()); + slVolumeProductionZy.setZyglId(addaddSlVolumeProductionZyDTO.getId()); + slVolumeProductionZy.setState(1); + slVolumeProductionZy.setMaterialsId(slVolumeProductionRk.getMaterialsId()); + slVolumeProductionZy.setZyNum(m.getZyNum()); + slVolumeProductionZy.setCreateTime(new Date()); + slVolumeProductionZy.setStoreManagementNumber(m.getStoreManagementNumber()); + slVolumeProductionZy.setShelfId(m.getShelfId()); + slVolumeProductionZy.setSysId(userid); + slVolumeProductionZy.setRkId(m.getRkId()); + slVolumeProductionZy.setSupplierId(Integer.parseInt(slVolumeProductionRkgl.getSupplierId().toString())); + this.save(slVolumeProductionZy); +// slVolumeProductionZyQueryWrapper.eq("rk_id",z.getRkId()); +// slVolumeProductionZyQueryWrapper.eq("del_flag","0"); +// slVolumeProductionZyQueryWrapper.eq("shelf_id",z.getShelfId()); +// slVolumeProductionZyQueryWrapper.eq("store_management_number",z.getStoreManagementNumber()); + +// SlVolumeProductionZy one = this.getOne(slVolumeProductionZyQueryWrapper); +// if (one!=null){ +// one.setZyNum(z.getZyNum()); +// +// } +// this.updateById(one); + } + } + // 添加/修改审核记录 + LambdaQueryWrapper< SlAudit> wrapper= Wrappers.lambdaQuery(); + if (addaddSlVolumeProductionZyDTO.getId()!=null){ + wrapper.eq(SlAudit::getRkId,addaddSlVolumeProductionZyDTO.getId()); + } + wrapper.eq(SlAudit::getType,3); + wrapper.eq( SlAudit::getDelFlag,0); + wrapper.orderByDesc(SlAudit::getCreateTime); + SlAudit page1 = slAuditService.getOne(wrapper); + if (page1!=null){ + LambdaQueryWrapper<SlAuditRecord> wrapper1= Wrappers.lambdaQuery(); + wrapper1.eq(SlAuditRecord::getAuditId,page1.getId()); + List<SlAuditRecord> slAuditRecords = slAuditRecordService.list(wrapper1); + for (SlAuditRecord lAuditRecord:slAuditRecords){ + slAuditRecordService.removeById(lAuditRecord.getId()); + } + slAuditService.removeById(page1); + } + SlAudit slAudit=new SlAudit(); + slAudit.setType(3); + slAudit.setState(1); + slAudit.setCreateTime(new Date()); + slAudit.setRkId(addaddSlVolumeProductionZyDTO.getId()); + if (slAudit.getType()==3){ + SlVolumeProductionZygl slVolumeProductionZygl = slVolumeProductionZyglMapper.selectById(addaddSlVolumeProductionZyDTO.getId()); + slAudit.setSysId(slVolumeProductionZygl.getSysId()); + slAudit.setManagementId(slVolumeProductionZygl.getManagementId()); + slAudit.setZymanagementId(slVolumeProductionZygl.getBmanagementId()); + slVolumeProductionZygl.setPresentState(1); + slVolumeProductionZygl.setAuditStatus(1); + slVolumeProductionZyglMapper.updateById(slVolumeProductionZygl); + SlStoreManagement byId = slStoreManagementService.getById(slVolumeProductionZygl.getManagementId()); + slAudit.setShenhId(byId.getAdministratorId()); + slAuditService.save(slAudit); + SlAuditRecord slAuditRecord=new SlAuditRecord(); + slAuditRecord.setAuditId(slAudit.getId()); + slAuditRecord.setShenhId(byId.getAdministratorId()); + slAuditRecord.setType(1); + slAuditRecord.setState(1); + slAuditRecord.setCreateTime(new Date()); + slAuditRecordService.save(slAuditRecord); + + SlAuditRecord slAuditRecord1=new SlAuditRecord(); + slAuditRecord1.setAuditId(slAudit.getId()); + slAuditRecord1.setShenhId(byId.getCompetentId()); + slAuditRecord1.setType(2); + slAuditRecord1.setState(1); + slAuditRecord1.setCreateTime(new Date()); + slAuditRecordService.save(slAuditRecord1); + + SlAuditRecord slAuditRecord2=new SlAuditRecord(); + slAuditRecord2.setAuditId(slAudit.getId()); + slAuditRecord2.setShenhId(byId.getDirectorId()); + slAuditRecord2.setType(3); + slAuditRecord2.setState(1); + slAuditRecord2.setCreateTime(new Date()); + slAuditRecordService.save(slAuditRecord2); } } + 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 那么往后叠加对应的字母 比如27 那么就是AA + 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]; + } + @Resource + private SlStoreManagementService slStoreManagementService; @Override public void updSlVolumeProductionZy(List<UpdaddSlVolumeProductionZyDTO> updaddSlVolumeProductionZyDTO) { for (UpdaddSlVolumeProductionZyDTO z:updaddSlVolumeProductionZyDTO){ @@ -176,6 +370,9 @@ } } numberAndShelfVO.setNumber(number); + if (dto.getManagementNumber() == null){ + dto.setManagementNumber(1); + } QueryWrapper<SlGoodsShelf> eq = new QueryWrapper<SlGoodsShelf>() .eq("del_flag", "0") .eq("store_management_id", dto.getManagementId()) -- Gitblit v1.7.1