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/controller/SlVolumeProductionZyglController.java | 201 +++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 181 insertions(+), 20 deletions(-) diff --git a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/controller/SlVolumeProductionZyglController.java b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/controller/SlVolumeProductionZyglController.java index eb6e9e8..b84564d 100644 --- a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/controller/SlVolumeProductionZyglController.java +++ b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/controller/SlVolumeProductionZyglController.java @@ -2,27 +2,31 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.utils.page.PageDTO; -import com.ruoyi.management.domain.SlAudit; -import com.ruoyi.management.domain.SlVolumeProductionRkgl; -import com.ruoyi.management.domain.SlVolumeProductionZygl; -import com.ruoyi.management.domain.dto.SlVolumeProductionZyDTO; -import com.ruoyi.management.domain.dto.SlVolumeProductionZyQuery; -import com.ruoyi.management.domain.dto.VolumeProductionCkglDTO; -import com.ruoyi.management.domain.dto.getslVolumeProductionCkglQuery; +import com.ruoyi.common.security.service.TokenService; +import com.ruoyi.management.domain.*; +import com.ruoyi.management.domain.dto.*; import com.ruoyi.management.domain.vo.*; +import com.ruoyi.management.mapper.ManagementGoodsMaterialsMapper; import com.ruoyi.management.mapper.SlAuditMapper; -import com.ruoyi.management.service.SlVolumeProductionZyService; -import com.ruoyi.management.service.SlVolumeProductionZyglService; +import com.ruoyi.management.service.*; import com.ruoyi.management.service.impl.SlVolumeProductionZyServiceImpl; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; +import io.swagger.annotations.Authorization; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.stream.Collectors; /** * <p> @@ -39,51 +43,208 @@ @Resource private SlAuditMapper slAuditMapper; - + @Resource + private TokenService tokenService; @Resource private SlVolumeProductionZyglService slVolumeProductionZyglService; + @Resource + private SlVolumeProductionZyService slVolumeProductionZyService; + @Autowired + private SlVolumeProductionRkService slVolumeProductionRkService; + @Autowired + private SlGoodsMaterialsService slGoodsMaterialsService; + @Resource + private ManagementGoodsMaterialsMapper managementGoodsMaterialsMapper; + @PostMapping("/getVolumeProductionZyglCode") + @ApiOperation(value = "获取转移管理打印二维码列表") + public R<PageDTO<getVolumeProductionRkgCodeVO>> getVolumeProductionRkgCode(@RequestBody VolumeProductionZyglCodeQuery volumeProductionRkgCodeQuery) { + tokenService.getLoginUser(); + // 通过转移管理获取 转移列表 获取入库id + Page<SlVolumeProductionZy> page = new Page<>(volumeProductionRkgCodeQuery.getPageCurr(), volumeProductionRkgCodeQuery.getPageSize()); + LambdaQueryWrapper< SlVolumeProductionZy> wrapper1= Wrappers.lambdaQuery(); + wrapper1.eq(SlVolumeProductionZy::getZyglId,volumeProductionRkgCodeQuery.getVolumeProductionZyglId()); + wrapper1.eq( SlVolumeProductionZy::getDelFlag,"0"); + if (volumeProductionRkgCodeQuery.getShelfId() != null){ + wrapper1.eq(SlVolumeProductionZy::getShelfId,volumeProductionRkgCodeQuery.getShelfId()); + } + if (volumeProductionRkgCodeQuery.getManagementNumber() != null){ + wrapper1.eq(SlVolumeProductionZy::getStoreManagementNumber,volumeProductionRkgCodeQuery.getManagementNumber()); + } + wrapper1.orderByDesc(SlVolumeProductionZy::getCreateTime); + Page<SlVolumeProductionZy> page2 = slVolumeProductionZyService.page(page, wrapper1); + PageDTO<getVolumeProductionRkgCodeVO> SlGoodsShelfDTO = PageDTO.of(page2, getVolumeProductionRkgCodeVO.class); + List<getVolumeProductionRkgCodeVO> list2 = SlGoodsShelfDTO.getList(); + for(getVolumeProductionRkgCodeVO list:list2) { + SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsService.getById(list.getMaterialsId()); + list.setGoodsMaterialsName(slGoodsMaterials.getGoodsMaterialsName()); + list.setIsConsume(slGoodsMaterials.getIsConsume()); + if (list.getScrkId() != null){ + SlVolumeProductionRk byId = slVolumeProductionRkService.getById(list.getScrkId()); + if (byId!=null){ + Integer erwmNum = byId.getErwmNum(); + list.setErwmNum(erwmNum); + } + } + } + // 将list2中的数据 如果字段erwmNum为空 优先展示在前面 + list2.sort((o1, o2) -> { + if (o1.getErwmNum() == null) { + return -1; + } + if (o2.getErwmNum() == null) { + return 1; + } + return 0; + }); + return R.ok(SlGoodsShelfDTO); + } + @PostMapping("/updateQrCodeNum") + @ApiOperation(value = "批量修改转移二维码生成数量") + public R updateQrCodeNum(@RequestBody UpdateZyQrCodeDTO dto) { + tokenService.getLoginUser(); + for (UpdateQrCodeNumDTO updateQrCodeNumDTO : dto.getList()) { + SlVolumeProductionZy byId = slVolumeProductionZyService.getById(updateQrCodeNumDTO.getId()); + if (byId == null){ + continue; + } + Long scrkId = byId.getScrkId(); + SlVolumeProductionRk byId1 = slVolumeProductionRkService.getById(scrkId); + if (byId1 == null){ + continue; + } + byId1.setErwmNum(updateQrCodeNumDTO.getErwmNum()); + if (byId1.getErwmNum()>0){ + byId1.setRkModel(getLetter(updateQrCodeNumDTO.getErwmNum())); + } + slVolumeProductionRkService.updateById(byId1); + } + + return R.ok(); + } + 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]; + } @PostMapping("/getVolumeProductionzZyglList") @ApiOperation(value = "分页获取转移管理") public R<PageDTO<VolumeProductionzZyglVO>> getVolumeProductionzZyglList(@RequestBody SlVolumeProductionZyQuery slVolumeProductionZyQuery) { + tokenService.getLoginUser(); return R.ok(slVolumeProductionZyglService.getVolumeProductionzZyglList(slVolumeProductionZyQuery)); } @PostMapping("/addsVolumeProductionzZygl") @ApiOperation(value = "添加/修改转移管理") public R addsVolumeProductionzZygl(@RequestBody SlVolumeProductionZyDTO slVolumeProductionZyDTO) { - slVolumeProductionZyglService.addsVolumeProductionzZygl(slVolumeProductionZyDTO); - return R.ok(); + tokenService.getLoginUser(); + return R.ok(slVolumeProductionZyglService.addsVolumeProductionzZygl(slVolumeProductionZyDTO)); } @PostMapping("/getVolumeProductionzZyglnfo") @ApiOperation(value = "获取转移管理详情") - public R<VolumeProductionZyglInfoVO> getVolumeProductionzZyglnfo(@ApiParam(name = "id", value = "转移管理id", required = true) @PathVariable("id") Integer id) { - return R.ok(slVolumeProductionZyglService.getVolumeProductionzZyglnfo(id)); + public R<VolumeProductionZyglInfoVO> getVolumeProductionzZyglnfo(@RequestBody ManagementimgVolumeProductionZyQuery managementimgVolumeProductionZyQuery) { + tokenService.getLoginUser(); + return R.ok(slVolumeProductionZyglService.getVolumeProductionzZyglnfo(managementimgVolumeProductionZyQuery)); } - @PostMapping("/getVolumeProductionZyglnventory") + @GetMapping("/getVolumeProductionZyglnventory/{id}") @ApiOperation(value = "获取转移管理打印清单") - public R<VolumeProductionZyglInventoryVO> getVolumeProductionZyglnventory(@ApiParam(name = "id", value = "转移管理id", required = true) @PathVariable("id") Integer id) { + public R<VolumeProductionZyglInventoryVO> getVolumeProductionZyglnventory(@ApiParam(name = "id", value = "转移管理id", required = true) @PathVariable("id") String id) { + tokenService.getLoginUser(); return R.ok(slVolumeProductionZyglService.getVolumeProductionZyglnventory(id)); } - @ApiOperation("取转移管理") - @DeleteMapping("/{id}") + @ApiOperation("取消转移管理") + @GetMapping("/{id}") public R<?> delStoreManagement( - @ApiParam(name = "id", value = "转移管理id", required = true) @PathVariable("id") Integer id) { + @ApiParam(name = "id", value = "转移管理id", required = true) @PathVariable("id") Long id) { + tokenService.getLoginUser(); SlVolumeProductionZygl byId = slVolumeProductionZyglService.getById(id); byId.setPresentState(5); byId.setAuditStatus(7); slVolumeProductionZyglService.updateById(byId); LambdaQueryWrapper<SlAudit> wrapper= Wrappers.lambdaQuery(); - wrapper.eq(SlAudit::getType,1); + wrapper.eq(SlAudit::getType,3); wrapper.eq( SlAudit::getDelFlag,0); wrapper.eq(SlAudit::getRkId,id); SlAudit slAudit = slAuditMapper.selectOne(wrapper); slAudit.setState(6); + List<SlVolumeProductionZy> list = slVolumeProductionZyService.list(new QueryWrapper<SlVolumeProductionZy>() + .eq("zygl_id", id) + .eq("del_flag", "0")); + List<Long> collect = list.stream().map(SlVolumeProductionZy::getScrkId).collect(Collectors.toList()); + // 回滚入库记录库存 + for (SlVolumeProductionZy slVolumeProductionZy : list) { + SlVolumeProductionRk byId1 = slVolumeProductionRkService.getById(slVolumeProductionZy.getRkId()); + byId1.setRepertoryZhai(byId1.getRepertoryZhai()+slVolumeProductionZy.getZyNum()); + slVolumeProductionRkService.updateById(byId1); + // 回滚中间表记录库存 + LambdaQueryWrapper<ManagementGoodsMaterials> wrapper2 = Wrappers.lambdaQuery(); + wrapper2.eq(ManagementGoodsMaterials::getGoodsMaterialsId,slVolumeProductionZy.getMaterialsId()); + wrapper2.eq(ManagementGoodsMaterials::getManagementId,byId.getBmanagementId()); + wrapper2.eq(ManagementGoodsMaterials::getDelFlag, 0); + ManagementGoodsMaterials managementGoodsMaterials = managementGoodsMaterialsMapper.selectOne(wrapper2); + if (managementGoodsMaterials!=null){ + Long repertorySum = managementGoodsMaterials.getRepertorySum(); + Long repertoryZhai = managementGoodsMaterials.getRepertoryZhai(); + Long re=repertorySum+Long.valueOf(slVolumeProductionZy.getZyNum()); + Long re1=repertoryZhai+Long.valueOf(slVolumeProductionZy.getZyNum()); + managementGoodsMaterials.setRepertorySum(re); + managementGoodsMaterials.setRepertoryZhai(re1); + managementGoodsMaterials.setRepertoryChu(0); + managementGoodsMaterialsMapper.updateById(managementGoodsMaterials); + }else{ + ManagementGoodsMaterials managementGoodsMaterials1=new ManagementGoodsMaterials(); + managementGoodsMaterials1.setManagementId(byId.getBmanagementId()); + managementGoodsMaterials1.setGoodsMaterialsId(slVolumeProductionZy.getMaterialsId()); + managementGoodsMaterials1.setRepertoryZhai(Long.valueOf(slVolumeProductionZy.getZyNum())); + managementGoodsMaterials1.setRepertorySum(Long.valueOf(slVolumeProductionZy.getZyNum())); + managementGoodsMaterials1.setRepertoryChu(slVolumeProductionZy.getZyNum()); + managementGoodsMaterials1.setCreateTime(new Date()); + managementGoodsMaterialsMapper.insert(managementGoodsMaterials1); + } + } + + List<SlVolumeProductionRk> list1 = slVolumeProductionRkService.list(new QueryWrapper<SlVolumeProductionRk>() + .in("id",collect) + .eq("del_flag","0")); + + // 删除入库记录 + slVolumeProductionRkService.remove(new QueryWrapper<SlVolumeProductionRk>().in("id",collect)); + // 取消后删除转移记录 + QueryWrapper<SlVolumeProductionZy> wrapper1 = new QueryWrapper<>(); + wrapper1.eq("zygl_id",id); + slVolumeProductionZyService.remove(wrapper1); return R.ok(); } + + @ApiOperation("转移管理入库") + @PostMapping("/zy") + public R<?> zy(@RequestBody ZyRkDTO dto) { + tokenService.getLoginUser(); + slVolumeProductionZyglService.zy(dto.getCkglId(),dto.getAuthorizationUrl()); + return R.ok(); + } + @Autowired + private SlAuditService slAuditRecordService; + @ApiOperation("查询审核拒绝原因") + @GetMapping("/getRefuseReason") + public R<?> getRefuseReason(Long auditId) { + tokenService.getLoginUser(); + SlAudit byId = slAuditRecordService.getById(auditId); + return R.ok(byId.getCause()); + } } -- Gitblit v1.7.1