From 068f7367353f9f20debc65ec4be2209ae3b90ecd Mon Sep 17 00:00:00 2001
From: rentaiming <806181062@qq.com>
Date: 星期二, 16 七月 2024 16:54:57 +0800
Subject: [PATCH] 森林防火 供应商管理

---
 ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionRkglServiceImpl.java |  223 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 214 insertions(+), 9 deletions(-)

diff --git a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionRkglServiceImpl.java b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionRkglServiceImpl.java
index 9094da6..43888ca 100644
--- a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionRkglServiceImpl.java
+++ b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionRkglServiceImpl.java
@@ -3,23 +3,29 @@
 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.management.domain.SlGoodsShelf;
-import com.ruoyi.management.domain.SlStoreManagement;
-import com.ruoyi.management.domain.SlVolumeProductionRkgl;
+import com.ruoyi.common.security.utils.SecurityUtils;
+import com.ruoyi.management.domain.*;
 import com.ruoyi.management.domain.dto.SupplierVolumeProductionRkglQuery;
-import com.ruoyi.management.domain.vo.SlGoodsShelfVO;
+import com.ruoyi.management.domain.dto.VolumeProductionRkglDTO;
+import com.ruoyi.management.domain.vo.ManagementimgVolumeProductionRkVO;
 import com.ruoyi.management.domain.vo.SupplierVolumeProductionRkglVO;
-import com.ruoyi.management.mapper.SlStoreManagementMapper;
-import com.ruoyi.management.mapper.SlVolumeProductionRkglMapper;
+import com.ruoyi.management.domain.vo.VolumeProductionRkgInfoVO;
+import com.ruoyi.management.domain.vo.VolumeProductionRkgInventoryVO;
+import com.ruoyi.management.mapper.*;
 import com.ruoyi.management.service.SlVolumeProductionRkglService;
 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.SysUserClient;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-import java.util.List;
+import javax.xml.crypto.Data;
+import java.time.LocalDateTime;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -39,11 +45,23 @@
     @Resource
     private SlStoreManagementMapper slStoreManagementMapper;
 
+    @Resource
+    private SlVolumeProductionRkMapper slVolumeProductionRkMapper;
+
+    @Resource
+    private SlGoodsMaterialsMapper slGoodsMaterialsMapper;
+
+    @Resource
+    private SlGoodsShelfMapper slGoodsShelfMapper;
+
+    @Resource
+    private  ManagementGoodsMaterialsMapper managementGoodsMaterialsMapper;
+
     @Override
     public PageDTO<SupplierVolumeProductionRkglVO> getSupplierVolumeProductionRkglList(SupplierVolumeProductionRkglQuery supplierVolumeProductionRkglQuery) {
         Page<SlVolumeProductionRkgl> page = new Page<>(supplierVolumeProductionRkglQuery.getPageCurr(), supplierVolumeProductionRkglQuery.getPageSize());
         LambdaQueryWrapper< SlVolumeProductionRkgl> wrapper1= Wrappers.lambdaQuery();
-        wrapper1.like(SlVolumeProductionRkgl::getSupplierId,supplierVolumeProductionRkglQuery.getSupplierId());
+        wrapper1.eq(SlVolumeProductionRkgl::getSupplierId,supplierVolumeProductionRkglQuery.getSupplierId());
         wrapper1.eq( SlVolumeProductionRkgl::getDelFlag,0);
         wrapper1.orderByDesc(SlVolumeProductionRkgl::getCreateTime);
         Page<SlVolumeProductionRkgl> page2 = this.page(page, wrapper1);
@@ -51,7 +69,7 @@
         PageDTO<SupplierVolumeProductionRkglVO> SlGoodsShelfDTO = PageDTO.of(page2, SupplierVolumeProductionRkglVO.class);
         List<SupplierVolumeProductionRkglVO> list2 = SlGoodsShelfDTO.getList();
         for(SupplierVolumeProductionRkglVO list:list2){
-            SysUser data = sysUserClient.getSysUser(Long.valueOf(list.getSupplierId())).getData();
+            SysUser data = sysUserClient.getSysUser(list.getSupplierId()).getData();
             list.setNickName(data.getNickName());
             list.setPhonenumber(data.getPhonenumber());
             SlStoreManagement slStoreManagement = slStoreManagementMapper.selectById(list.getManagementId());
@@ -59,4 +77,191 @@
         }
         return SlGoodsShelfDTO;
     }
+
+    @Override
+    public VolumeProductionRkgInfoVO getVolumeProductionRkgInfo(Integer id) {
+        SlVolumeProductionRkgl byId = this.getById(id);
+        VolumeProductionRkgInfoVO v=BeanUtils.copyBean(byId, VolumeProductionRkgInfoVO.class);
+        SlStoreManagement slStoreManagement = slStoreManagementMapper.selectById(byId.getManagementId());
+        v.setStoreManagementName(slStoreManagement.getStoreManagementName());
+        SysUser data = sysUserClient.getSysUser(Long.valueOf(byId.getSupplierId())).getData();
+        v.setSupplierName(data.getNickName());
+        v.setSupplierPhone(data.getPhonenumber());
+        SysUser data1 = sysUserClient.getSysUser(Long.valueOf(byId.getSysId())).getData();
+        v.setSysName(data1.getNickName());
+        v.setSysPhone(data1.getPhonenumber());
+        return v;
+    }
+
+    @Override
+    public PageDTO<SupplierVolumeProductionRkglVO> getslVolumeProductionRkglList(getVolumeProductionRkQuery getVolumeProductionRkQuery) {
+        Page<SlVolumeProductionRkgl> page = new Page<>(getVolumeProductionRkQuery.getPageCurr(), getVolumeProductionRkQuery.getPageSize());
+
+        List<SysUser> data1 = sysUserClient.getUserSupplierList(getVolumeProductionRkQuery).getData();
+        Set<Long> goodsSkuIdList = null;
+        goodsSkuIdList = data1.stream().map(SysUser::getUserId)
+                .collect(Collectors.toSet());
+
+        LambdaQueryWrapper< SlVolumeProductionRkgl> wrapper1= Wrappers.lambdaQuery();
+        wrapper1.eq(SlVolumeProductionRkgl::getPresentState,getVolumeProductionRkQuery.getPresentState());
+        wrapper1.eq(SlVolumeProductionRkgl::getAuditStatus,getVolumeProductionRkQuery.getAuditStatus());
+        if (goodsSkuIdList.size()>0){
+            wrapper1.in(SlVolumeProductionRkgl::getSysId,goodsSkuIdList);
+        }
+        wrapper1.eq( SlVolumeProductionRkgl::getDelFlag,0);
+        wrapper1.orderByDesc(SlVolumeProductionRkgl::getCreateTime);
+        Page<SlVolumeProductionRkgl> page2 = this.page(page, wrapper1);
+
+        PageDTO<SupplierVolumeProductionRkglVO> SlGoodsShelfDTO = PageDTO.of(page2, SupplierVolumeProductionRkglVO.class);
+        List<SupplierVolumeProductionRkglVO> list2 = SlGoodsShelfDTO.getList();
+        for(SupplierVolumeProductionRkglVO list:list2){
+            SysUser data = sysUserClient.getSysUser(list.getSupplierId()).getData();
+            list.setNickName(data.getNickName());
+            list.setPhonenumber(data.getPhonenumber());
+            SlStoreManagement slStoreManagement = slStoreManagementMapper.selectById(list.getManagementId());
+            list.setStoreManagementName(slStoreManagement.getStoreManagementName());
+        }
+        return SlGoodsShelfDTO;
+    }
+
+    @Override
+    public void addVolumeProductionRkgl(VolumeProductionRkglDTO volumeProductionRkglDTO) {
+        Long userid = SecurityUtils.getUserId();
+        if (volumeProductionRkglDTO.getId()!=null){
+            SlVolumeProductionRkgl slVolumeProductionRkgl=new  SlVolumeProductionRkgl();
+            slVolumeProductionRkgl.setAttachmentUrl(volumeProductionRkglDTO.getAttachmentUrl());
+            slVolumeProductionRkgl.setAuthorization(volumeProductionRkglDTO.getAuthorization());
+            slVolumeProductionRkgl.setAuditStatus(1);
+            slVolumeProductionRkgl.setManagementId(volumeProductionRkglDTO.getManagementId());
+            slVolumeProductionRkgl.setPresentState(1);
+            slVolumeProductionRkgl.setSupplierId(volumeProductionRkglDTO.getSupplierId());
+            slVolumeProductionRkgl.setSource(volumeProductionRkglDTO.getSource());
+            slVolumeProductionRkgl.setStartiTime(new Date());
+            slVolumeProductionRkgl.setSysId(userid);
+            slVolumeProductionRkgl.setRemark(volumeProductionRkglDTO.getRemark());
+            this.save(slVolumeProductionRkgl);
+        }else{
+            SlVolumeProductionRkgl byId = this.getById(volumeProductionRkglDTO.getId());
+            if (volumeProductionRkglDTO.getSource()!=null){
+                byId.setSource(volumeProductionRkglDTO.getSource());
+            }
+            if (volumeProductionRkglDTO.getRemark()!=null){
+                byId.setRemark(volumeProductionRkglDTO.getRemark());
+            }
+            if (volumeProductionRkglDTO.getSupplierId()!=null){
+                byId.setSupplierId(volumeProductionRkglDTO.getSupplierId());
+            }
+            if (volumeProductionRkglDTO.getAttachmentUrl()!=null){
+                byId.setAttachmentUrl(volumeProductionRkglDTO.getAttachmentUrl());
+            }
+            if (volumeProductionRkglDTO.getAuthorization()!=null){
+                byId.setAuthorization(volumeProductionRkglDTO.getAuthorization());
+            }
+            this.updateById(byId);
+        }
+    }
+
+    @Override
+    public VolumeProductionRkgInventoryVO getVolumeProductionRkgInventory(Integer id) {
+        SlVolumeProductionRkgl byId = this.getById(id);
+        VolumeProductionRkgInventoryVO vo = new VolumeProductionRkgInventoryVO();
+        SysUser data = sysUserClient.getSysUser(byId.getId()).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 = null;
+        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 = null;
+        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 = null;
+        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));
+
+        List<ManagementimgVolumeProductionRkVO> managementList = new ArrayList<>();
+
+
+        LambdaQueryWrapper<SlVolumeProductionRk> wrapper1 = Wrappers.lambdaQuery();
+        wrapper1.eq(SlVolumeProductionRk::getVolumeProductionRkglId, byId.getId());
+        wrapper1.eq(SlVolumeProductionRk::getDelFlag, 0);
+        wrapper1.orderByDesc(SlVolumeProductionRk::getCreateTime);
+        List<SlVolumeProductionRk> page2 = slVolumeProductionRkMapper.selectList(wrapper1);
+        for (SlVolumeProductionRk list : page2) {
+                ManagementimgVolumeProductionRkVO rkVO = new ManagementimgVolumeProductionRkVO();
+                SlGoodsMaterials slGoodsMaterials = slGoodsMaterialsMapper.selectById(list.getMaterialsId());
+                rkVO.setGoodsMaterialsName(slGoodsMaterials.getGoodsMaterialsName());
+                rkVO.setIsConsume(slGoodsMaterials.getIsConsume());
+                rkVO.setRkModel(list.getRkModel());
+                rkVO.setRkNum(list.getRkNum());
+                rkVO.setRkPice(list.getRkPice());
+                rkVO.setStoreManagementNumber(rkVO.getStoreManagementNumber());
+                SlGoodsShelf slGoodsShelf = slGoodsShelfMapper.selectById(list.getShelfId());
+                rkVO.setGoodsShelfName(slGoodsShelf.getGoodsShelfName());
+        }
+        return vo;
+    }
+
+    @Override
+    public void rk(Integer id) {
+        LambdaQueryWrapper<SlVolumeProductionRk> wrapper1 = Wrappers.lambdaQuery();
+        wrapper1.eq(SlVolumeProductionRk::getVolumeProductionRkglId, id);
+        wrapper1.eq(SlVolumeProductionRk::getDelFlag, 0);
+        wrapper1.orderByDesc(SlVolumeProductionRk::getCreateTime);
+        List<SlVolumeProductionRk> page2 = slVolumeProductionRkMapper.selectList(wrapper1);
+        for (SlVolumeProductionRk list : page2) {
+            LambdaQueryWrapper<ManagementGoodsMaterials> wrapper2 = Wrappers.lambdaQuery();
+            wrapper2.eq(ManagementGoodsMaterials::getGoodsMaterialsId,list.getMaterialsId());
+            wrapper2.eq(ManagementGoodsMaterials::getManagementId,list.getManagementId());
+            wrapper2.eq(ManagementGoodsMaterials::getDelFlag, 0);
+            ManagementGoodsMaterials managementGoodsMaterials = managementGoodsMaterialsMapper.selectOne(wrapper2);
+            if (managementGoodsMaterials!=null){
+                Long repertorySum = managementGoodsMaterials.getRepertorySum();
+                Long repertoryZhai = managementGoodsMaterials.getRepertoryZhai();
+                Long re=repertorySum+list.getRkNum();
+                Long re1=repertoryZhai+list.getRkNum();
+                managementGoodsMaterials.setRepertorySum(re);
+                managementGoodsMaterials.setRepertoryZhai(re1);
+                managementGoodsMaterialsMapper.updateById(managementGoodsMaterials);
+            }else{
+                ManagementGoodsMaterials managementGoodsMaterials1=new ManagementGoodsMaterials();
+                managementGoodsMaterials1.setManagementId(list.getManagementId());
+                managementGoodsMaterials1.setGoodsMaterialsId(list.getMaterialsId());
+                managementGoodsMaterials1.setRepertoryZhai(list.getRkNum());
+                managementGoodsMaterials1.setRepertorySum(list.getRkNum());
+                managementGoodsMaterialsMapper.insert(managementGoodsMaterials1);
+            }
+        }
+        SlVolumeProductionRkgl byId = this.getById(id);
+        byId.setPresentState(4);
+        byId.setAuditStatus(6);
+        byId.setEndTime(new Date());
+        this.updateById(byId);
+    }
+
 }

--
Gitblit v1.7.1