Просмотр исходного кода

新增库存信息对接模块

Huanyi 1 неделя назад
Родитель
Сommit
f6e5b74de3

+ 45 - 0
ruoyi-modules/yingpaipay-erp/src/main/java/org/dromara/erp/controller/GoodsStockController.java

@@ -0,0 +1,45 @@
+package org.dromara.erp.controller;
+
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.erp.domain.query.GoodsStockQuery;
+import org.dromara.erp.domain.vo.GoodsStockVo;
+import org.dromara.erp.service.IGoodsStockService;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * 成品库存控制器
+ *
+ * @Author: Antigravity
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/erp/goodsStock")
+public class GoodsStockController {
+
+    private final IGoodsStockService goodsStockService;
+
+    /**
+     * 分页查询成品库存列表
+     */
+    @GetMapping("/page")
+    public TableDataInfo<GoodsStockVo> page(GoodsStockQuery query, PageQuery pageQuery) {
+        return goodsStockService.queryPageList(query, pageQuery);
+    }
+
+    /**
+     * 查询成品库存列表(不分页)
+     */
+    @GetMapping("/list")
+    public R<List<GoodsStockVo>> list(GoodsStockQuery query) {
+        return R.ok(goodsStockService.queryList(query));
+    }
+}

+ 168 - 0
ruoyi-modules/yingpaipay-erp/src/main/java/org/dromara/erp/domain/GoodsStock.java

@@ -0,0 +1,168 @@
+package org.dromara.erp.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import org.dromara.erp.domain.vo.GoodsStockVo;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 成品库存视图 v_Goods_Stock
+ *
+ * @Author: Antigravity
+ */
+@Data
+@AutoMapper(target = GoodsStockVo.class)
+@TableName("v_Goods_Stock")
+public class GoodsStock implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    @TableId("ItemNo")
+    private String itemNo;
+
+    @TableField("ModelID")
+    private String modelId;
+
+    @TableField("ModelNum")
+    private String modelNum;
+
+    @TableField("ModelName")
+    private String modelName;
+
+    @TableField("ClientModel")
+    private String clientModel;
+
+    @TableField("ColorID")
+    private String colorId;
+
+    @TableField("ColorNum")
+    private String colorNum;
+
+    @TableField("ColorName")
+    private String colorName;
+
+    @TableField("ColorKind")
+    private String colorKind;
+
+    @TableField("AlloyID")
+    private String alloyId;
+
+    @TableField("AlloyName")
+    private String alloyName;
+
+    @TableField("Thick")
+    private BigDecimal thick;
+
+    @TableField("Film")
+    private BigDecimal film;
+
+    @TableField("PackID")
+    private String packId;
+
+    @TableField("PackName")
+    private String packName;
+
+    @TableField("StoreID")
+    private String storeId;
+
+    @TableField("StoreName")
+    private String storeName;
+
+    @TableField("FrameID")
+    private String frameId;
+
+    @TableField("FrameName")
+    private String frameName;
+
+    @TableField("FrameWT")
+    private BigDecimal frameWt;
+
+    @TableField("FrameBar")
+    private String frameBar;
+
+    @TableField("Flength")
+    private BigDecimal flength;
+
+    @TableField("MeterWT")
+    private BigDecimal meterWt;
+
+    @TableField("SixMeterWT")
+    private BigDecimal sixMeterWt;
+
+    @TableField("DocCode")
+    private String docCode;
+
+    @TableField("SaleQty")
+    private BigDecimal saleQty;
+
+    @TableField("Qty")
+    private BigDecimal qty;
+
+    @TableField("TheoryWT")
+    private BigDecimal theoryWt;
+
+    @TableField("WT")
+    private BigDecimal wt;
+
+    @TableField("PackPricks")
+    private Integer packPricks;
+
+    @TableField("PackPrickQty")
+    private Integer packPrickQty;
+
+    @TableField("FinishDate")
+    private Date finishDate;
+
+    @TableField("StockDays")
+    private Integer stockDays;
+
+    @TableField("ClientID")
+    private String clientId;
+
+    @TableField("ClientNum")
+    private String clientNum;
+
+    @TableField("ClientName")
+    private String clientName;
+
+    @TableField("AvgWT")
+    private BigDecimal avgWt;
+
+    @TableField("dzsj")
+    private Integer dzsj;
+
+    @TableField("OrderState")
+    private String orderState;
+
+    @TableField("IsHalf")
+    private Integer isHalf;
+
+    @TableField("FromID")
+    private String fromId;
+
+    @TableField("firstdate")
+    private Date firstdate;
+
+    @TableField("IsSurplus")
+    private Integer isSurplus;
+
+    @TableField("FromBill")
+    private String fromBill;
+
+    @TableField("ClientCode")
+    private String clientCode;
+
+    @TableField("SaleCode")
+    private String saleCode;
+
+    @TableField("OxidModelSort")
+    private String oxidModelSort;
+}

+ 34 - 0
ruoyi-modules/yingpaipay-erp/src/main/java/org/dromara/erp/domain/query/GoodsStockQuery.java

@@ -0,0 +1,34 @@
+package org.dromara.erp.domain.query;
+
+import lombok.Data;
+
+/**
+ * 成品库存查询对象
+ *
+ * @Author: Antigravity
+ */
+@Data
+public class GoodsStockQuery {
+
+    private String itemNo;
+
+    private String modelNum;
+
+    private String modelName;
+
+    private String colorNum;
+
+    private String colorName;
+
+    private String clientNum;
+
+    private String clientName;
+
+    private String docCode;
+
+    private String orderState;
+
+    private Integer isHalf;
+
+    private Integer isSurplus;
+}

+ 117 - 0
ruoyi-modules/yingpaipay-erp/src/main/java/org/dromara/erp/domain/vo/GoodsStockVo.java

@@ -0,0 +1,117 @@
+package org.dromara.erp.domain.vo;
+
+import io.github.linpeilie.annotations.AutoMapper;
+import lombok.Data;
+import org.dromara.erp.domain.GoodsStock;
+
+import java.io.Serial;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 成品库存视图 VO v_Goods_Stock
+ *
+ * @Author: Antigravity
+ */
+@Data
+@AutoMapper(target = GoodsStock.class)
+public class GoodsStockVo implements Serializable {
+
+    @Serial
+    private static final long serialVersionUID = 1L;
+
+    private String itemNo;
+
+    private String modelId;
+
+    private String modelNum;
+
+    private String modelName;
+
+    private String clientModel;
+
+    private String colorId;
+
+    private String colorNum;
+
+    private String colorName;
+
+    private String colorKind;
+
+    private String alloyId;
+
+    private String alloyName;
+
+    private BigDecimal thick;
+
+    private BigDecimal film;
+
+    private String packId;
+
+    private String packName;
+
+    private String storeId;
+
+    private String storeName;
+
+    private String frameId;
+
+    private String frameName;
+
+    private BigDecimal frameWt;
+
+    private String frameBar;
+
+    private BigDecimal flength;
+
+    private BigDecimal meterWt;
+
+    private BigDecimal sixMeterWt;
+
+    private String docCode;
+
+    private BigDecimal saleQty;
+
+    private BigDecimal qty;
+
+    private BigDecimal theoryWt;
+
+    private BigDecimal wt;
+
+    private Integer packPricks;
+
+    private Integer packPrickQty;
+
+    private Date finishDate;
+
+    private Integer stockDays;
+
+    private String clientId;
+
+    private String clientNum;
+
+    private String clientName;
+
+    private BigDecimal avgWt;
+
+    private Integer dzsj;
+
+    private String orderState;
+
+    private Integer isHalf;
+
+    private String fromId;
+
+    private Date firstdate;
+
+    private Integer isSurplus;
+
+    private String fromBill;
+
+    private String clientCode;
+
+    private String saleCode;
+
+    private String oxidModelSort;
+}

+ 15 - 0
ruoyi-modules/yingpaipay-erp/src/main/java/org/dromara/erp/mapper/GoodsStockMapper.java

@@ -0,0 +1,15 @@
+package org.dromara.erp.mapper;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
+import org.dromara.erp.domain.GoodsStock;
+import org.dromara.erp.domain.vo.GoodsStockVo;
+
+/**
+ * 成品库存视图 Mapper
+ *
+ * @Author: Antigravity
+ */
+@DS("htsail_cs")
+public interface GoodsStockMapper extends BaseMapperPlus<GoodsStock, GoodsStockVo> {
+}

+ 26 - 0
ruoyi-modules/yingpaipay-erp/src/main/java/org/dromara/erp/service/IGoodsStockService.java

@@ -0,0 +1,26 @@
+package org.dromara.erp.service;
+
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.erp.domain.query.GoodsStockQuery;
+import org.dromara.erp.domain.vo.GoodsStockVo;
+
+import java.util.List;
+
+/**
+ * 成品库存 Service 接口
+ *
+ * @Author: Antigravity
+ */
+public interface IGoodsStockService {
+
+    /**
+     * 分页查询成品库存列表
+     */
+    TableDataInfo<GoodsStockVo> queryPageList(GoodsStockQuery query, PageQuery pageQuery);
+
+    /**
+     * 查询成品库存列表(不分页)
+     */
+    List<GoodsStockVo> queryList(GoodsStockQuery query);
+}

+ 58 - 0
ruoyi-modules/yingpaipay-erp/src/main/java/org/dromara/erp/service/impl/GoodsStockServiceImpl.java

@@ -0,0 +1,58 @@
+package org.dromara.erp.service.impl;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.RequiredArgsConstructor;
+import org.dromara.common.mybatis.core.page.PageQuery;
+import org.dromara.common.mybatis.core.page.TableDataInfo;
+import org.dromara.erp.domain.GoodsStock;
+import org.dromara.erp.domain.query.GoodsStockQuery;
+import org.dromara.erp.domain.vo.GoodsStockVo;
+import org.dromara.erp.mapper.GoodsStockMapper;
+import org.dromara.erp.service.IGoodsStockService;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * 成品库存 Service 实现
+ *
+ * @Author: Antigravity
+ */
+@RequiredArgsConstructor
+@Service
+public class GoodsStockServiceImpl implements IGoodsStockService {
+
+    private final GoodsStockMapper baseMapper;
+
+    @Override
+    public TableDataInfo<GoodsStockVo> queryPageList(GoodsStockQuery query, PageQuery pageQuery) {
+        LambdaQueryWrapper<GoodsStock> lqw = buildQueryWrapper(query);
+        Page<GoodsStockVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+        return TableDataInfo.build(result);
+    }
+
+    @Override
+    public List<GoodsStockVo> queryList(GoodsStockQuery query) {
+        LambdaQueryWrapper<GoodsStock> lqw = buildQueryWrapper(query);
+        return baseMapper.selectVoList(lqw);
+    }
+
+    private LambdaQueryWrapper<GoodsStock> buildQueryWrapper(GoodsStockQuery query) {
+        LambdaQueryWrapper<GoodsStock> lqw = Wrappers.lambdaQuery();
+        lqw.eq(ObjectUtil.isNotEmpty(query.getItemNo()), GoodsStock::getItemNo, query.getItemNo());
+        lqw.like(ObjectUtil.isNotEmpty(query.getModelNum()), GoodsStock::getModelNum, query.getModelNum());
+        lqw.like(ObjectUtil.isNotEmpty(query.getModelName()), GoodsStock::getModelName, query.getModelName());
+        lqw.like(ObjectUtil.isNotEmpty(query.getColorNum()), GoodsStock::getColorNum, query.getColorNum());
+        lqw.like(ObjectUtil.isNotEmpty(query.getColorName()), GoodsStock::getColorName, query.getColorName());
+        lqw.like(ObjectUtil.isNotEmpty(query.getClientNum()), GoodsStock::getClientNum, query.getClientNum());
+        lqw.like(ObjectUtil.isNotEmpty(query.getClientName()), GoodsStock::getClientName, query.getClientName());
+        lqw.eq(ObjectUtil.isNotEmpty(query.getDocCode()), GoodsStock::getDocCode, query.getDocCode());
+        lqw.eq(ObjectUtil.isNotEmpty(query.getOrderState()), GoodsStock::getOrderState, query.getOrderState());
+        lqw.eq(query.getIsHalf() != null, GoodsStock::getIsHalf, query.getIsHalf());
+        lqw.eq(query.getIsSurplus() != null, GoodsStock::getIsSurplus, query.getIsSurplus());
+        return lqw;
+    }
+}