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