rentaiming
2024-07-24 4ffab9658f41f298372d771a2400d76455de3a7b
森林防火 供应商管理
1个文件已添加
12个文件已修改
252 ■■■■■ 已修改文件
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/SlGoodsMaterials.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/SlVolumeProductionCk.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/dto/HomeStatisticsQuery.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/dto/SlGoodsMaterialsDTO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/vo/HomeStatisticsVO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/vo/SlGoodsMaterialsVO.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/vo/SupplierVolumeProductionRkglVO.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/vo/goodsMaterialsNmVO.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/vo/homeVO.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/HomeStatisticsServiceImpl.java 177 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlGoodsMaterialsServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionCkglServiceImpl.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionRkglServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/SlGoodsMaterials.java
@@ -39,6 +39,12 @@
    @TableField("repertory")
    private Integer repertory;
    @TableField("goods_materials_no")
    @ApiModelProperty("物资缩写 ")
    private String goodsMaterialsNo;
    @ApiModelProperty("删除标志(0代表存在 2代表删除)")
    @TableField("del_flag")
    private String delFlag;
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/SlVolumeProductionCk.java
@@ -100,7 +100,9 @@
    @TableField("gh_time")
    private Date ghTime;
    @ApiModelProperty("是否归还1 否,2 是")
    @TableField("is_gh")
    private Integer isGh;
}
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/dto/HomeStatisticsQuery.java
@@ -1,5 +1,6 @@
package com.ruoyi.management.domain.dto;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -25,4 +26,19 @@
    @ApiModelProperty("货架id")
    private Long shelfId;
    /** 城市code */
    @ApiModelProperty("城市code")
    private String cityCode;
    /** 所属区县code */
    @ApiModelProperty("所属区县code")
    private String countyCode;
    /** 所属街道code */
    @ApiModelProperty("所属街道code")
    private String townCode;
}
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/dto/SlGoodsMaterialsDTO.java
@@ -19,4 +19,7 @@
    @ApiModelProperty("预警库存")
    private Integer repertory;
    @ApiModelProperty("物资缩写 ")
    private String goodsMaterialsNo;
}
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/vo/HomeStatisticsVO.java
@@ -12,10 +12,10 @@
public class HomeStatisticsVO {
    @ApiModelProperty("物资总数")
    private Long goodsMaterialsSumNum;
    private Integer goodsMaterialsSumNum;
    @ApiModelProperty("物资物资总价")
    private Long goodsMaterialsSumPice;
    private Double goodsMaterialsSumPice;
    @ApiModelProperty("物资物资消耗数品")
    List<goodsMaterialsNmVO> goodsMaterialsxiaohao;
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/vo/SlGoodsMaterialsVO.java
@@ -22,4 +22,7 @@
    @ApiModelProperty("预警库存")
    @JsonInclude(JsonInclude.Include.ALWAYS)
    private Integer repertory;
    @ApiModelProperty("物资缩写 ")
    private String goodsMaterialsNo;
}
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/vo/SupplierVolumeProductionRkglVO.java
@@ -9,7 +9,7 @@
import java.util.Date;
@Data
@ApiModel(value = "仓库管理入库", description = "仓库管理入库")
@ApiModel(value = "仓库管理入库1", description = "仓库管理入库1")
public class SupplierVolumeProductionRkglVO {
    private Long id;
@@ -22,6 +22,9 @@
    @JsonInclude(JsonInclude.Include.ALWAYS)
    private String phonenumber;
    @ApiModelProperty("发起人ID")
    private Long sysId;
    @ApiModelProperty("仓库名称")
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/vo/goodsMaterialsNmVO.java
@@ -8,7 +8,7 @@
@ApiModel(value = " 首页统计物资数", description = " 首页统计物资数")
public class goodsMaterialsNmVO {
    @ApiModelProperty("物资名称")
    private Long goodsMaterialsName;
    private String goodsMaterialsName;
    @ApiModelProperty("物资数")
    private Long goodsMaterialsNum;
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/vo/homeVO.java
New file
@@ -0,0 +1,21 @@
package com.ruoyi.management.domain.vo;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = " 首页统计", description = " 首页统计")
public class homeVO {
    private Long id;
    @ApiModelProperty("物资名称")
    private String goodsMaterialsName;
    @ApiModelProperty("物资数")
    private Long goodsMaterialsNum;
    @ApiModelProperty("1 是非消耗,2是消耗 ")
    private Integer isConsume;
}
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/HomeStatisticsServiceImpl.java
@@ -1,14 +1,187 @@
package com.ruoyi.management.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.management.domain.SlGoodsMaterials;
import com.ruoyi.management.domain.SlStoreManagement;
import com.ruoyi.management.domain.SlVolumeProductionCk;
import com.ruoyi.management.domain.SlVolumeProductionRk;
import com.ruoyi.management.domain.dto.HomeStatisticsQuery;
import com.ruoyi.management.domain.vo.HomeStatisticsVO;
import com.ruoyi.management.service.HomeStatisticsService;
import com.ruoyi.management.domain.vo.goodsMaterialsNmVO;
import com.ruoyi.management.domain.vo.homeVO;
import com.ruoyi.management.service.*;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
@Service
public class HomeStatisticsServiceImpl implements HomeStatisticsService {
    @Resource
    private SlVolumeProductionRkService slVolumeProductionRkService;
    @Resource
    private SlGoodsMaterialsService slGoodsMaterialsService;
    @Resource
    private SlStoreManagementService slStoreManagementService;
    @Resource
    private SlVolumeProductionCkService slVolumeProductionCkService;
    @Override
    public HomeStatisticsVO getHomeStatistics(HomeStatisticsQuery homeStatisticsQuery) {
        return null;
        LambdaQueryWrapper<SlStoreManagement> wrapper= Wrappers.lambdaQuery();
        if (homeStatisticsQuery.getStoreManagementName()!=null&&homeStatisticsQuery.getStoreManagementName()!=""){
            wrapper.eq(SlStoreManagement::getStoreManagementName,homeStatisticsQuery.getStoreManagementName());
        }
        if(homeStatisticsQuery.getStoreManagementNo()!=null&&homeStatisticsQuery.getStoreManagementNo()!=""){
            wrapper.eq(SlStoreManagement::getStoreManagementNo,homeStatisticsQuery.getStoreManagementNo());
        }
        if (homeStatisticsQuery.getStoreManagementGrade()!=0 && homeStatisticsQuery.getStoreManagementGrade()!=null){
            wrapper.eq(SlStoreManagement::getStoreManagementGrade,homeStatisticsQuery.getStoreManagementGrade());
        }
        if (homeStatisticsQuery.getStoreManagementNumber()!=0 && homeStatisticsQuery.getStoreManagementNumber()!=null){
            wrapper.eq(SlStoreManagement::getStoreManagementNumber,homeStatisticsQuery.getStoreManagementNumber());
        }
        if (homeStatisticsQuery.getCityCode()!=null){
            wrapper.eq(SlStoreManagement::getCityCode,homeStatisticsQuery.getCityCode());
        }
        if (homeStatisticsQuery.getCountyCode()!=null){
            wrapper.eq(SlStoreManagement::getCountyCode,homeStatisticsQuery.getCountyCode());
        }
        if (homeStatisticsQuery.getTownCode()!=null){
            wrapper.eq(SlStoreManagement::getCountyCode,homeStatisticsQuery.getTownCode());
        }
        List<SlStoreManagement> list = slStoreManagementService.list(wrapper);
        Set<Long> slStoreManagementIdList = null;
        slStoreManagementIdList = list.stream().map(SlStoreManagement::getId)
                .collect(Collectors.toSet());
        LambdaQueryWrapper<SlGoodsMaterials> wrapper1= Wrappers.lambdaQuery();
        if (homeStatisticsQuery.getGoodsMaterialsName()!=null&&homeStatisticsQuery.getStoreManagementName()!=""){
            wrapper1.eq(SlGoodsMaterials::getGoodsMaterialsName,homeStatisticsQuery.getGoodsMaterialsName());
        }
        List<SlGoodsMaterials> list1 = slGoodsMaterialsService.list(wrapper1);
        Set<Long> SlGoodsMaterialsList = null;
        SlGoodsMaterialsList = list1.stream().map(SlGoodsMaterials::getId)
                .collect(Collectors.toSet());
        LambdaQueryWrapper<SlVolumeProductionRk> wrapper2= Wrappers.lambdaQuery();
        if (slStoreManagementIdList.size()>0){
            wrapper2.in(SlVolumeProductionRk::getManagementId,slStoreManagementIdList);
        }else{
            slStoreManagementIdList=new HashSet<>();
            slStoreManagementIdList.add(0L);
            wrapper2.in(SlVolumeProductionRk::getManagementId,slStoreManagementIdList);
        }
        if (SlGoodsMaterialsList.size()>0){
            wrapper2.in(SlVolumeProductionRk::getMaterialsId,SlGoodsMaterialsList);
        }else{
            SlGoodsMaterialsList=new HashSet<>();
            SlGoodsMaterialsList.add(0L);
            wrapper2.in(SlVolumeProductionRk::getMaterialsId,SlGoodsMaterialsList);
        }
        if (homeStatisticsQuery.getShelfId()!=null){
            wrapper2.eq(SlVolumeProductionRk::getShelfId,homeStatisticsQuery.getShelfId());
        }
        List<SlVolumeProductionRk> list2 = slVolumeProductionRkService.list(wrapper2);
        Map<Long, List<SlVolumeProductionRk>> groupByUserNameMap = list2.stream().collect(Collectors.groupingBy(SlVolumeProductionRk::getMaterialsId));
        HomeStatisticsVO homeStatisticsVO=new HomeStatisticsVO();
        homeStatisticsVO.setGoodsMaterialsSumNum(groupByUserNameMap.size());
        Double d=0.0;
       for (SlVolumeProductionRk li:list2){
           Long repertoryZhai = li.getRepertoryZhai();
           LambdaQueryWrapper<SlVolumeProductionCk> wrapper3= Wrappers.lambdaQuery();
           wrapper3.eq(SlVolumeProductionCk::getRkId,li.getId());
           wrapper3.eq(SlVolumeProductionCk::getIsGh,1);
           List<SlVolumeProductionCk> list3 = slVolumeProductionCkService.list(wrapper3);
           if (list3.size()>0){
               for (SlVolumeProductionCk li1:list3){
                   repertoryZhai=repertoryZhai+li1.getCkNum();
               }
           }
           d=d+li.getRkPice().multiply(new BigDecimal(li.getRkPice().intValue())).doubleValue();
           li.setRepertoryZhai(repertoryZhai);
       }
        homeStatisticsVO.setGoodsMaterialsSumPice(d);
        //非消耗
        List<homeVO> arr=new ArrayList<>();
       //消耗
        List<homeVO> arr1=new ArrayList<>();
        for (SlVolumeProductionRk l:list2){
            homeVO h=new homeVO();
            SlGoodsMaterials byId = slGoodsMaterialsService.getById(l.getMaterialsId());
            h.setIsConsume(byId.getIsConsume());
            h.setId(byId.getId());
            h.setGoodsMaterialsName(byId.getGoodsMaterialsName());
            h.setGoodsMaterialsNum(l.getRepertoryZhai());
            if (byId.getIsConsume()==1){
                arr.add(h);
            }else{
                arr1.add(h);
            }
        }
        List<goodsMaterialsNmVO> goodsMaterialsNmVOS=new ArrayList<>();
        Map<String, List<homeVO>> groupByUserNameMap1 = arr.stream().collect(Collectors.groupingBy(homeVO::getGoodsMaterialsName));
        for (Map.Entry<String, List<homeVO>> entry : groupByUserNameMap1.entrySet()) {
            goodsMaterialsNmVO goodsMaterialsNmVO=new goodsMaterialsNmVO();
            String key = entry.getKey();
            goodsMaterialsNmVO.setGoodsMaterialsName(key);
            List<homeVO> value = entry.getValue();
            // 处理键和值
            Long a=0L;
            for (homeVO vo : value) {
                a=a+vo.getGoodsMaterialsNum();
            }
            goodsMaterialsNmVO.setGoodsMaterialsNum(a);
            goodsMaterialsNmVOS.add(goodsMaterialsNmVO);
        }
        homeStatisticsVO.setGoodsMaterialsfxiaohao(goodsMaterialsNmVOS);
        List<goodsMaterialsNmVO> goodsMaterialsNmVOS1=new ArrayList<>();
        Map<String, List<homeVO>> groupByUserNameMap2 = arr1.stream().collect(Collectors.groupingBy(homeVO::getGoodsMaterialsName));
        for (Map.Entry<String, List<homeVO>> entry : groupByUserNameMap2.entrySet()) {
            goodsMaterialsNmVO goodsMaterialsNmVO1=new goodsMaterialsNmVO();
            String key = entry.getKey();
            goodsMaterialsNmVO1.setGoodsMaterialsName(key);
            List<homeVO> value = entry.getValue();
            // 处理键和值
            Long a=0L;
            for (homeVO vo : value) {
                a=a+vo.getGoodsMaterialsNum();
            }
            goodsMaterialsNmVO1.setGoodsMaterialsNum(a);
            goodsMaterialsNmVOS1.add(goodsMaterialsNmVO1);
        }
        homeStatisticsVO.setGoodsMaterialsxiaohao(goodsMaterialsNmVOS);
        return homeStatisticsVO;
    }
}
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlGoodsMaterialsServiceImpl.java
@@ -52,6 +52,7 @@
            SlGoodsMaterials slGoodsMaterials=new  SlGoodsMaterials();
            slGoodsMaterials.setGoodsMaterialsName(slGoodsMaterialsDTO.getGoodsMaterialsName());
            slGoodsMaterials.setIsConsume(slGoodsMaterialsDTO.getIsConsume());
            slGoodsMaterials.setGoodsMaterialsNo(slGoodsMaterialsDTO.getGoodsMaterialsNo());
            slGoodsMaterials.setRepertory(slGoodsMaterialsDTO.getRepertory());
            this.save(slGoodsMaterials);
        }else{
@@ -72,6 +73,7 @@
                }
            }
            byId.setGoodsMaterialsNo(slGoodsMaterialsDTO.getGoodsMaterialsNo());
            if (slGoodsMaterialsDTO.getIsConsume()!=null){
                byId.setIsConsume(slGoodsMaterialsDTO.getIsConsume());
            }
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionCkglServiceImpl.java
@@ -241,6 +241,9 @@
        wrapper1.orderByDesc(SlVolumeProductionCk::getCreateTime);
        List<SlVolumeProductionCk> page2 = slVolumeProductionCkMapper.selectList(wrapper1);
        for (SlVolumeProductionCk list : page2) {
            list.setIsGh(2);
            slVolumeProductionCkMapper.updateById(list);
            SlVolumeProductionRk slVolumeProductionRk = slVolumeProductionRkMapper.selectById(list.getRkId());
            Long num =slVolumeProductionRk.getRepertoryZhai()+Long.valueOf(list.getGuihNum());
            slVolumeProductionRk.setRepertoryZhai(num);
ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlVolumeProductionRkglServiceImpl.java
@@ -112,7 +112,9 @@
        if (goodsSkuIdList.size()>0){
            wrapper1.in(SlVolumeProductionRkgl::getSysId,goodsSkuIdList);
        }else{
            goodsSkuIdList=new HashSet<>();
            goodsSkuIdList.add(0l);
            wrapper1.in(SlVolumeProductionRkgl::getSysId,goodsSkuIdList);
        }
        wrapper1.eq( SlVolumeProductionRkgl::getDelFlag,0);
        wrapper1.orderByDesc(SlVolumeProductionRkgl::getCreateTime);
@@ -121,7 +123,7 @@
        PageDTO<SupplierVolumeProductionRkglVO> SlGoodsShelfDTO = PageDTO.of(page2, SupplierVolumeProductionRkglVO.class);
        List<SupplierVolumeProductionRkglVO> list2 = SlGoodsShelfDTO.getList();
        for(SupplierVolumeProductionRkglVO list:list2){
            SysUser data = sysUserClient.getSysUser(list.getSupplierId()).getData();
            SysUser data = sysUserClient.getSysUser(list.getSysId()).getData();
            list.setNickName(data.getNickName());
            list.setPhonenumber(data.getPhonenumber());
            SlStoreManagement slStoreManagement = slStoreManagementMapper.selectById(list.getManagementId());