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

---
 ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/dto/ManagementGoodsMaterialsQuery.java         |   40 ++++++++
 ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/ManagementGoodsMaterials.java                  |    4 
 ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/vo/ManagementGoodsMaterialsVO.java             |   86 +++++++++++++++++
 ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/ManagementGoodsMaterialsService.java          |    6 +
 ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlGoodsMaterialsServiceImpl.java         |   10 ++
 ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/controller/ManagementGoodsMaterialsController.java    |   23 ++++
 ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/ManagementGoodsMaterialsServiceImpl.java |  100 ++++++++++++++++++++
 7 files changed, 269 insertions(+), 0 deletions(-)

diff --git a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/controller/ManagementGoodsMaterialsController.java b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/controller/ManagementGoodsMaterialsController.java
index b5036ee..fa6b77f 100644
--- a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/controller/ManagementGoodsMaterialsController.java
+++ b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/controller/ManagementGoodsMaterialsController.java
@@ -1,9 +1,23 @@
 package com.ruoyi.management.controller;
 
 
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.utils.page.PageDTO;
+import com.ruoyi.management.domain.dto.InventoriesSuppliesQuery;
+import com.ruoyi.management.domain.dto.ManagementGoodsMaterialsQuery;
+import com.ruoyi.management.domain.vo.InventoriesSuppliesVO;
+import com.ruoyi.management.domain.vo.ManagementGoodsMaterialsVO;
+import com.ruoyi.management.service.InventoriesSuppliesService;
+import com.ruoyi.management.service.ManagementGoodsMaterialsService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
 
 /**
  * <p>
@@ -15,6 +29,15 @@
  */
 @RestController
 @RequestMapping("/management-goods-materials")
+@Api(value = "库存预警接口", tags = "库存预警接口", description = "库存预警接口")
 public class ManagementGoodsMaterialsController {
 
+    @Resource
+    private ManagementGoodsMaterialsService managementGoodsMaterialsService;
+    @PostMapping("/getManagementGoodsMaterialsList")
+    @ApiOperation(value = "分页获物资盘点")
+    public R<PageDTO<ManagementGoodsMaterialsVO>> getManagementGoodsMaterialsList(@RequestBody ManagementGoodsMaterialsQuery managementGoodsMaterialsQuery) {
+        return R.ok(managementGoodsMaterialsService.getManagementGoodsMaterialsList(managementGoodsMaterialsQuery));
+    }
+
 }
diff --git a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/ManagementGoodsMaterials.java b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/ManagementGoodsMaterials.java
index ce07fb0..d436df9 100644
--- a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/ManagementGoodsMaterials.java
+++ b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/ManagementGoodsMaterials.java
@@ -73,5 +73,9 @@
     @TableField("update_time")
     private Date updateTime;
 
+    @ApiModelProperty("预警库存")
+    @TableField("repertory")
+    private Integer repertory;
+
 
 }
diff --git a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/dto/ManagementGoodsMaterialsQuery.java b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/dto/ManagementGoodsMaterialsQuery.java
new file mode 100644
index 0000000..5762532
--- /dev/null
+++ b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/dto/ManagementGoodsMaterialsQuery.java
@@ -0,0 +1,40 @@
+package com.ruoyi.management.domain.dto;
+
+import com.ruoyi.common.core.web.page.BasePage;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel("库存预警查询传输对象")
+public class ManagementGoodsMaterialsQuery extends BasePage {
+    @ApiModelProperty("仓库名称")
+    private String storeManagementName;
+
+    @ApiModelProperty("仓库编号")
+    private String storeManagementNo;
+
+    @ApiModelProperty("仓库等级 1省级,2市州级,3市县级,5乡镇级,6 经营单位")
+    private Integer storeManagementGrade;
+
+    @ApiModelProperty("物资名称")
+    private String goodsMaterialsName;
+
+
+    /** 所属省code */
+    @ApiModelProperty("所属省code")
+    private String provinceCode;
+
+    /** 城市code */
+    @ApiModelProperty("城市code")
+    private String cityCode;
+
+
+    /** 所属区县code */
+    @ApiModelProperty("所属区县code")
+    private String countyCode;
+
+    /** 所属街道名称 */
+    @ApiModelProperty("所属街道code")
+    private String townCode;
+}
diff --git a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/vo/ManagementGoodsMaterialsVO.java b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/vo/ManagementGoodsMaterialsVO.java
new file mode 100644
index 0000000..1efa70c
--- /dev/null
+++ b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/vo/ManagementGoodsMaterialsVO.java
@@ -0,0 +1,86 @@
+package com.ruoyi.management.domain.vo;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "库存预警的数据对象", description = "库存预警的数据对象")
+public class ManagementGoodsMaterialsVO {
+    @ApiModelProperty("物资名称")
+    @JsonInclude(JsonInclude.Include.ALWAYS)
+    private String goodsMaterialsName;
+
+    @ApiModelProperty("1 是非消耗,2是消耗 ")
+    @JsonInclude(JsonInclude.Include.ALWAYS)
+    private Integer isConsume;
+
+    @ApiModelProperty("预警库存")
+    @JsonInclude(JsonInclude.Include.ALWAYS)
+    private Integer repertory;
+
+    @ApiModelProperty("库存总数")
+    @TableField("repertory_sum")
+    private Integer repertorySum;
+
+    @ApiModelProperty("在库存的")
+    @TableField("repertory_zhai")
+    private Integer repertoryZhai;
+
+    @ApiModelProperty("出库存的")
+    @TableField("repertory_chu")
+    private Integer repertoryChu;
+
+
+    @ApiModelProperty("仓库名称")
+    private String storeManagementName;
+
+    @ApiModelProperty("仓库编号")
+    private String storeManagementNo;
+
+    @ApiModelProperty("仓库层数 1代表一层,2代表两层,3代表三层")
+    private Integer storeManagementNumber;
+
+    @ApiModelProperty("仓库等级 0全部 1省级,2市州级,3市县级,5乡镇级,6 经营单位")
+    private Integer storeManagementGrade;
+
+    /** 所属省名称 */
+    @ApiModelProperty("所属省名称")
+    private String provinceName;
+
+    /** 所属省code */
+    @ApiModelProperty("所属省code")
+    private String provinceCode;
+
+    /** 城市名称 */
+    @ApiModelProperty("城市名称")
+    private String cityName;
+
+    /** 城市code */
+    @ApiModelProperty("城市code")
+    private String cityCode;
+
+    /** 所属区县名称 */
+    @ApiModelProperty("所属区县名称")
+    private String countyName;
+
+    /** 所属区县code */
+    @ApiModelProperty("所属区县code")
+    private String countyCode;
+
+    /** 所属街道名称 */
+    @ApiModelProperty("所属街道名称")
+    private String townName;
+
+    /** 所属街道code */
+    @ApiModelProperty("所属街道code")
+    private String townCode;
+
+    @ApiModelProperty("仓库ID")
+    private Long managementId;
+
+    @ApiModelProperty("物资ID")
+    private Long goodsMaterialsId;
+}
diff --git a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/ManagementGoodsMaterialsService.java b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/ManagementGoodsMaterialsService.java
index 4763b49..dd755ec 100644
--- a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/ManagementGoodsMaterialsService.java
+++ b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/ManagementGoodsMaterialsService.java
@@ -1,7 +1,12 @@
 package com.ruoyi.management.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.common.core.utils.page.PageDTO;
 import com.ruoyi.management.domain.ManagementGoodsMaterials;
+import com.ruoyi.management.domain.dto.ManagementGoodsMaterialsQuery;
+import com.ruoyi.management.domain.vo.InventoriesSuppliesVO;
+import com.ruoyi.management.domain.vo.ManagementGoodsMaterialsVO;
+import org.springframework.web.bind.annotation.RequestBody;
 
 /**
  * <p>
@@ -12,5 +17,6 @@
  * @since 2024-07-01
  */
 public interface ManagementGoodsMaterialsService extends IService<ManagementGoodsMaterials> {
+    PageDTO<ManagementGoodsMaterialsVO> getManagementGoodsMaterialsList(@RequestBody ManagementGoodsMaterialsQuery managementGoodsMaterialsQuery);
 
 }
diff --git a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/ManagementGoodsMaterialsServiceImpl.java b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/ManagementGoodsMaterialsServiceImpl.java
index d3ece1c..15c634d 100644
--- a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/ManagementGoodsMaterialsServiceImpl.java
+++ b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/ManagementGoodsMaterialsServiceImpl.java
@@ -1,9 +1,26 @@
 package com.ruoyi.management.service.impl;
+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.PageDTO;
 import com.ruoyi.management.domain.ManagementGoodsMaterials;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.management.domain.SlGoodsMaterials;
+import com.ruoyi.management.domain.SlStoreManagement;
+import com.ruoyi.management.domain.dto.ManagementGoodsMaterialsQuery;
+import com.ruoyi.management.domain.vo.InventoriesSuppliesVO;
+import com.ruoyi.management.domain.vo.ManagementGoodsMaterialsVO;
+import com.ruoyi.management.domain.vo.StoreManagementGoodSmaterialsVO;
 import com.ruoyi.management.mapper.ManagementGoodsMaterialsMapper;
+import com.ruoyi.management.mapper.SlGoodsMaterialsMapper;
+import com.ruoyi.management.mapper.SlStoreManagementMapper;
 import com.ruoyi.management.service.ManagementGoodsMaterialsService;
 import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Set;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -16,4 +33,87 @@
 @Service
 public class ManagementGoodsMaterialsServiceImpl extends ServiceImpl<ManagementGoodsMaterialsMapper, ManagementGoodsMaterials> implements ManagementGoodsMaterialsService {
 
+    @Resource
+    private ManagementGoodsMaterialsMapper managementGoodsMaterialsMapper;
+    @Resource
+    private SlStoreManagementMapper slStoreManagementMapper;
+
+    @Resource
+    private SlGoodsMaterialsMapper  slGoodsMaterialsMapper;
+
+
+
+    @Override
+    public PageDTO<ManagementGoodsMaterialsVO> getManagementGoodsMaterialsList(ManagementGoodsMaterialsQuery managementGoodsMaterialsQuery) {
+        LambdaQueryWrapper<SlStoreManagement> wrapper= Wrappers.lambdaQuery();
+        if (managementGoodsMaterialsQuery.getStoreManagementName()!=null){
+            wrapper.like(SlStoreManagement::getStoreManagementName,managementGoodsMaterialsQuery.getStoreManagementName());
+        }
+        if (managementGoodsMaterialsQuery.getStoreManagementNo()!=null){
+            wrapper.eq(SlStoreManagement::getStoreManagementNo,managementGoodsMaterialsQuery.getStoreManagementNo());
+        }
+        if (managementGoodsMaterialsQuery.getCityCode()!=null){
+            wrapper.eq(SlStoreManagement::getCityCode,managementGoodsMaterialsQuery.getCityCode());
+        }
+        if (managementGoodsMaterialsQuery.getCountyCode()!=null){
+            wrapper.eq(SlStoreManagement::getCountyCode,managementGoodsMaterialsQuery.getCountyCode());
+        }
+        if (managementGoodsMaterialsQuery.getTownCode()!=null){
+            wrapper.eq(SlStoreManagement::getTownCode,managementGoodsMaterialsQuery.getTownCode());
+        }
+        List<SlStoreManagement> slStoreManagements = slStoreManagementMapper.selectList(wrapper);
+        Set<Long> slVolumeProductionIdList = null;
+        slVolumeProductionIdList = slStoreManagements.stream().map(SlStoreManagement::getId)
+                .collect(Collectors.toSet());
+
+        LambdaQueryWrapper<SlGoodsMaterials> wrapper1= Wrappers.lambdaQuery();
+        if (managementGoodsMaterialsQuery.getGoodsMaterialsName()!=null){
+            wrapper1.like(SlGoodsMaterials::getGoodsMaterialsName,managementGoodsMaterialsQuery.getGoodsMaterialsName());
+        }
+
+        List<SlGoodsMaterials> slGoodsMaterials = slGoodsMaterialsMapper.selectList(wrapper1);
+
+        Set<Long> SlGoodsMaterialsList = null;
+        SlGoodsMaterialsList = slGoodsMaterials.stream().map(SlGoodsMaterials::getId)
+                .collect(Collectors.toSet());
+
+
+        Page<ManagementGoodsMaterials> page = new Page<>(managementGoodsMaterialsQuery.getPageCurr(), managementGoodsMaterialsQuery.getPageSize());
+        LambdaQueryWrapper< ManagementGoodsMaterials> wrapper3= Wrappers.lambdaQuery();
+
+        if (slVolumeProductionIdList.size()>0){
+            wrapper3.in(ManagementGoodsMaterials::getManagementId,slVolumeProductionIdList);
+        }
+        if (SlGoodsMaterialsList.size()>0){
+            wrapper3.in(ManagementGoodsMaterials::getGoodsMaterialsId,SlGoodsMaterialsList);
+        }
+        wrapper3.apply("repertory_zhai<repertory");
+        wrapper3.eq( ManagementGoodsMaterials::getDelFlag,0);
+        wrapper3.orderByDesc(ManagementGoodsMaterials::getCreateTime);
+        Page<ManagementGoodsMaterials> page1 = this.page(page, wrapper3);
+        PageDTO<ManagementGoodsMaterialsVO> storeManagementGoodSmaterialsVOPageDTO = PageDTO.of(page1, ManagementGoodsMaterialsVO.class);
+        List<ManagementGoodsMaterialsVO> list = storeManagementGoodSmaterialsVOPageDTO.getList();
+        for (ManagementGoodsMaterialsVO li:list){
+            SlGoodsMaterials slGoodsMaterials1 = slGoodsMaterialsMapper.selectById(li.getGoodsMaterialsId());
+            li.setGoodsMaterialsName(slGoodsMaterials1.getGoodsMaterialsName());
+            li.setIsConsume(slGoodsMaterials1.getIsConsume());
+            li.setRepertory(slGoodsMaterials1.getRepertory());
+
+            SlStoreManagement slStoreManagement = slStoreManagementMapper.selectById(li.getManagementId());
+            li.setProvinceCode(slStoreManagement.getProvinceCode());
+            li.setProvinceName(slStoreManagement.getProvinceName());
+            li.setCityCode(slStoreManagement.getCityCode());
+            li.setCityName(slStoreManagement.getCityName());
+            li.setCountyCode(slStoreManagement.getCountyCode());
+            li.setCountyName(slStoreManagement.getCountyName());
+            li.setTownCode(slStoreManagement.getTownCode());
+            li.setTownName(slStoreManagement.getTownName());
+            li.setStoreManagementNumber(slStoreManagement.getStoreManagementNumber());
+            li.setStoreManagementNo(slStoreManagement.getStoreManagementNo());
+            li.setStoreManagementGrade(slStoreManagement.getStoreManagementGrade());
+
+        }
+
+        return storeManagementGoodSmaterialsVOPageDTO;
+    }
 }
diff --git a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlGoodsMaterialsServiceImpl.java b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlGoodsMaterialsServiceImpl.java
index a14dfbe..0a4adbf 100644
--- a/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlGoodsMaterialsServiceImpl.java
+++ b/ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/SlGoodsMaterialsServiceImpl.java
@@ -60,6 +60,16 @@
             }
             if (slGoodsMaterialsDTO.getRepertory()!=null){
                 byId.setRepertory(slGoodsMaterialsDTO.getRepertory());
+                LambdaQueryWrapper<ManagementGoodsMaterials> wrapper3= Wrappers.lambdaQuery();
+                wrapper3.eq(ManagementGoodsMaterials::getGoodsMaterialsId,byId.getId());
+                wrapper3.eq( ManagementGoodsMaterials::getDelFlag,0);
+                wrapper3.orderByDesc(ManagementGoodsMaterials::getCreateTime);
+                List<ManagementGoodsMaterials> page1 = managementGoodsMaterialsService.list(wrapper3);
+                for (ManagementGoodsMaterials pg:page1){
+                    pg.setRepertory(slGoodsMaterialsDTO.getRepertory());
+                    managementGoodsMaterialsService.updateById(pg);
+                }
+
             }
             if (slGoodsMaterialsDTO.getIsConsume()!=null){
                 byId.setIsConsume(slGoodsMaterialsDTO.getIsConsume());

--
Gitblit v1.7.1