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/controller/SlVolumeProductionZyglController.java |  165 ++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 151 insertions(+), 14 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 040d95b..509dfb2 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,26 +2,30 @@
 
 
 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.SlVolumeProductionCk;
-import com.ruoyi.management.domain.SlVolumeProductionRkgl;
-import com.ruoyi.management.domain.SlVolumeProductionZygl;
+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>
@@ -41,6 +45,85 @@
 
     @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) {
+        // 通过转移管理获取 转移列表 获取入库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.getManagementNumber() != 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());
+            list.setErwmNum(slVolumeProductionRkService.getById(list.getScrkId()).getErwmNum());
+        }
+        // 将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) {
+        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());
+            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) {
@@ -54,7 +137,7 @@
         return R.ok(slVolumeProductionZyglService.addsVolumeProductionzZygl(slVolumeProductionZyDTO));
     }
 
-    @GetMapping("/getVolumeProductionzZyglnfo")
+    @PostMapping("/getVolumeProductionzZyglnfo")
     @ApiOperation(value = "获取转移管理详情")
     public R<VolumeProductionZyglInfoVO> getVolumeProductionzZyglnfo(@RequestBody ManagementimgVolumeProductionZyQuery managementimgVolumeProductionZyQuery) {
         return R.ok(slVolumeProductionZyglService.getVolumeProductionzZyglnfo(managementimgVolumeProductionZyQuery));
@@ -62,34 +145,88 @@
 
     @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) {
         return R.ok(slVolumeProductionZyglService.getVolumeProductionZyglnventory(id));
     }
 
 
-    @ApiOperation("取转移管理")
+    @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) {
         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("转移管理入库")
-    @GetMapping("/zy/{id}")
-    public R<?> zy(@ApiParam(name = "id", value = "转移管理id", required = true) @PathVariable("id") Integer id) {
-        slVolumeProductionZyglService.zy(id);
+    @PostMapping("/zy")
+    public R<?> zy(@RequestBody ZyRkDTO dto) {
+        slVolumeProductionZyglService.zy(dto.getCkglId(),dto.getAuthorizationUrl());
         return R.ok();
     }
+    @Autowired
+    private SlAuditService slAuditRecordService;
+    @ApiOperation("查询审核拒绝原因")
+    @GetMapping("/getRefuseReason")
+    public R<?> getRefuseReason(Long auditId) {
+        SlAudit byId = slAuditRecordService.getById(auditId);
+        return R.ok(byId.getCause());
+    }
 }

--
Gitblit v1.7.1