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/SlVolumeProductionZyglServiceImpl.java |  149 ++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 114 insertions(+), 35 deletions(-)

diff --git a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionZyglServiceImpl.java b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionZyglServiceImpl.java
index b01513e..9da41b0 100644
--- a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionZyglServiceImpl.java
+++ b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionZyglServiceImpl.java
@@ -18,7 +18,9 @@
 import com.ruoyi.system.api.domain.SysUser;
 import com.ruoyi.system.api.domain.getVolumeProductionRkQuery;
 import com.ruoyi.system.api.feignClient.SysUserClient;
+import com.sun.org.apache.bcel.internal.generic.NEW;
 import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
 
 import javax.annotation.Resource;
 import java.util.*;
@@ -68,7 +70,6 @@
         Set<Long> goodsSkuIdList = null;
         goodsSkuIdList = data1.stream().map(SysUser::getUserId)
                 .collect(Collectors.toSet());
-
         LambdaQueryWrapper< SlVolumeProductionZygl> wrapper1= Wrappers.lambdaQuery();
         if (slVolumeProductionZyQuery.getPresentState()!=null){
             wrapper1.eq(SlVolumeProductionZygl::getPresentState,slVolumeProductionZyQuery.getPresentState());
@@ -81,7 +82,8 @@
             wrapper1.in(SlVolumeProductionZygl::getSysId,goodsSkuIdList);
         }
         wrapper1.eq( SlVolumeProductionZygl::getDelFlag,0);
-        wrapper1.orderByDesc(SlVolumeProductionZygl::getCreateTime);
+//        wrapper1.ne(SlVolumeProductionZygl::getAuditStatus,7);
+        wrapper1.orderByDesc(SlVolumeProductionZygl::getStartiTime);
         Page<SlVolumeProductionZygl> page2 = this.page(page, wrapper1);
 
         PageDTO<VolumeProductionzZyglVO> SlGoodsShelfDTO = PageDTO.of(page2, VolumeProductionzZyglVO .class);
@@ -136,6 +138,10 @@
     public VolumeProductionZyglInfoVO getVolumeProductionzZyglnfo(ManagementimgVolumeProductionZyQuery managementimgVolumeProductionZyQuery) {
         SlVolumeProductionZygl byId = this.getById(managementimgVolumeProductionZyQuery.getVolumeProductionzyglId());
         VolumeProductionZyglInfoVO v= BeanUtils.copyBean(byId, VolumeProductionZyglInfoVO.class);
+        SlStoreManagement slStoreManagement2 = slStoreManagementMapper.selectById(byId.getManagementId());
+        v.setZhuren(slStoreManagement2.getDirectorId());
+        v.setZhuguan(slStoreManagement2.getCompetentId());
+        v.setGuanliyuan(slStoreManagement2.getAdministratorId());
         SlStoreManagement slStoreManagement = slStoreManagementMapper.selectById(byId.getManagementId());
         v.setStoreManagementName(slStoreManagement.getStoreManagementName());
         SlStoreManagement bslStoreManagement = slStoreManagementMapper.selectById(byId.getBmanagementId());
@@ -144,7 +150,7 @@
         v.setSysName(data1.getNickName());
         v.setSysPhone(data1.getPhonenumber());
         // 查询楼层数据
-        SlStoreManagement slStoreManagement1 = slStoreManagementMapper.selectById(byId.getManagementId());
+        SlStoreManagement slStoreManagement1 = slStoreManagementMapper.selectById(byId.getBmanagementId());
         List<String> number = new ArrayList<>();
         for (Integer i = 1; i <= slStoreManagement1.getStoreManagementNumber(); i++) {
             switch (i){
@@ -160,23 +166,49 @@
             }
         }
         v.setNumber(number);
-
+        if (managementimgVolumeProductionZyQuery.getStoreManagementNumber()==null){
+            managementimgVolumeProductionZyQuery.setStoreManagementNumber(1);
+        }
         QueryWrapper<SlGoodsShelf> eq = new QueryWrapper<SlGoodsShelf>()
                 .eq("del_flag", "0")
-                .eq("store_management_id", byId.getManagementId())
+                .eq("store_management_id", byId.getBmanagementId())
                 .eq("store_management_number",managementimgVolumeProductionZyQuery.getStoreManagementNumber());
         List<SlGoodsShelf> slGoodsShelves = slGoodsShelfMapper.selectList(eq);
         v.setGoodsShelfList(slGoodsShelves);
-        // 查询物资列表
-        LambdaQueryWrapper<SlVolumeProductionRk> wrapper2= Wrappers.lambdaQuery();
-        wrapper2.eq(SlVolumeProductionRk::getManagementId,byId.getBmanagementId());
-        if (managementimgVolumeProductionZyQuery.getShelfId() == null){
-            managementimgVolumeProductionZyQuery.setShelfId(slGoodsShelves.get(0).getId());
+        // 根据转移id 查询转移数据 收集入库ids
+        LambdaQueryWrapper<SlVolumeProductionZy> wrapper = Wrappers.lambdaQuery();
+        wrapper.eq(SlVolumeProductionZy::getZyglId, byId.getId());
+        wrapper.eq(SlVolumeProductionZy::getDelFlag, 0);
+        if (managementimgVolumeProductionZyQuery.getShelfId()==null){
+            if (!slGoodsShelves.isEmpty()){
+                wrapper.eq(SlVolumeProductionZy::getShelfId,slGoodsShelves.get(0).getId());
+            }
+        }else{
+            wrapper.eq(SlVolumeProductionZy::getShelfId,managementimgVolumeProductionZyQuery.getShelfId());
         }
         if (managementimgVolumeProductionZyQuery.getStoreManagementNumber()==null){
-            wrapper2.eq(SlVolumeProductionRk::getStoreManagementNumber,1);
+            wrapper.eq(SlVolumeProductionZy::getStoreManagementNumber,1);
+        }else{
+            wrapper.eq(SlVolumeProductionZy::getStoreManagementNumber,managementimgVolumeProductionZyQuery.getStoreManagementNumber());
         }
-        wrapper2.eq(SlVolumeProductionRk::getShelfId,managementimgVolumeProductionZyQuery.getShelfId());
+        List<Long> collect = new ArrayList<>();
+
+        if (StringUtils.hasLength(byId.getAuthorizationUrl())){
+            collect = slVolumeProductionZyMapper.selectList(wrapper)
+                    .stream().map(SlVolumeProductionZy::getScrkId).collect(Collectors.toList());
+        }else{
+            collect = slVolumeProductionZyMapper.selectList(wrapper)
+                    .stream().map(SlVolumeProductionZy::getRkId).collect(Collectors.toList());
+        }
+        // 入库ids
+
+        if (collect.isEmpty()){
+            // 如果为空 那么插入-1 不查询数据
+            collect.add(-1L);
+        }
+        // 查询物资列表
+        LambdaQueryWrapper<SlVolumeProductionRk> wrapper2= Wrappers.lambdaQuery();
+        wrapper2.in(SlVolumeProductionRk::getId,collect);
         wrapper2.eq( SlVolumeProductionRk::getDelFlag,0);
         wrapper2.orderByDesc(SlVolumeProductionRk::getCreateTime);
         List<SlVolumeProductionRk> page1 = slVolumeProductionRkMapper.selectList(wrapper2);
@@ -186,15 +218,39 @@
                 .collect(Collectors.toSet());
         Page<SlVolumeProductionZy> page = new Page<>(managementimgVolumeProductionZyQuery.getPageCurr(), managementimgVolumeProductionZyQuery.getPageSize());
         LambdaQueryWrapper< SlVolumeProductionZy> wrapper1= Wrappers.lambdaQuery();
+        wrapper1.eq(SlVolumeProductionZy::getDelFlag,0);
         wrapper1.eq(SlVolumeProductionZy::getZyglId,managementimgVolumeProductionZyQuery.getVolumeProductionzyglId());
-        if (goodsSkuIdList.size()>0&&goodsSkuIdList!=null){
-            wrapper1.in(SlVolumeProductionZy::getScrkId,goodsSkuIdList);
+        if (managementimgVolumeProductionZyQuery.getShelfId()==null){
+            if (!slGoodsShelves.isEmpty()) {
+                wrapper1.eq(SlVolumeProductionZy::getShelfId, slGoodsShelves.get(0).getId());
+            }
+        }else{
+            wrapper1.eq(SlVolumeProductionZy::getShelfId,managementimgVolumeProductionZyQuery.getShelfId());
         }
+        if (managementimgVolumeProductionZyQuery.getStoreManagementNumber()==null){
+            wrapper1.eq(SlVolumeProductionZy::getStoreManagementNumber,1);
+        }else{
+            wrapper1.eq(SlVolumeProductionZy::getStoreManagementNumber,managementimgVolumeProductionZyQuery.getStoreManagementNumber());
+        }
+
+        if (goodsSkuIdList.isEmpty()){
+            goodsSkuIdList.add(-1L);
+        }
+        // 已经确认了转移
+        if (StringUtils.hasLength(byId.getAuthorizationUrl())){
+            wrapper1.in(SlVolumeProductionZy::getScrkId,goodsSkuIdList);
+
+        }else{
+            wrapper1.in(SlVolumeProductionZy::getRkId,goodsSkuIdList);
+
+        }
+
+
         wrapper1.eq( SlVolumeProductionZy::getDelFlag,0);
         wrapper1.orderByDesc(SlVolumeProductionZy::getCreateTime);
         Page<SlVolumeProductionZy> page2 = slVolumeProductionZyMapper.selectPage(page, wrapper1);
-        PageDTO<com.ruoyi.management.domain.dto.ManagementimgVolumeProductionZyVO> SlGoodsShelfDTO = PageDTO.of(page2, com.ruoyi.management.domain.dto.ManagementimgVolumeProductionZyVO.class);
-        List<com.ruoyi.management.domain.dto.ManagementimgVolumeProductionZyVO> list2 = SlGoodsShelfDTO.getList();
+        PageDTO<com.ruoyi.management.domain.dto.ManagementimgVolumeProductionZyVO> sl = PageDTO.of(page2, com.ruoyi.management.domain.dto.ManagementimgVolumeProductionZyVO.class);
+        List<com.ruoyi.management.domain.dto.ManagementimgVolumeProductionZyVO> list2 = sl.getList();
         for(com.ruoyi.management.domain.dto.ManagementimgVolumeProductionZyVO list:list2) {
             SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(list.getRkId());
             list.setStoreManagementNumber(slVolumeProductionRk.getStoreManagementNumber());
@@ -203,24 +259,28 @@
             SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(slVolumeProductionRk.getMaterialsId());
             list.setGoodsMaterialsName(slGoodsMaterials.getGoodsMaterialsName());
             list.setIsConsume(slGoodsMaterials.getIsConsume());
-            SlGoodsShelf slGoodsShelf = slGoodsShelfMapper.selectById(slVolumeProductionRk.getShelfId());
+            SlGoodsShelf slGoodsShelf = slGoodsShelfMapper.selectById(list.getShelfId());
             list.setGoodsShelfName(slGoodsShelf.getGoodsShelfName());
+            list.setShelfId(slGoodsShelf.getId());
             if(list.getScrkId()!=null){
                 SlVolumeProductionRk slVolumeProductionRk1 = slVolumeProductionRkMapper.selectById(list.getScrkId());
                 list.setStoreManagementNumber(slVolumeProductionRk1.getStoreManagementNumber());
-                list.setRkNumber(slVolumeProductionRk1.getRkNumber());
+                list.setZyNumber(slVolumeProductionRk1.getRkNumber());
             }
+            list.setZkNum(list.getRepertoryZhai());
         }
-        v.setList(SlGoodsShelfDTO);
+        v.setList(sl);
 
         return v;
     }
 
     @Override
-    public VolumeProductionZyglInventoryVO getVolumeProductionZyglnventory(Integer id) {
+    public VolumeProductionZyglInventoryVO getVolumeProductionZyglnventory(String id) {
         SlVolumeProductionZygl byId = this.getById(id);
         VolumeProductionZyglInventoryVO vo = new VolumeProductionZyglInventoryVO();
-        SysUser data = sysUserClient.getSysUser(byId.getId()).getData();
+
+
+        SysUser data = sysUserClient.getSysUser(byId.getSysId()).getData();
         vo.setSysPhone(data.getPhonenumber());
         vo.setSysName(data.getNickName());
         vo.setStartiTime(byId.getStartiTime());
@@ -289,26 +349,26 @@
     }
 
     @Override
-    public void zy(Integer id) {
+    public void zy(Long id,String authorizationUrl) {
         SlVolumeProductionZygl byId = this.getById(id);
+        byId.setAuthorizationUrl(authorizationUrl);
+        byId.setAuditStatus(6);
+        byId.setPresentState(4);
+        byId.setEndTime(new Date());
+        this.updateById(byId);
         LambdaQueryWrapper<SlVolumeProductionZy> wrapper1 = Wrappers.lambdaQuery();
         wrapper1.eq(SlVolumeProductionZy::getZyglId, id);
         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(byId.getBmanagementId());
-            slVolumeProductionRk.setRkNumber("CD-"+new Date().getTime());
-            slVolumeProductionRk.setRkNum(Long.valueOf(zy.getZyNum()));
-            slVolumeProductionRk.setShelfId(zy.getShelfId());
-            slVolumeProductionRk.setRepertoryZhai(Long.valueOf(zy.getZyNum()));
-            slVolumeProductionRk.setCreateTime(new Date());
-            slVolumeProductionRkMapper.insert(slVolumeProductionRk);
-            zy.setScrkId(slVolumeProductionRk.getId());
-            slVolumeProductionZyMapper.updateById(zy);
+        // 新入库ids
+        List<Long> collect = page2.stream().map(SlVolumeProductionZy::getScrkId).collect(Collectors.toList());
+        for (SlVolumeProductionZy zy : page2) {
+            // 确认转移之后扣库存
+            SlVolumeProductionRk slVolumeProductionRk1 = slVolumeProductionRkMapper.selectById(zy.getRkId());
+            slVolumeProductionRk1.setRepertoryZhai(slVolumeProductionRk1.getRepertoryZhai()-Long.valueOf(zy.getZyNum()));
+            slVolumeProductionRkMapper.updateById(slVolumeProductionRk1);
+            // 给被转移入仓库加库存数量
             LambdaQueryWrapper<ManagementGoodsMaterials> wrapper2 = Wrappers.lambdaQuery();
             wrapper2.eq(ManagementGoodsMaterials::getGoodsMaterialsId,zy.getMaterialsId());
             wrapper2.eq(ManagementGoodsMaterials::getManagementId,byId.getBmanagementId());
@@ -321,6 +381,7 @@
                 Long re1=repertoryZhai+Long.valueOf(zy.getZyNum());
                 managementGoodsMaterials.setRepertorySum(re);
                 managementGoodsMaterials.setRepertoryZhai(re1);
+                managementGoodsMaterials.setRepertoryChu(0);
                 managementGoodsMaterialsMapper.updateById(managementGoodsMaterials);
             }else{
                 ManagementGoodsMaterials managementGoodsMaterials1=new ManagementGoodsMaterials();
@@ -328,9 +389,27 @@
                 managementGoodsMaterials1.setGoodsMaterialsId(zy.getMaterialsId());
                 managementGoodsMaterials1.setRepertoryZhai(Long.valueOf(zy.getZyNum()));
                 managementGoodsMaterials1.setRepertorySum(Long.valueOf(zy.getZyNum()));
+                managementGoodsMaterials1.setRepertoryChu(0);
                 managementGoodsMaterials1.setCreateTime(new Date());
                 managementGoodsMaterialsMapper.insert(managementGoodsMaterials1);
             }
+            // 给转移仓库减去库存数量
+            LambdaQueryWrapper<ManagementGoodsMaterials> wrapper3 = Wrappers.lambdaQuery();
+            wrapper3.eq(ManagementGoodsMaterials::getGoodsMaterialsId,zy.getMaterialsId());
+            wrapper3.eq(ManagementGoodsMaterials::getManagementId,byId.getManagementId());
+            wrapper3.eq(ManagementGoodsMaterials::getDelFlag, 0);
+            ManagementGoodsMaterials managementGoodsMaterials1 = managementGoodsMaterialsMapper.selectOne(wrapper3);
+            if (managementGoodsMaterials1!=null){
+                Long repertorySum = managementGoodsMaterials1.getRepertorySum();
+                Long repertoryZhai = managementGoodsMaterials1.getRepertoryZhai();
+                Long re=repertorySum-Long.valueOf(zy.getZyNum());
+                Long re1=repertoryZhai-Long.valueOf(zy.getZyNum());
+//                managementGoodsMaterials1.setRepertorySum(re);
+                managementGoodsMaterials1.setRepertoryZhai(re1);
+                managementGoodsMaterials1.setRepertoryChu(managementGoodsMaterials1.getRepertoryChu()+zy.getZyNum());
+                managementGoodsMaterialsMapper.updateById(managementGoodsMaterials1);
+            }
         }
+
     }
 }

--
Gitblit v1.7.1