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/SlVolumeProductionCkglServiceImpl.java |  279 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 277 insertions(+), 2 deletions(-)

diff --git a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionCkglServiceImpl.java b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionCkglServiceImpl.java
index eece32f..8a664ee 100644
--- a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionCkglServiceImpl.java
+++ b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionCkglServiceImpl.java
@@ -1,10 +1,28 @@
 package com.ruoyi.management.service.impl;
 
-import com.ruoyi.management.domain.SlVolumeProductionCkgl;
-import com.ruoyi.management.mapper.SlVolumeProductionCkglMapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.utils.page.BeanUtils;
+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.VolumeProductionCkglDTO;
+import com.ruoyi.management.domain.dto.getslVolumeProductionCkglQuery;
+import com.ruoyi.management.domain.vo.*;
+import com.ruoyi.management.mapper.*;
 import com.ruoyi.management.service.SlVolumeProductionCkglService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.system.api.domain.SysUser;
+import com.ruoyi.system.api.domain.getVolumeProductionRkQuery;
+import com.ruoyi.system.api.feignClient.LogClient;
+import com.ruoyi.system.api.feignClient.SysUserClient;
+import io.swagger.models.auth.In;
 import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -16,5 +34,262 @@
  */
 @Service
 public class SlVolumeProductionCkglServiceImpl extends ServiceImpl<SlVolumeProductionCkglMapper, SlVolumeProductionCkgl> implements SlVolumeProductionCkglService {
+    @Resource
+    private SysUserClient sysUserClient;
 
+    @Resource
+    private SlStoreManagementMapper slStoreManagementMapper;
+
+    @Resource
+    private SlVolumeProductionCkMapper slVolumeProductionCkMapper;
+
+    @Resource
+    private SlVolumeProductionRkMapper slVolumeProductionRkMapper;
+
+    @Resource
+    private SlGoodsMaterialsMapper slGoodsMaterialsMapper;
+
+    @Resource
+    private  SlGoodsShelfMapper slGoodsShelfMapper;
+
+    @Resource
+    private ManagementGoodsMaterialsMapper managementGoodsMaterialsMapper;
+
+    @Resource
+    private LogClient logClient;
+
+    @Override
+    public PageDTO<VolumeProductionCkglVO> getslVolumeProductionCkglList(getslVolumeProductionCkglQuery VolumeProductionCkglQuery) {
+
+        Page<SlVolumeProductionCkgl> page = new Page<>(VolumeProductionCkglQuery.getPageCurr(), VolumeProductionCkglQuery.getPageSize());
+        getVolumeProductionRkQuery getVolume=new getVolumeProductionRkQuery();
+        getVolume.setSupplierPhone(VolumeProductionCkglQuery.getSupplierPhone());
+        getVolume.setSupplierName(VolumeProductionCkglQuery.getSupplierName());
+        List<SysUser> data1 = sysUserClient.getUserSupplierList(getVolume).getData();
+        Set<Long> goodsSkuIdList = null;
+        goodsSkuIdList = data1.stream().map(SysUser::getUserId)
+                .collect(Collectors.toSet());
+
+        LambdaQueryWrapper< SlVolumeProductionCkgl> wrapper1= Wrappers.lambdaQuery();
+        if (VolumeProductionCkglQuery.getPresentState()!=null &&VolumeProductionCkglQuery.getPresentState()!=0){
+        wrapper1.eq(SlVolumeProductionCkgl::getPresentState,VolumeProductionCkglQuery.getPresentState());
+        }
+        if (VolumeProductionCkglQuery.getAuditStatus()!=null &&VolumeProductionCkglQuery.getAuditStatus()!=0){
+            wrapper1.eq(SlVolumeProductionCkgl::getAuditStatus,VolumeProductionCkglQuery.getAuditStatus());
+
+        }
+        if (goodsSkuIdList.size()>0){
+            wrapper1.in(SlVolumeProductionCkgl::getSysId,goodsSkuIdList);
+        }
+        wrapper1.eq( SlVolumeProductionCkgl::getDelFlag,0);
+        wrapper1.orderByDesc(SlVolumeProductionCkgl::getCreateTime);
+        Page<SlVolumeProductionCkgl> page2 = this.page(page, wrapper1);
+
+        PageDTO<VolumeProductionCkglVO> SlGoodsShelfDTO = PageDTO.of(page2, VolumeProductionCkglVO .class);
+        List<VolumeProductionCkglVO> list2 = SlGoodsShelfDTO.getList();
+        for(VolumeProductionCkglVO list:list2){
+            SysUser data = sysUserClient.getSysUser(list.getSysId()).getData();
+            list.setNickName(data.getNickName());
+            list.setPhonenumber(data.getPhonenumber());
+            SlStoreManagement slStoreManagement = slStoreManagementMapper.selectById(list.getManagementId());
+            list.setStoreManagementName(slStoreManagement.getStoreManagementName());
+        }
+        return SlGoodsShelfDTO;
+    }
+
+    @Override
+    public String addslVolumeProductionCkgl(VolumeProductionCkglDTO volumeProductionCkglDTO) {
+        Long userid = SecurityUtils.getUserId();
+        if (volumeProductionCkglDTO.getId()==null){
+            SlVolumeProductionCkgl slVolumeProductionRkgl=new  SlVolumeProductionCkgl();
+            slVolumeProductionRkgl.setAttachmentUrl(volumeProductionCkglDTO.getAttachmentUrl());
+            slVolumeProductionRkgl.setAuthorizationUrl(volumeProductionCkglDTO.getAuthorization());
+            slVolumeProductionRkgl.setSource(volumeProductionCkglDTO.getSource());
+            slVolumeProductionRkgl.setAuditStatus(1);
+            slVolumeProductionRkgl.setManagementId(volumeProductionCkglDTO.getManagementId());
+            slVolumeProductionRkgl.setPresentState(1);
+            slVolumeProductionRkgl.setSource(volumeProductionCkglDTO.getSource());
+            slVolumeProductionRkgl.setStartiTime(new Date());
+            slVolumeProductionRkgl.setSysId(userid);
+            slVolumeProductionRkgl.setCreateTime(new Date());
+            this.save(slVolumeProductionRkgl);
+            return slVolumeProductionRkgl.getId().toString();
+        }else{
+            SlVolumeProductionCkgl byId = this.getById(volumeProductionCkglDTO.getId());
+            if (volumeProductionCkglDTO.getSource()!=null){
+                byId.setSource(volumeProductionCkglDTO.getSource());
+            }
+            if (volumeProductionCkglDTO.getAttachmentUrl()!=null){
+                byId.setAttachmentUrl(volumeProductionCkglDTO.getAttachmentUrl());
+            }
+            if (volumeProductionCkglDTO.getAuthorization()!=null){
+                byId.setAuthorizationUrl(volumeProductionCkglDTO.getAuthorization());
+            }
+            this.updateById(byId);
+            return volumeProductionCkglDTO.getId().toString();
+        }
+    }
+
+    @Override
+    public VolumeProductionCkglInfoVO getVolumeProductionCkglnfo(Long id) {
+        SlVolumeProductionCkgl byId = this.getById(id);
+        VolumeProductionCkglInfoVO v= BeanUtils.copyBean(byId, VolumeProductionCkglInfoVO.class);
+        v.setAuthorization(byId.getAuthorizationUrl());
+        SlStoreManagement slStoreManagement = slStoreManagementMapper.selectById(byId.getManagementId());
+        v.setStoreManagementName(slStoreManagement.getStoreManagementName());
+        v.setZhuren(slStoreManagement.getDirectorId());
+        v.setZhuguan(slStoreManagement.getCompetentId());
+        v.setGuanliyuan(slStoreManagement.getAdministratorId());
+        v.setReasonsRefusal(byId.getReasonsRefusal());
+        SysUser data1 = sysUserClient.getSysUser(Long.valueOf(byId.getSysId())).getData();
+        if (data1!=null){
+            v.setSysName(data1.getNickName());
+            v.setSysPhone(data1.getPhonenumber());
+        }
+        return v;
+    }
+
+    @Override
+    public VolumeProductionCkglInventoryVO getVolumeProductionCkglInventory(Long id) {
+        SlVolumeProductionCkgl byId = this.getById(id);
+        VolumeProductionCkglInventoryVO vo = new VolumeProductionCkglInventoryVO();
+        SysUser data = sysUserClient.getSysUser(byId.getSysId()).getData();
+        vo.setSysPhone(data.getPhonenumber());
+        vo.setSysName(data.getNickName());
+        vo.setStartiTime(byId.getStartiTime());
+        SlStoreManagement slStoreManagement = slStoreManagementMapper.selectById(byId.getManagementId());
+        vo.setStoreManagementName(slStoreManagement.getStoreManagementName());
+        String directorId = slStoreManagement.getDirectorId();
+        List<String> stri = Arrays.asList(directorId.split(","));
+        String str1 = "";
+        if (stri.size() > 0) {
+            for (String str : stri) {
+                SysUser data1 = sysUserClient.getSysUser(Long.valueOf(str)).getData();
+                str1 += data1.getNickName() + ",";
+            }
+        }
+        vo.setDirectorName(str1.substring(0, str1.length() - 1));
+
+        String competentId = slStoreManagement.getCompetentId();
+        List<String> stri1 = Arrays.asList(competentId.split(","));
+        String str11 = "";
+        if (stri1.size() > 0) {
+            for (String str : stri1) {
+                SysUser data1 = sysUserClient.getSysUser(Long.valueOf(str)).getData();
+                str11 += data1.getNickName() + ",";
+            }
+        }
+        vo.setCompetentName(str11.substring(0, str11.length() - 1));
+
+        String administratorId = slStoreManagement.getAdministratorId();
+        List<String> stri11 = Arrays.asList(administratorId.split(","));
+        String str111 = "";
+        if (stri11.size() > 0) {
+            for (String str : stri11) {
+                SysUser data1 = sysUserClient.getSysUser(Long.valueOf(str)).getData();
+                str111 += data1.getNickName() + ",";
+            }
+        }
+        vo.setAdministratorName(str111.substring(0, str111.length() - 1));
+
+
+        LambdaQueryWrapper< SlVolumeProductionCk> wrapper2= Wrappers.lambdaQuery();
+        wrapper2.eq(SlVolumeProductionCk::getCkglId,id);
+        wrapper2.eq( SlVolumeProductionCk::getDelFlag,0);
+        wrapper2.orderByDesc(SlVolumeProductionCk::getCreateTime);
+        List<SlVolumeProductionCk> page2 = slVolumeProductionCkMapper.selectList(wrapper2);
+        List<ManagementimgVolumeProductionCkVO> SlGoodsShelfDTO=new ArrayList<>();
+        for(SlVolumeProductionCk list1:page2) {
+            ManagementimgVolumeProductionCkVO list=new ManagementimgVolumeProductionCkVO();
+            list.setId(list1.getId());
+            list.setCkNum(list1.getCkNum());
+            SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(list1.getRkId());
+            list.setStoreManagementNumber(slVolumeProductionRk.getStoreManagementNumber());
+            list.setRkNumber(slVolumeProductionRk.getRkNumber());
+            list.setRepertoryZhai(slVolumeProductionRk.getRepertoryZhai());
+            SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(slVolumeProductionRk.getMaterialsId());
+            list.setGoodsMaterialsName(slGoodsMaterials.getGoodsMaterialsName());
+            list.setIsConsume(slGoodsMaterials.getIsConsume());
+            SlGoodsShelf slGoodsShelf = slGoodsShelfMapper.selectById(slVolumeProductionRk.getShelfId());
+            list.setGoodsShelfName(slGoodsShelf.getGoodsShelfName());
+
+            SlGoodsShelfDTO.add(list);
+        }
+        vo.setManagementimgVolumeProductionCkVOList(SlGoodsShelfDTO);
+        return vo;
+    }
+
+    @Override
+    public void ck(Long id) {
+        LambdaQueryWrapper<SlVolumeProductionCk> wrapper1 = Wrappers.lambdaQuery();
+        wrapper1.eq(SlVolumeProductionCk::getCkglId, id);
+        wrapper1.eq(SlVolumeProductionCk::getDelFlag, 0);
+        wrapper1.orderByDesc(SlVolumeProductionCk::getCreateTime);
+        List<SlVolumeProductionCk> page2 = slVolumeProductionCkMapper.selectList(wrapper1);
+        for (SlVolumeProductionCk list : page2) {
+            list.setCkTime(new Date());
+            slVolumeProductionCkMapper.updateById(list);
+            SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(list.getRkId());
+            Long num =slVolumeProductionRk.getRepertoryZhai()-Long.valueOf(list.getCkNum());
+            slVolumeProductionRk.setRepertoryZhai(num);
+            slVolumeProductionRkMapper.updateById(slVolumeProductionRk);
+            LambdaQueryWrapper<ManagementGoodsMaterials> wrapper2 = Wrappers.lambdaQuery();
+            wrapper2.eq(ManagementGoodsMaterials::getGoodsMaterialsId,list.getMaterialsId());
+            wrapper2.eq(ManagementGoodsMaterials::getManagementId,slVolumeProductionRk.getManagementId());
+            wrapper2.eq(ManagementGoodsMaterials::getDelFlag, 0);
+            ManagementGoodsMaterials managementGoodsMaterials = managementGoodsMaterialsMapper.selectOne(wrapper2);
+            if (managementGoodsMaterials!=null){
+                Long repertoryZhai = managementGoodsMaterials.getRepertoryZhai();
+                Long re1=repertoryZhai-Long.valueOf(list.getCkNum());
+                Integer num1= managementGoodsMaterials.getRepertoryChu()+list.getCkNum();
+                managementGoodsMaterials.setRepertoryZhai(re1);
+                managementGoodsMaterials.setCheckNum(num1);
+                managementGoodsMaterialsMapper.updateById(managementGoodsMaterials);
+            }
+        }
+        SlVolumeProductionCkgl byId = this.getById(id);
+        byId.setAuditStatus(6);
+        this.updateById(byId);
+        logClient.savelong1();
+
+    }
+
+    @Override
+    public void gh(Long id) {
+        LambdaQueryWrapper<SlVolumeProductionCk> wrapper1 = Wrappers.lambdaQuery();
+        wrapper1.eq(SlVolumeProductionCk::getCkglId, id);
+        wrapper1.eq(SlVolumeProductionCk::getDelFlag, 0);
+        wrapper1.orderByDesc(SlVolumeProductionCk::getCreateTime);
+        List<SlVolumeProductionCk> page2 = slVolumeProductionCkMapper.selectList(wrapper1);
+        for (SlVolumeProductionCk list : page2) {
+            list.setIsGh(2);
+            list.setGhTime(new Date());
+            slVolumeProductionCkMapper.updateById(list);
+            SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(list.getRkId());
+            Long num =slVolumeProductionRk.getRepertoryZhai()+Long.valueOf(list.getGuihNum());
+            slVolumeProductionRk.setRepertoryZhai(num);
+            slVolumeProductionRkMapper.updateById(slVolumeProductionRk);
+            LambdaQueryWrapper<ManagementGoodsMaterials> wrapper2 = Wrappers.lambdaQuery();
+            wrapper2.eq(ManagementGoodsMaterials::getGoodsMaterialsId,list.getMaterialsId());
+            wrapper2.eq(ManagementGoodsMaterials::getManagementId,slVolumeProductionRk.getManagementId());
+            wrapper2.eq(ManagementGoodsMaterials::getDelFlag, 0);
+            ManagementGoodsMaterials managementGoodsMaterials = managementGoodsMaterialsMapper.selectOne(wrapper2);
+            if (managementGoodsMaterials!=null){
+                Long repertoryZhai = managementGoodsMaterials.getRepertoryZhai();
+                Long re1=repertoryZhai+Long.valueOf(list.getGuihNum());
+                Integer m=managementGoodsMaterials.getCheckNum()-list.getCkNum();
+                Integer m1=list.getCkNum()-list.getGuihNum();
+                Integer m2=managementGoodsMaterials.getRepertoryYishi()+m1;
+                managementGoodsMaterials.setRepertoryChu(m);
+                managementGoodsMaterials.setRepertoryZhai(re1);
+                managementGoodsMaterials.setRepertoryYishi(m2);
+                managementGoodsMaterialsMapper.updateById(managementGoodsMaterials);
+            }
+        }
+        SlVolumeProductionCkgl byId = this.getById(id);
+        byId.setAuditStatus(7);
+        byId.setPresentState(4);
+        byId.setEndTime(new Date());
+        this.updateById(byId);
+    }
 }

--
Gitblit v1.7.1