ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/controller/InventoriesSuppliesController.java
New file @@ -0,0 +1,48 @@ 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.InventoriesSuppDTO; import com.ruoyi.management.domain.dto.InventoriesSuppliesQuery; import com.ruoyi.management.domain.dto.SlGoodsMaterialsDTO; import com.ruoyi.management.domain.dto.SlGoodsMaterialsQuery; import com.ruoyi.management.domain.vo.InventoriesSuppliesVO; import com.ruoyi.management.domain.vo.SlGoodsMaterialsVO; import com.ruoyi.management.service.InventoriesSuppliesService; 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> * 物资盘点 前端控制器 * </p> * * @author hjl * @since 2024-07-01 */ @RestController @RequestMapping("/inventories-supplies") public class InventoriesSuppliesController { @Resource private InventoriesSuppliesService inventoriesSuppliesService; @PostMapping("/getInventoriesSuppliesList") @ApiOperation(value = "分页获物资盘点") public R<PageDTO<InventoriesSuppliesVO>> getInventoriesSuppliesList(@RequestBody InventoriesSuppliesQuery inventoriesSuppliesQuery) { return R.ok(inventoriesSuppliesService.getInventoriesSuppliesList(inventoriesSuppliesQuery)); } @PostMapping("/addInventoriesSupp") @ApiOperation(value = "添加物资盘点") public R addInventoriesSupp(@RequestBody InventoriesSuppDTO inventoriesSuppDTO) { inventoriesSuppliesService.addInventoriesSupp(inventoriesSuppDTO); return R.ok(); } } ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/controller/InventoriesSuppliesInfoController.java
New file @@ -0,0 +1,20 @@ package com.ruoyi.management.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * <p> * 前端控制器 * </p> * * @author hjl * @since 2024-07-01 */ @RestController @RequestMapping("/inventories-supplies-info") public class InventoriesSuppliesInfoController { } ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/InventoriesSupplies.java
New file @@ -0,0 +1,66 @@ package com.ruoyi.management.domain; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.util.Date; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; /** * <p> * 物资盘点 * </p> * * @author hjl * @since 2024-07-01 */ @Getter @Setter @TableName("inventories_supplies") @ApiModel(value = "InventoriesSupplies对象", description = "物资盘点") public class InventoriesSupplies { @TableId("id") private Long id; @ApiModelProperty("仓库id") @TableField("materials_id") private Long materialsId; @ApiModelProperty("盘点人id") @TableField("pdr_id") private Long pdrId; @ApiModelProperty("盘点时间") @TableField("pd_time") private Date pdTime; @ApiModelProperty("盘点人名称") @TableField("pdr_name") private String pdrName; @ApiModelProperty("删除标志(0代表存在 2代表删除)") @TableField("del_flag") private String delFlag; @ApiModelProperty("创建者") @TableField("create_by") private String createBy; @ApiModelProperty("创建时间") @TableField("create_time") private Date createTime; @ApiModelProperty("更新者") @TableField("update_by") private String updateBy; @ApiModelProperty("更新时间") @TableField("update_time") private Date updateTime; } ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/InventoriesSuppliesInfo.java
New file @@ -0,0 +1,70 @@ package com.ruoyi.management.domain; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.util.Date; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Getter; import lombok.Setter; /** * <p> * * </p> * * @author hjl * @since 2024-07-01 */ @Getter @Setter @TableName("inventories_supplies_info") @ApiModel(value = "InventoriesSuppliesInfo对象", description = "") public class InventoriesSuppliesInfo { @TableId("id") private Long id; @ApiModelProperty("盘点数据id") @TableField("supplies_id") private Long suppliesId; @ApiModelProperty("入库id") @TableField("rk_id") private Long rkId; @ApiModelProperty(" 盘点数量") @TableField("supplies_num") private Long suppliesNum; @ApiModelProperty("在库数量") @TableField("zk_num") private Long zkNum; @ApiModelProperty("删除标志(0代表存在 2代表删除)") @TableField("del_flag") private String delFlag; @ApiModelProperty("创建者") @TableField("create_by") private String createBy; @ApiModelProperty("创建时间") @TableField("create_time") private Date createTime; @ApiModelProperty("更新者") @TableField("update_by") private String updateBy; @ApiModelProperty("更新时间") @TableField("update_time") private Date updateTime; @ApiModelProperty("是否匹配 1未匹配,已匹配") @TableField("type") private Integer type; } ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/dto/InventoriesSuppDTO.java
New file @@ -0,0 +1,17 @@ package com.ruoyi.management.domain.dto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @Data @ApiModel("物资盘点数据传输对象") public class InventoriesSuppDTO { @ApiModelProperty("仓库id") private Long materialsId; @ApiModelProperty("盘点人id") private Long pdrId; } ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/dto/InventoriesSuppliesQuery.java
New file @@ -0,0 +1,29 @@ package com.ruoyi.management.domain.dto; import com.baomidou.mybatisplus.annotation.TableField; import com.ruoyi.common.core.web.page.BasePage; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @Data @ApiModel("货架未放置查询传输对象") public class InventoriesSuppliesQuery extends BasePage { @ApiModelProperty("仓库名称") private String storeManagementName; @ApiModelProperty("仓库编号") private String storeManagementNo; @ApiModelProperty("开始盘点时间") private Date startpdTime; @ApiModelProperty("结束盘点时间") private Date endpdTime; @ApiModelProperty("盘点人名称") private String pdrName; } ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/domain/vo/InventoriesSuppliesVO.java
New file @@ -0,0 +1,27 @@ package com.ruoyi.management.domain.vo; import com.baomidou.mybatisplus.annotation.TableId; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; @Data @ApiModel(value = "通过物资拿出库物资的数据对象", description = "通过物资拿出库物资的数据对象") public class InventoriesSuppliesVO { private Long id; @ApiModelProperty("仓库id") private Long materialsId; @ApiModelProperty("仓库名称") private String storeManagementName; @ApiModelProperty("仓库编号") private String storeManagementNo; @ApiModelProperty("盘点人名称") private String pdrName; } ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/mapper/InventoriesSuppliesInfoMapper.java
New file @@ -0,0 +1,19 @@ package com.ruoyi.management.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.management.domain.InventoriesSuppliesInfo; import org.apache.ibatis.annotations.Mapper; /** * <p> * Mapper 接口 * </p> * * @author hjl * @since 2024-07-01 */ @Mapper public interface InventoriesSuppliesInfoMapper extends BaseMapper<InventoriesSuppliesInfo> { } ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/mapper/InventoriesSuppliesMapper.java
New file @@ -0,0 +1,18 @@ package com.ruoyi.management.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.management.domain.InventoriesSupplies; import org.apache.ibatis.annotations.Mapper; /** * <p> * 物资盘点 Mapper 接口 * </p> * * @author hjl * @since 2024-07-01 */ @Mapper public interface InventoriesSuppliesMapper extends BaseMapper<InventoriesSupplies> { } ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/InventoriesSuppliesInfoService.java
New file @@ -0,0 +1,16 @@ package com.ruoyi.management.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.management.domain.InventoriesSuppliesInfo; /** * <p> * 服务类 * </p> * * @author hjl * @since 2024-07-01 */ public interface InventoriesSuppliesInfoService extends IService<InventoriesSuppliesInfo> { } ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/InventoriesSuppliesService.java
New file @@ -0,0 +1,26 @@ 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.InventoriesSupplies; import com.ruoyi.management.domain.dto.InventoriesSuppDTO; import com.ruoyi.management.domain.dto.InventoriesSuppliesQuery; import com.ruoyi.management.domain.vo.InventoriesSuppliesVO; import com.ruoyi.management.domain.vo.SlGoodsMaterialsVO; import org.springframework.web.bind.annotation.RequestBody; /** * <p> * 物资盘点 服务类 * </p> * * @author hjl * @since 2024-07-01 */ public interface InventoriesSuppliesService extends IService<InventoriesSupplies> { PageDTO<InventoriesSuppliesVO> getInventoriesSuppliesList(InventoriesSuppliesQuery inventoriesSuppliesQuery); void addInventoriesSupp(InventoriesSuppDTO inventoriesSuppDTO); } ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/InventoriesSuppliesInfoServiceImpl.java
New file @@ -0,0 +1,19 @@ package com.ruoyi.management.service.impl; import com.ruoyi.management.domain.InventoriesSuppliesInfo; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.management.mapper.InventoriesSuppliesInfoMapper; import com.ruoyi.management.service.InventoriesSuppliesInfoService; import org.springframework.stereotype.Service; /** * <p> * 服务实现类 * </p> * * @author hjl * @since 2024-07-01 */ @Service public class InventoriesSuppliesInfoServiceImpl extends ServiceImpl<InventoriesSuppliesInfoMapper, InventoriesSuppliesInfo> implements InventoriesSuppliesInfoService { } ruoyi-modules/ruoyi-management/src/main/java/com/ruoyi/management/service/impl/InventoriesSuppliesServiceImpl.java
New file @@ -0,0 +1,106 @@ 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.domain.R; import com.ruoyi.common.core.utils.page.PageDTO; import com.ruoyi.management.domain.InventoriesSupplies; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.management.domain.SlGoodsShelf; import com.ruoyi.management.domain.SlStoreManagement; import com.ruoyi.management.domain.dto.InventoriesSuppDTO; import com.ruoyi.management.domain.dto.InventoriesSuppliesQuery; import com.ruoyi.management.domain.vo.InventoriesSuppliesVO; import com.ruoyi.management.domain.vo.SlGoodsMaterialsVO; import com.ruoyi.management.domain.vo.SlGoodsShelfVO; import com.ruoyi.management.mapper.InventoriesSuppliesMapper; import com.ruoyi.management.mapper.SlStoreManagementMapper; import com.ruoyi.management.service.InventoriesSuppliesService; import com.ruoyi.system.api.domain.SysUser; import com.ruoyi.system.api.feignClient.SysUserClient; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Date; import java.util.HashSet; import java.util.List; import java.util.Set; import java.util.stream.Collectors; /** * <p> * 物资盘点 服务实现类 * </p> * * @author hjl * @since 2024-07-01 */ @Service public class InventoriesSuppliesServiceImpl extends ServiceImpl<InventoriesSuppliesMapper, InventoriesSupplies> implements InventoriesSuppliesService { @Resource private SlStoreManagementMapper slStoreManagementMapper; @Resource private SysUserClient sysUserClient; @Override public PageDTO<InventoriesSuppliesVO> getInventoriesSuppliesList(InventoriesSuppliesQuery inventoriesSuppliesQuery) { LambdaQueryWrapper<SlStoreManagement> wrapper= Wrappers.lambdaQuery(); if (inventoriesSuppliesQuery.getStoreManagementName()!=null){ wrapper.eq(SlStoreManagement::getStoreManagementName,inventoriesSuppliesQuery.getStoreManagementName()); } if (inventoriesSuppliesQuery.getStoreManagementNo()!=null){ wrapper.eq(SlStoreManagement::getStoreManagementNo,inventoriesSuppliesQuery.getStoreManagementNo()); } List<SlStoreManagement> slStoreManagements = slStoreManagementMapper.selectList(wrapper); Set<Long> slStoreManagementIdList = null; slStoreManagementIdList = slStoreManagements.stream().map(SlStoreManagement::getId) .collect(Collectors.toSet()); Page<InventoriesSupplies> page = new Page<>(inventoriesSuppliesQuery.getPageCurr(), inventoriesSuppliesQuery.getPageSize()); LambdaQueryWrapper< InventoriesSupplies> wrapper1= Wrappers.lambdaQuery(); wrapper1.like(InventoriesSupplies::getPdrName,inventoriesSuppliesQuery.getPdrName()); if (slStoreManagementIdList.size()>0){ wrapper1.in(InventoriesSupplies::getMaterialsId,slStoreManagementIdList); }else { Set<Long> goodsSkuIdList1 = new HashSet<>(); goodsSkuIdList1.add(0L); wrapper1.in(InventoriesSupplies::getMaterialsId,goodsSkuIdList1); } if (inventoriesSuppliesQuery.getStartpdTime()!=null){ wrapper1.gt(InventoriesSupplies::getPdTime, inventoriesSuppliesQuery.getStartpdTime()); } if (inventoriesSuppliesQuery.getEndpdTime()!=null){ wrapper1.le(InventoriesSupplies::getPdTime, inventoriesSuppliesQuery.getEndpdTime()); } wrapper1.eq( InventoriesSupplies::getDelFlag,0); wrapper1.orderByDesc(InventoriesSupplies::getCreateTime); Page<InventoriesSupplies> page2 = this.page(page, wrapper1); PageDTO<InventoriesSuppliesVO> slGoodsMaterialsVO = PageDTO.of(page2, InventoriesSuppliesVO.class); List<InventoriesSuppliesVO> list = slGoodsMaterialsVO.getList(); for (InventoriesSuppliesVO sl:list){ SlStoreManagement slStoreManagementzs = slStoreManagementMapper.selectById(sl.getMaterialsId()); sl.setStoreManagementName(slStoreManagementzs.getStoreManagementName()); sl.setStoreManagementNo(slStoreManagementzs.getStoreManagementNo()); } return slGoodsMaterialsVO; } @Override public void addInventoriesSupp(InventoriesSuppDTO inventoriesSuppDTO) { InventoriesSupplies inventoriesSupplies=new InventoriesSupplies(); inventoriesSupplies.setMaterialsId(inventoriesSuppDTO.getMaterialsId()); inventoriesSupplies.setPdTime(new Date()); inventoriesSupplies.setPdrId(inventoriesSuppDTO.getPdrId()); R<SysUser> sysUser = sysUserClient.getSysUser(inventoriesSuppDTO.getPdrId()); inventoriesSupplies.setPdrName(sysUser.getData().getNickName()); this.save(inventoriesSupplies); } } ruoyi-modules/ruoyi-management/src/main/resources/mapper/management/InventoriesSuppliesInfoMapper.xml
New file @@ -0,0 +1,20 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.rouyi.management.mapper.InventoriesSuppliesInfoMapper"> <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.ruoyi.management.domain.InventoriesSuppliesInfo"> <id column="id" property="id" /> <result column="supplies_id" property="suppliesId" /> <result column="rk_id" property="rkId" /> <result column="supplies_num" property="suppliesNum" /> <result column="zk_num" property="zkNum" /> <result column="del_flag" property="delFlag" /> <result column="create_by" property="createBy" /> <result column="create_time" property="createTime" /> <result column="update_by" property="updateBy" /> <result column="update_time" property="updateTime" /> <result column="type" property="type" /> </resultMap> </mapper> ruoyi-modules/ruoyi-management/src/main/resources/mapper/management/InventoriesSuppliesMapper.xml
New file @@ -0,0 +1,19 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.rouyi.management.mapper.InventoriesSuppliesMapper"> <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.ruoyi.management.domain.InventoriesSupplies"> <id column="id" property="id" /> <result column="materials_id" property="materialsId" /> <result column="pdr_id" property="pdrId" /> <result column="pd_time" property="pdTime" /> <result column="pdr_name" property="pdrName" /> <result column="del_flag" property="delFlag" /> <result column="create_by" property="createBy" /> <result column="create_time" property="createTime" /> <result column="update_by" property="updateBy" /> <result column="update_time" property="updateTime" /> </resultMap> </mapper> ruoyi-modules/ruoyi-management/target/classes/mapper/management/SlStoreManagementMapper.xml
@@ -14,9 +14,7 @@ <result column="store_management_village" property="storeManagementVillage" /> <result column="director_id" property="directorId" /> <result column="competent_id" property="competentId" /> <result column="administrator _id" property="administrator Id" /> <result column="administrator_id" property="administratorId" /> <result column="store_management_adder" property="storeManagementAdder" /> <result column="store_management_explain" property="storeManagementExplain" /> <result column="del_flag" property="delFlag" /> ruoyi-modules/ruoyi-management/target/classes/mapper/management/SlVolumeProductionRkMapper.xml
@@ -23,4 +23,24 @@ <result column="state" property="state" /> </resultMap> <select id="getManagementInventoryList" resultType="java.lang.Integer"> SELECT ifnull(COUNT(*), 0) FROM sl_volume_production_rk sl WHERE sl.management_id = #{id} AND sl.del_flag=0 GROUP BY sl.materials_id </select> <select id="getStoreManagementGoodSmaterialsOne" resultType="java.lang.Double"> SELECT ifnull(ROUND(AVG(sl.rk_pice),2), 0.0) FROM sl_volume_production_rk sl WHERE sl.materials_id = #{id} AND sl.del_flag=0 GROUP BY sl.materials_id </select> </mapper>