wwh 2 месяцев назад
Родитель
Сommit
f9953a414a
20 измененных файлов с 326 добавлено и 20 удалено
  1. 2 0
      huimv-farm/src/main/java/vip/xiaonuo/purchase/entity/PurchaseOrder.java
  2. 1 1
      huimv-farm/src/main/java/vip/xiaonuo/purchase/param/PurchaseOrderParam.java
  3. 4 0
      huimv-farm/src/main/java/vip/xiaonuo/purchase/service/impl/PurchaseOrderServiceImpl.java
  4. 45 1
      huimv-farm/src/main/java/vip/xiaonuo/warehouse/controller/WarehouseMaterialStockController.java
  5. 9 0
      huimv-farm/src/main/java/vip/xiaonuo/warehouse/controller/WarehouseStockController.java
  6. 2 0
      huimv-farm/src/main/java/vip/xiaonuo/warehouse/entity/WarehouseAge.java
  7. 13 3
      huimv-farm/src/main/java/vip/xiaonuo/warehouse/entity/WarehouseMaterialOutStock.java
  8. 13 3
      huimv-farm/src/main/java/vip/xiaonuo/warehouse/entity/WarehouseMaterialStock.java
  9. 2 1
      huimv-farm/src/main/java/vip/xiaonuo/warehouse/entity/WarehouseStockDetail.java
  10. 2 1
      huimv-farm/src/main/java/vip/xiaonuo/warehouse/entity/WarehouseStockSecond.java
  11. 53 0
      huimv-farm/src/main/java/vip/xiaonuo/warehouse/entity/vo/WarehouseMaterialStockVo.java
  12. 2 2
      huimv-farm/src/main/java/vip/xiaonuo/warehouse/param/WarehouseAgeParam.java
  13. 36 0
      huimv-farm/src/main/java/vip/xiaonuo/warehouse/param/WarehouseMaterialParam.java
  14. 36 0
      huimv-farm/src/main/java/vip/xiaonuo/warehouse/param/WarehouseMaterialStockParam.java
  15. 2 2
      huimv-farm/src/main/java/vip/xiaonuo/warehouse/param/WarehouseStockSecondParam.java
  16. 14 0
      huimv-farm/src/main/java/vip/xiaonuo/warehouse/service/IWarehouseMaterialStockService.java
  17. 4 0
      huimv-farm/src/main/java/vip/xiaonuo/warehouse/service/IWarehouseStockService.java
  18. 2 2
      huimv-farm/src/main/java/vip/xiaonuo/warehouse/service/impl/WarehouseAgeServiceImpl.java
  19. 65 0
      huimv-farm/src/main/java/vip/xiaonuo/warehouse/service/impl/WarehouseMaterialStockServiceImpl.java
  20. 19 4
      huimv-farm/src/main/java/vip/xiaonuo/warehouse/service/impl/WarehouseStockServiceImpl.java

+ 2 - 0
huimv-farm/src/main/java/vip/xiaonuo/purchase/entity/PurchaseOrder.java

@@ -120,4 +120,6 @@ public class PurchaseOrder implements Serializable {
     private Double caiGou;
 
 
+    @ApiModelProperty(value = "合同类型 0原辅料包材采购合同 1五金材料采购合同 2设备采购合同 3工程服务采购合同 4其他服务类采购合同 5办公用品采购合同", position = 15)
+    private Double orderType;
 }

+ 1 - 1
huimv-farm/src/main/java/vip/xiaonuo/purchase/param/PurchaseOrderParam.java

@@ -34,7 +34,7 @@ public class PurchaseOrderParam {
     private Integer timeType;
 
     @ApiModelProperty(value = "采购材料类型", required = true)
-    private String orderType;
+    private Integer orderType;
 
 
     @ApiModelProperty(value = "时间'2024-10'", required = true)

+ 4 - 0
huimv-farm/src/main/java/vip/xiaonuo/purchase/service/impl/PurchaseOrderServiceImpl.java

@@ -194,7 +194,11 @@ public class PurchaseOrderServiceImpl extends ServiceImpl<PurchaseOrderMapper, P
         String orgId = orderParam.getOrgId();
         String time = orderParam.getTime();
         Integer number = orderParam.getNumber();
+        Integer orderType = orderParam.getOrderType();
         QueryWrapper<PurchaseOrder> queryWrapper = new QueryWrapper<>();
+        if (null != orderType) {
+            queryWrapper.eq("order_type", orderType);
+        }
         queryWrapper.eq(StringUtils.isNotBlank(orgId), "org_id", orgId).orderByAsc("create_time");
         queryWrapper.select(" IFNULL(sum(purchase_money),'0') purchaseMoney,create_time createTime,IFNULL(count(*),'0') invoiceNumber");
         BigDecimal math = new BigDecimal("10000");

+ 45 - 1
huimv-farm/src/main/java/vip/xiaonuo/warehouse/controller/WarehouseMaterialStockController.java

@@ -1,9 +1,28 @@
 package vip.xiaonuo.warehouse.controller;
 
 
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import com.github.xiaoymin.knife4j.annotations.ApiSupport;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.validation.annotation.Validated;
+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 vip.xiaonuo.common.pojo.CommonResult;
+import vip.xiaonuo.erp.entity.ErpBdRawMaterial;
+import vip.xiaonuo.warehouse.entity.WarehouseMaterialOutStock;
+import vip.xiaonuo.warehouse.entity.WarehouseStockVo;
+import vip.xiaonuo.warehouse.entity.vo.WarehouseMaterialStockVo;
+import vip.xiaonuo.warehouse.param.WarehouseMaterialStockParam;
+import vip.xiaonuo.warehouse.param.WarehouseStockParam;
+import vip.xiaonuo.warehouse.param.WarehouseStockTailParam;
+import vip.xiaonuo.warehouse.service.IWarehouseMaterialStockService;
+
+import java.util.List;
 
 /**
  * <p>
@@ -14,7 +33,32 @@ import org.springframework.web.bind.annotation.RestController;
  * @since 2025-03-17
  */
 @RestController
-@RequestMapping("/warehouse-material-stock")
+@Api(tags = "仓库原材料库存")
+@ApiSupport(author = "wang", order = 1)
+@Validated
 public class WarehouseMaterialStockController {
 
+    @Autowired
+    private IWarehouseMaterialStockService materialStockService;
+
+    @ApiOperationSupport(order = 1)
+    @ApiOperation("仓库原材料库存趋势分析(新)")
+    @PostMapping("/warehouse-material-stock/listMaterial")
+    public CommonResult<List<WarehouseMaterialStockVo>> listMaterial(@RequestBody WarehouseMaterialStockParam stockParam) {
+        return CommonResult.data(materialStockService.listMaterial(stockParam));
+    }
+
+    @ApiOperationSupport(order = 2)
+    @ApiOperation("仓库原材料库存出库数量分析(新)")
+    @PostMapping("/warehouse-material-stock/listMaterialOut")
+    public CommonResult<List<WarehouseMaterialOutStock>> listMaterialOut(@RequestBody WarehouseMaterialStockParam stockParam) {
+        return CommonResult.data(materialStockService.listMaterialOut(stockParam));
+    }
+
+//    @ApiOperationSupport(order = 3)
+//    @ApiOperation("仓库原材料列表(新)")
+//    @PostMapping("/warehouse-material-stock/listRawMaterial")
+//    public CommonResult<List<ErpBdRawMaterial>> listRawMaterial(@RequestBody WarehouseStockParam stockParam) {
+//        return CommonResult.data(materialStockService.listRawMaterial(stockParam));
+//    }
 }

+ 9 - 0
huimv-farm/src/main/java/vip/xiaonuo/warehouse/controller/WarehouseStockController.java

@@ -13,6 +13,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RestController;
 import vip.xiaonuo.common.pojo.CommonResult;
+import vip.xiaonuo.erp.entity.ErpBdRawMaterial;
 import vip.xiaonuo.purchase.entity.vo.PurchaseContractVo;
 import vip.xiaonuo.purchase.param.PurchaseOrderParam;
 import vip.xiaonuo.purchase.service.IPurchaseContractService;
@@ -20,6 +21,7 @@ import vip.xiaonuo.warehouse.entity.WarehouseOutStock;
 import vip.xiaonuo.warehouse.entity.WarehouseStock;
 import vip.xiaonuo.warehouse.entity.WarehouseStockVo;
 import vip.xiaonuo.warehouse.entity.vo.WarehouseStockSecondVo;
+import vip.xiaonuo.warehouse.param.WarehouseMaterialParam;
 import vip.xiaonuo.warehouse.param.WarehouseStockParam;
 import vip.xiaonuo.warehouse.param.WarehouseStockSecondParam;
 import vip.xiaonuo.warehouse.param.WarehouseStockTailParam;
@@ -73,4 +75,11 @@ public class WarehouseStockController {
     public CommonResult<WarehouseStockSecondVo> getSecond(@RequestBody WarehouseStockSecondParam stockParam) {
         return CommonResult.data(stockService.getSecond(stockParam));
     }
+
+    @ApiOperationSupport(order = 5)
+    @ApiOperation("仓库指标中的物料筛选器")
+    @PostMapping("/warehouse-stock/listMaterial")
+    public CommonResult<List<ErpBdRawMaterial>> listMaterial(@RequestBody WarehouseMaterialParam materialParam) {
+        return CommonResult.data(stockService.listMaterial(materialParam));
+    }
 }

+ 2 - 0
huimv-farm/src/main/java/vip/xiaonuo/warehouse/entity/WarehouseAge.java

@@ -88,4 +88,6 @@ public class WarehouseAge implements Serializable {
     private Date updateTime;
 
 
+    @ApiModelProperty(value = "物料编码", position =10)
+    private String fnumber;
 }

+ 13 - 3
huimv-farm/src/main/java/vip/xiaonuo/warehouse/entity/WarehouseMaterialOutStock.java

@@ -5,6 +5,9 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.time.LocalDateTime;
 import java.io.Serializable;
+import java.util.Date;
+
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
@@ -31,32 +34,39 @@ public class WarehouseMaterialOutStock implements Serializable {
     /**
      * 原材料id
      */
-    private String materialId;
+    @ApiModelProperty(value = "物料分类0原材料 1成品半成品 2低值易耗  3包材",position = 1)
+    private String materialType;
 
     /**
      * 原材料名称
      */
+    @ApiModelProperty(value = "原材料名称",position = 2)
     private String material;
 
     /**
      * 出库数量
      */
+    @ApiModelProperty(value = "出库数量",position = 3)
     private String outStock;
 
     /**
      * 创建时间
      */
-    private LocalDateTime createTime;
+    @ApiModelProperty(value = "创建时间",position = 4)
+    private Date createTime;
 
     /**
      * 组织id
      */
+    @ApiModelProperty(value = "组织id",position = 5)
     private String orgId;
 
     /**
      * 公司名称
      */
+    @ApiModelProperty(value = "公司名称",position = 6)
     private String orgName;
-
+    @ApiModelProperty(value = "物料编码", position = 5)
+    private String fnumber;
 
 }

+ 13 - 3
huimv-farm/src/main/java/vip/xiaonuo/warehouse/entity/WarehouseMaterialStock.java

@@ -5,6 +5,9 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.time.LocalDateTime;
 import java.io.Serializable;
+import java.util.Date;
+
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
@@ -31,32 +34,39 @@ public class WarehouseMaterialStock implements Serializable {
     /**
      * 原材料id
      */
-    private String materialId;
+    @ApiModelProperty(value = "物料分类0原材料 1成品半成品 2低值易耗  3包材",position = 1)
+    private String materialType;
 
     /**
      * 原材料名称
      */
+    @ApiModelProperty(value = "原材料名称",position = 2)
     private String material;
 
     /**
      * 原材料库存
      */
+    @ApiModelProperty(value = "原材料库存",position = 3)
     private String materialStock;
 
     /**
      * 更新时间
      */
-    private LocalDateTime createTime;
+    @ApiModelProperty(value = "更新时间",position =4 )
+    private Date createTime;
 
     /**
      * 公司id
      */
+    @ApiModelProperty(value = "公司id",position = 5)
     private String orgId;
 
     /**
      * 公司名称
      */
+    @ApiModelProperty(value = "公司名称",position = 6)
     private String orgName;
-
+    @ApiModelProperty(value = "物料编码", position = 5)
+    private String fnumber;
 
 }

+ 2 - 1
huimv-farm/src/main/java/vip/xiaonuo/warehouse/entity/WarehouseStockDetail.java

@@ -105,6 +105,7 @@ public class WarehouseStockDetail implements Serializable {
     @JsonFormat(pattern = "yyyy-MM-dd")
     private Date createTime;
 
-
+    @ApiModelProperty(value = "物料编码", position =13)
+    private String fnumber;
 
 }

+ 2 - 1
huimv-farm/src/main/java/vip/xiaonuo/warehouse/entity/WarehouseStockSecond.java

@@ -69,7 +69,8 @@ public class WarehouseStockSecond implements Serializable {
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private Date createTime;
 
-
+    @ApiModelProperty(value = "物料编码", position = 5)
+    private String fnumber;
 
 
 }

+ 53 - 0
huimv-farm/src/main/java/vip/xiaonuo/warehouse/entity/vo/WarehouseMaterialStockVo.java

@@ -0,0 +1,53 @@
+package vip.xiaonuo.warehouse.entity.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * <p>
+ * 仓库原材料库存
+ * </p>
+ *
+ * @author author
+ * @since 2025-03-17
+ */
+@Data
+public class WarehouseMaterialStockVo  {
+
+
+    /**
+     * 原材料id
+     */
+    @ApiModelProperty(value = "fnumber",position = 1)
+    private String fnumber;
+
+    /**
+     * 原材料名称
+     */
+    @ApiModelProperty(value = "原材料名称",position = 2)
+    private String material;
+
+    /**
+     * 原材料库存
+     */
+    @ApiModelProperty(value = "原材料库存",position = 3)
+    private String materialStock;
+
+    /**
+     * 更新时间
+     */
+    @ApiModelProperty(value = "更新时间",position =4 )
+    @JsonFormat(pattern = "yyyy-MM",timezone = "GMT+8")
+    private Date createTime;
+
+
+}

+ 2 - 2
huimv-farm/src/main/java/vip/xiaonuo/warehouse/param/WarehouseAgeParam.java

@@ -30,7 +30,7 @@ public class WarehouseAgeParam {
     @ApiModelProperty(value = "orgId", required = true)
     private String orgId;
 
-    @ApiModelProperty(value = "物料类型0原材料1成品2半成品3低值易耗品4包材5羊毛脂6鱼油", required = true)
-    private Integer materialType;
+    @ApiModelProperty(value = "物料编码", required = true)
+    private String fnumber;
 
 }

+ 36 - 0
huimv-farm/src/main/java/vip/xiaonuo/warehouse/param/WarehouseMaterialParam.java

@@ -0,0 +1,36 @@
+/*
+ * Copyright [2022] [https://www.baiduc.com]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.baiduc.com
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.baiduc.com
+ */
+package vip.xiaonuo.warehouse.param;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 人员明细Id参数
+ *
+ * @author 余
+ * @date  2024/11/14 15:02
+ **/
+@Getter
+@Setter
+public class WarehouseMaterialParam {
+
+
+    @ApiModelProperty(value = "orgId", required = true)
+    private String orgId;
+
+    @ApiModelProperty(value = "0原材料 1成品半成品 2低值易耗  3包材", required = true)
+    private Integer material;
+
+}

+ 36 - 0
huimv-farm/src/main/java/vip/xiaonuo/warehouse/param/WarehouseMaterialStockParam.java

@@ -0,0 +1,36 @@
+/*
+ * Copyright [2022] [https://www.baiduc.com]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.baiduc.com
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.baiduc.com
+ */
+package vip.xiaonuo.warehouse.param;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 人员明细Id参数
+ *
+ * @author 余
+ * @date  2024/11/14 15:02
+ **/
+@Getter
+@Setter
+public class WarehouseMaterialStockParam {
+
+
+    @ApiModelProperty(value = "orgId", required = true)
+    private String orgId;
+
+    @ApiModelProperty(value = "fnumber", required = true)
+    private String fnumber;
+
+}

+ 2 - 2
huimv-farm/src/main/java/vip/xiaonuo/warehouse/param/WarehouseStockSecondParam.java

@@ -30,8 +30,8 @@ public class WarehouseStockSecondParam {
     @ApiModelProperty(value = "orgId", required = true)
     private String orgId;
 
-    @ApiModelProperty(value = "物料类型0原材料1成品2半成品3低值易耗品4包材5羊毛脂6鱼油", required = true)
-    private Integer materialType;
+    @ApiModelProperty(value = "物料fnumber", required = true)
+    private String fnumber;
 
     @ApiModelProperty(value = "时间", required = true)
     private String time;

+ 14 - 0
huimv-farm/src/main/java/vip/xiaonuo/warehouse/service/IWarehouseMaterialStockService.java

@@ -1,7 +1,14 @@
 package vip.xiaonuo.warehouse.service;
 
+import vip.xiaonuo.erp.entity.ErpBdRawMaterial;
+import vip.xiaonuo.warehouse.entity.WarehouseMaterialOutStock;
 import vip.xiaonuo.warehouse.entity.WarehouseMaterialStock;
 import com.baomidou.mybatisplus.extension.service.IService;
+import vip.xiaonuo.warehouse.entity.vo.WarehouseMaterialStockVo;
+import vip.xiaonuo.warehouse.param.WarehouseMaterialStockParam;
+import vip.xiaonuo.warehouse.param.WarehouseStockParam;
+
+import java.util.List;
 
 /**
  * <p>
@@ -13,4 +20,11 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IWarehouseMaterialStockService extends IService<WarehouseMaterialStock> {
 
+    List<WarehouseMaterialStockVo> listMaterial(WarehouseMaterialStockParam stockParam);
+
+    List<WarehouseMaterialOutStock> listMaterialOut(WarehouseMaterialStockParam stockParam);
+
+    List<ErpBdRawMaterial> listRawMaterial(WarehouseStockParam stockParam);
+
+
 }

+ 4 - 0
huimv-farm/src/main/java/vip/xiaonuo/warehouse/service/IWarehouseStockService.java

@@ -1,11 +1,13 @@
 package vip.xiaonuo.warehouse.service;
 
+import vip.xiaonuo.erp.entity.ErpBdRawMaterial;
 import vip.xiaonuo.warehouse.entity.WarehouseOutStock;
 import vip.xiaonuo.warehouse.entity.WarehouseStock;
 import com.baomidou.mybatisplus.extension.service.IService;
 import vip.xiaonuo.warehouse.entity.WarehouseStockSecond;
 import vip.xiaonuo.warehouse.entity.WarehouseStockVo;
 import vip.xiaonuo.warehouse.entity.vo.WarehouseStockSecondVo;
+import vip.xiaonuo.warehouse.param.WarehouseMaterialParam;
 import vip.xiaonuo.warehouse.param.WarehouseStockParam;
 import vip.xiaonuo.warehouse.param.WarehouseStockSecondParam;
 import vip.xiaonuo.warehouse.param.WarehouseStockTailParam;
@@ -34,4 +36,6 @@ public interface IWarehouseStockService extends IService<WarehouseStock> {
     //二级页面
     WarehouseStockSecondVo getSecond(WarehouseStockSecondParam param);
 
+    //仓库指标中的物料筛选器
+    List<ErpBdRawMaterial> listMaterial(WarehouseMaterialParam materialParam);
 }

+ 2 - 2
huimv-farm/src/main/java/vip/xiaonuo/warehouse/service/impl/WarehouseAgeServiceImpl.java

@@ -32,9 +32,9 @@ public class WarehouseAgeServiceImpl extends ServiceImpl<WarehouseAgeMapper, War
     @Override
     public WarehouseAge listAge(WarehouseAgeParam detailParam) {
         String orgId = detailParam.getOrgId();
-        Integer materialType = detailParam.getMaterialType();
+        String materialType = detailParam.getFnumber();
         QueryWrapper<WarehouseAge> queryWrapper = new QueryWrapper<>();
-        queryWrapper.eq(StringUtils.isNotBlank(orgId),"org_id", orgId).eq( "material", materialType);
+        queryWrapper.eq(StringUtils.isNotBlank(orgId),"org_id", orgId).eq( "fnumber", materialType);
         queryWrapper.select(" IFNULL(sum(one_three),'0') oneThree,IFNULL(sum(four_six),'0') fourSix,IFNULL(sum(seven_year),'0') sevenYear," +
                 "IFNULL(sum(year_one),'0') yearOne,IFNULL(sum(year_two),'0') yearTwo,IFNULL(sum(year_three),'0') yearThree");
         return ageMapper.selectOne(queryWrapper);

+ 65 - 0
huimv-farm/src/main/java/vip/xiaonuo/warehouse/service/impl/WarehouseMaterialStockServiceImpl.java

@@ -1,11 +1,23 @@
 package vip.xiaonuo.warehouse.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import vip.xiaonuo.erp.entity.ErpBdRawMaterial;
+import vip.xiaonuo.erp.mapper.ErpBdRawMaterialMapper;
+import vip.xiaonuo.warehouse.entity.WarehouseMaterialOutStock;
 import vip.xiaonuo.warehouse.entity.WarehouseMaterialStock;
+import vip.xiaonuo.warehouse.entity.vo.WarehouseMaterialStockVo;
+import vip.xiaonuo.warehouse.mapper.WarehouseMaterialOutStockMapper;
 import vip.xiaonuo.warehouse.mapper.WarehouseMaterialStockMapper;
+import vip.xiaonuo.warehouse.param.WarehouseMaterialStockParam;
+import vip.xiaonuo.warehouse.param.WarehouseStockParam;
 import vip.xiaonuo.warehouse.service.IWarehouseMaterialStockService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * <p>
  * 仓库原材料库存 服务实现类
@@ -17,4 +29,57 @@ import org.springframework.stereotype.Service;
 @Service
 public class WarehouseMaterialStockServiceImpl extends ServiceImpl<WarehouseMaterialStockMapper, WarehouseMaterialStock> implements IWarehouseMaterialStockService {
 
+    @Autowired
+    private WarehouseMaterialStockMapper stockMapper;
+    @Autowired
+    private WarehouseMaterialOutStockMapper outStockMapper;
+    @Autowired
+    private ErpBdRawMaterialMapper rawMaterialMapper;
+
+    @Override
+    public List<WarehouseMaterialStockVo> listMaterial(WarehouseMaterialStockParam stockParam) {
+        String materialId = stockParam.getFnumber();
+        String orgId = stockParam.getOrgId();
+        QueryWrapper<WarehouseMaterialStock> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq( "fnumber", materialId);
+        queryWrapper.eq( "org_id", orgId);
+        queryWrapper.groupBy(" DATE_FORMAT(create_time, '%Y-%m')");
+        queryWrapper.orderByAsc("create_time");
+        List<WarehouseMaterialStock> stocks = stockMapper.selectList(queryWrapper);
+        List<WarehouseMaterialStockVo> list = new ArrayList<>();
+        if (stocks.size() != 0) {
+            for (WarehouseMaterialStock stock : stocks) {
+                WarehouseMaterialStockVo vo = new WarehouseMaterialStockVo();
+                vo.setCreateTime(stock.getCreateTime());
+                vo.setMaterial(stock.getMaterial());
+                vo.setFnumber(stock.getFnumber());
+                vo.setMaterialStock(stock.getMaterialStock());
+                list.add(vo);
+            }
+        }
+        return list;
+    }
+
+    @Override
+    public List<WarehouseMaterialOutStock> listMaterialOut(WarehouseMaterialStockParam stockParam) {
+        String materialId = stockParam.getFnumber();
+        String orgId = stockParam.getOrgId();
+        QueryWrapper<WarehouseMaterialOutStock> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq( "fnumber", materialId);
+        queryWrapper.eq( "org_id", orgId);
+        queryWrapper.groupBy(" DATE_FORMAT(create_time, '%Y-%m')");
+        queryWrapper.orderByAsc("create_time");
+        List<WarehouseMaterialOutStock> stocks = outStockMapper.selectList(queryWrapper);
+        return stocks;
+    }
+
+    @Override
+    public List<ErpBdRawMaterial> listRawMaterial(WarehouseStockParam stockParam) {
+        String orgId = stockParam.getOrgId();
+        QueryWrapper<ErpBdRawMaterial> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("org_id", orgId);
+        queryWrapper.groupBy("fname");
+        return rawMaterialMapper.selectList(queryWrapper);
+    }
+
 }

+ 19 - 4
huimv-farm/src/main/java/vip/xiaonuo/warehouse/service/impl/WarehouseStockServiceImpl.java

@@ -6,10 +6,13 @@ import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import vip.xiaonuo.erp.entity.ErpBdRawMaterial;
+import vip.xiaonuo.erp.mapper.ErpBdRawMaterialMapper;
 import vip.xiaonuo.warehouse.entity.*;
 
 import vip.xiaonuo.warehouse.entity.vo.WarehouseStockSecondVo;
 import vip.xiaonuo.warehouse.mapper.*;
+import vip.xiaonuo.warehouse.param.WarehouseMaterialParam;
 import vip.xiaonuo.warehouse.param.WarehouseStockParam;
 import vip.xiaonuo.warehouse.param.WarehouseStockSecondParam;
 import vip.xiaonuo.warehouse.param.WarehouseStockTailParam;
@@ -43,6 +46,8 @@ public class WarehouseStockServiceImpl extends ServiceImpl<WarehouseStockMapper,
     private WarehouseStockSecondMapper secondMapper;
     @Autowired
     private WarehouseStockDetailMapper detailMapper;
+    @Autowired
+    private ErpBdRawMaterialMapper bdRawMaterialMapper;
 
     @Override
     public WarehouseStockVo getOneTail(WarehouseStockTailParam stockParam) {
@@ -202,16 +207,16 @@ public class WarehouseStockServiceImpl extends ServiceImpl<WarehouseStockMapper,
     public WarehouseStockSecondVo getSecond(WarehouseStockSecondParam param) {
         String orgId = param.getOrgId();
         String time = param.getTime();
-        Integer materialName = param.getMaterialType();
+        String fnumber = param.getFnumber();
         QueryWrapper<WarehouseStockSecond> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq(StringUtils.isNotBlank(orgId), "org_id", orgId);
-        queryWrapper.eq("material_type", materialName);
+        queryWrapper.eq("fnumber", fnumber);
         queryWrapper.between("create_time", time + "-01 00:00:00", time + "-31 23:59:59");
         queryWrapper.select(" IFNULL(sum(income_money),'0') incomeMoney,IFNULL(stock,'0') stock,IFNULL(sum(income_number),'0') incomeNumber");
         WarehouseStockSecond stockSecond = secondMapper.selectOne(queryWrapper);
         queryWrapper.clear();
         queryWrapper.eq(StringUtils.isNotBlank(orgId), "org_id", orgId);
-        queryWrapper.eq("material_type", materialName);
+        queryWrapper.eq("fnumber", fnumber);
         queryWrapper.le("create_time", time + "-31 23:59:59");
         queryWrapper.select(" IFNULL(sum(income_money),'0') incomeMoney");
         WarehouseStockSecond second = secondMapper.selectOne(queryWrapper);
@@ -227,7 +232,7 @@ public class WarehouseStockServiceImpl extends ServiceImpl<WarehouseStockMapper,
 
         QueryWrapper<WarehouseStockDetail> queryWrapper1 = new QueryWrapper<>();
         queryWrapper1.eq(StringUtils.isNotBlank(orgId), "org_id", orgId);
-        queryWrapper1.eq("material_code", materialName);
+        queryWrapper1.eq("fnumber", fnumber);
         queryWrapper.le("create_time", time + "-31 23:59:59");
         queryWrapper1.select(" CONVERT(IFNULL(sum(material_number),'0'),decimal(10,2)) materialNumber");
         WarehouseStockDetail stockDetail = detailMapper.selectOne(queryWrapper1);
@@ -241,4 +246,14 @@ public class WarehouseStockServiceImpl extends ServiceImpl<WarehouseStockMapper,
         return vo;
     }
 
+    @Override
+    public List<ErpBdRawMaterial> listMaterial(WarehouseMaterialParam materialParam) {
+        Integer material = materialParam.getMaterial();
+        String orgId = materialParam.getOrgId();
+        QueryWrapper<ErpBdRawMaterial> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq(StringUtils.isNotBlank(orgId), "org_id", orgId).eq("material_type", material);
+        queryWrapper.groupBy("fname");
+        return bdRawMaterialMapper.selectList(queryWrapper);
+    }
+
 }