Browse Source

入库单代码提交

wenjinbiao 9 months ago
parent
commit
dc8f00631f

+ 187 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qyinwarehouse/controller/QyInWarehouseController.java

@@ -0,0 +1,187 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.qyinwarehouse.controller;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import cn.hutool.core.util.URLUtil;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import io.swagger.v3.oas.annotations.Operation;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+import vip.xiaonuo.common.annotation.CommonLog;
+import vip.xiaonuo.common.pojo.CommonResult;
+import vip.xiaonuo.biz.modular.qyinwarehouse.entity.QyInWarehouse;
+import vip.xiaonuo.biz.modular.qyinwarehouse.param.QyInWarehouseAddParam;
+import vip.xiaonuo.biz.modular.qyinwarehouse.param.QyInWarehouseEditParam;
+import vip.xiaonuo.biz.modular.qyinwarehouse.param.QyInWarehouseIdParam;
+import vip.xiaonuo.biz.modular.qyinwarehouse.param.QyInWarehousePageParam;
+import vip.xiaonuo.biz.modular.qyinwarehouse.service.QyInWarehouseService;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.annotation.Resource;
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotEmpty;
+import java.util.List;
+import java.io.IOException;
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.fastjson.JSON;
+import java.net.URLEncoder;
+import java.util.HashMap;
+
+/**
+ * 入库单控制器
+ *
+ * @author wenjinbiao
+ * @date  2024/07/05 15:18
+ */
+@Tag(name = "入库单控制器")
+@RestController
+@Validated
+public class QyInWarehouseController {
+//
+    @Resource
+    private QyInWarehouseService qyInWarehouseService;
+//
+//    /**
+//     * 获取入库单分页
+//     *
+//     * @author wenjinbiao
+//     * @date  2024/07/05 15:18
+//     */
+//    @Operation(summary = "获取入库单分页")
+//    @SaCheckPermission("/biz/qyinwarehouse/page")
+//    @GetMapping("/biz/qyinwarehouse/page")
+//    public CommonResult<Page<QyInWarehouse>> page(QyInWarehousePageParam qyInWarehousePageParam) {
+//        return CommonResult.data(qyInWarehouseService.page(qyInWarehousePageParam));
+//    }
+//
+//    /**
+//     * 添加入库单
+//     *
+//     * @author wenjinbiao
+//     * @date  2024/07/05 15:18
+//     */
+//    @Operation(summary = "添加入库单")
+//    @CommonLog("添加入库单")
+//    @SaCheckPermission("/biz/qyinwarehouse/add")
+//    @PostMapping("/biz/qyinwarehouse/add")
+//    public CommonResult<String> add(@RequestBody @Valid QyInWarehouseAddParam qyInWarehouseAddParam) {
+//        qyInWarehouseService.add(qyInWarehouseAddParam);
+//        return CommonResult.ok();
+//    }
+//
+//    /**
+//     * 编辑入库单
+//     *
+//     * @author wenjinbiao
+//     * @date  2024/07/05 15:18
+//     */
+//    @Operation(summary = "编辑入库单")
+//    @CommonLog("编辑入库单")
+//    @SaCheckPermission("/biz/qyinwarehouse/edit")
+//    @PostMapping("/biz/qyinwarehouse/edit")
+//    public CommonResult<String> edit(@RequestBody @Valid QyInWarehouseEditParam qyInWarehouseEditParam) {
+//        qyInWarehouseService.edit(qyInWarehouseEditParam);
+//        return CommonResult.ok();
+//    }
+//
+//    /**
+//     * 导出入库单
+//     *
+//     * @author wenjinbiao
+//     * @date  2024/07/05 15:18
+//     */
+//    @Operation(summary = "导出入库单")
+//    @CommonLog("导出入库单")
+//    @SaCheckPermission("/biz/qyinwarehouse/export")
+//    @PostMapping("/biz/qyinwarehouse/export")
+//    public void export(@RequestBody @Valid QyInWarehousePageParam qyInWarehousePageParam, HttpServletResponse response) {
+//        Page<QyInWarehouse> page =  qyInWarehouseService.page(qyInWarehousePageParam);
+//        List<QyInWarehouse> records = page.getRecords();
+//        exportExcel(response,QyInWarehouse.class,records,"入库单");
+//    }
+//
+//
+//    /**
+//     * 导出表格数据
+//     * @param cl       表格字段实体类
+//     * @param data     查询数据
+//     * @param sheetName  表格名称
+//     */
+//    public void exportExcel(HttpServletResponse response, Class cl, List data, String sheetName){
+//       HashMap<String, String> map = new HashMap<>();
+//       try {
+//           response.setHeader("Content-disposition", "attachment;filename=" + URLUtil.encode(sheetName) + ".xlsx");
+//           response.setHeader("Access-Control-Allow-Origin", "*");
+//           response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
+//           response.setContentType("application/octet-stream;charset=UTF-8");
+//           EasyExcel.write(response.getOutputStream(), cl).autoCloseStream(Boolean.FALSE).sheet(sheetName).doWrite(data);
+//       } catch (IOException e) {
+//           response.reset();
+//           response.setContentType("application/json");
+//           response.setCharacterEncoding("utf-8");
+//           map.put("status", "failure");
+//           map.put("message", "下载文件失败" + e.getMessage());
+//           try {
+//               response.getWriter().println(JSON.toJSONString(map));
+//           } catch (IOException ex) {
+//               ex.printStackTrace();
+//           }
+//       }
+//    }
+//
+//    /**
+//     * 删除入库单
+//     *
+//     * @author wenjinbiao
+//     * @date  2024/07/05 15:18
+//     */
+//    @Operation(summary = "删除入库单")
+//    @CommonLog("删除入库单")
+//    @SaCheckPermission("/biz/qyinwarehouse/delete")
+//    @PostMapping("/biz/qyinwarehouse/delete")
+//    public CommonResult<String> delete(@RequestBody @Valid @NotEmpty(message = "集合不能为空")
+//                                                   List<QyInWarehouseIdParam> qyInWarehouseIdParamList) {
+//        qyInWarehouseService.delete(qyInWarehouseIdParamList);
+//        return CommonResult.ok();
+//    }
+//
+//    /**
+//     * 获取入库单详情
+//     *
+//     * @author wenjinbiao
+//     * @date  2024/07/05 15:18
+//     */
+//    @Operation(summary = "获取入库单详情")
+//    @SaCheckPermission("/biz/qyinwarehouse/detail")
+//    @GetMapping("/biz/qyinwarehouse/detail")
+//    public CommonResult<QyInWarehouse> detail(@Valid QyInWarehouseIdParam qyInWarehouseIdParam) {
+//        return CommonResult.data(qyInWarehouseService.detail(qyInWarehouseIdParam));
+//    }
+
+    /**
+     * 获取入库单详情
+     *
+     * @author wenjinbiao
+     * @date  2024/07/05 15:18
+     */
+    @Operation(summary = "根据入库单号获取入库单详情")
+//    @SaCheckPermission("/biz/qyinwarehouse/detail")
+    @GetMapping("/biz/qyinwarehouse/getInfoByCondition")
+    public CommonResult<QyInWarehouse> getInfoByCondition(@Valid QyInWarehouseIdParam qyInWarehouseIdParam) {
+        return CommonResult.data(qyInWarehouseService.getInfoByCondition(qyInWarehouseIdParam));
+    }
+}

+ 313 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qyinwarehouse/entity/QyInWarehouse.java

@@ -0,0 +1,313 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.qyinwarehouse.entity;
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.baomidou.mybatisplus.annotation.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 入库单实体
+ *
+ * @author wenjinbiao
+ * @date  2024/07/05 15:18
+ **/
+@Getter
+@Setter
+@TableName("qy_in_warehouse")
+public class QyInWarehouse {
+
+    /** 入库单号 */
+    @Schema(description = "入库单号")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 0,value = "入库单号")
+    private String warehouseNumber;
+
+    /** 入库单预录入编号 */
+    @Schema(description = "入库单预录入编号")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 1,value = "入库单预录入编号")
+    private String reWarehouseNumber;
+
+    /** 径予声明编号 */
+    @Schema(description = "径予声明编号")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 2,value = "径予声明编号")
+    private String statementCode;
+
+    /** 核注清单号 */
+    @Schema(description = "核注清单号")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 3,value = "核注清单号")
+    private String hzCode;
+
+    /** 企业编号 */
+    @Schema(description = "企业编号")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 4,value = "企业编号")
+    private String companyCode;
+
+    /** 企业名称 */
+    @Schema(description = "企业名称")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 5,value = "企业名称")
+    private String companyName;
+
+    /** 采购类型 */
+    @Schema(description = "采购类型")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 6,value = "采购类型")
+    private String purchaseType;
+
+    /** 监管方式 */
+    @Schema(description = "监管方式")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 7,value = "监管方式")
+    private String regulaMethod;
+
+    /** 币制 */
+    @Schema(description = "币制")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 8,value = "币制")
+    private String bz;
+
+    /** 启抵国(地区) */
+    @Schema(description = "启抵国(地区)")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 9,value = "启抵国(地区)")
+    private String qdgDq;
+
+    /** 入库时间 */
+    @Schema(description = "入库时间")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 10,value = "入库时间")
+    private Date warehouseTime;
+
+    /** 进/出口岸 */
+    @Schema(description = "进/出口岸")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 11,value = "进/出口岸")
+    private String inport;
+
+    /** 进/出境关别 */
+    @Schema(description = "进/出境关别")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 12,value = "进/出境关别")
+    private String jjgb;
+
+    /** 主管关区代码 */
+    @Schema(description = "主管关区代码")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 13,value = "主管关区代码")
+    private String zggqdm;
+
+    /** 报关标志 */
+    @Schema(description = "报关标志")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 14,value = "报关标志")
+    private String bgbz;
+
+    /** 运输方式 */
+    @Schema(description = "运输方式")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 15,value = "运输方式")
+    private String ysfs;
+
+    /** 区港联动标记 */
+    @Schema(description = "区港联动标记")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 16,value = "区港联动标记")
+    private String qgldbj;
+
+    /** 是否为保税商品 */
+    @Schema(description = "是否为保税商品")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 17,value = "是否为保税商品")
+    private String bssp;
+
+    /** 一线报关单号 */
+    @Schema(description = "一线报关单号")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 18,value = "一线报关单号")
+    private String yxbgdh;
+
+    /** 发货企业编号 */
+    @Schema(description = "发货企业编号")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 19,value = "发货企业编号")
+    private String fhqybh;
+
+    /** 发货企业名称 */
+    @Schema(description = "发货企业名称")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 20,value = "发货企业名称")
+    private String fhqymc;
+
+    /** 备注 */
+    @Schema(description = "备注")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 21,value = "备注")
+    private String remark;
+
+    /** 物料编号 */
+    @Schema(description = "物料编号")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 22,value = "物料编号")
+    private String wlbh;
+
+    /** 物料名称 */
+    @Schema(description = "物料名称")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 23,value = "物料名称")
+    private String wlmc;
+
+    /** 版本号 */
+    @Schema(description = "版本号")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 24,value = "版本号")
+    private String version;
+
+    /** 核注清单项次号 */
+    @Schema(description = "核注清单项次号")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 25,value = "核注清单项次号")
+    private String hzqdxch;
+
+    /** 金二账册号 */
+    @Schema(description = "金二账册号")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 26,value = "金二账册号")
+    private String jezce;
+
+    /** 备案序号 */
+    @Schema(description = "备案序号")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 27,value = "备案序号")
+    private String recordNum;
+
+    /** 备案名称 */
+    @Schema(description = "备案名称")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 28,value = "备案名称")
+    private String recordName;
+
+    /** 料件成品标志 */
+    @Schema(description = "料件成品标志")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 29,value = "料件成品标志")
+    private String fjcpbz;
+
+    /** 规格型号 */
+    @Schema(description = "规格型号")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 30,value = "规格型号")
+    private String ggxh;
+
+    /** 品牌类型 */
+    @Schema(description = "品牌类型")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 31,value = "品牌类型")
+    private String brandType;
+
+    /** 原产国(地区) */
+    @Schema(description = "原产国(地区)")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 32,value = "原产国(地区)")
+    private String ycgdq;
+
+    /** 最终目的国(地区) */
+    @Schema(description = "最终目的国(地区)")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 33,value = "最终目的国(地区)")
+    private String zzmdg;
+
+    /** 入库数量 */
+    @Schema(description = "入库数量")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 34,value = "入库数量")
+    private String rkNum;
+
+    /** 计量单位 */
+    @Schema(description = "计量单位")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 35,value = "计量单位")
+    private String measurementUnit;
+
+    /** 单价 */
+    @Schema(description = "单价")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 36,value = "单价")
+    private String unitPrice;
+
+    /** 第一法定数量 */
+    @Schema(description = "第一法定数量")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 37,value = "第一法定数量")
+    private String fyfdNum;
+
+    /** 第二法定数量 */
+    @Schema(description = "第二法定数量")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 38,value = "第二法定数量")
+    private String defdNum;
+
+    /** 征免方式 */
+    @Schema(description = "征免方式")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 39,value = "征免方式")
+    private String zmfs;
+
+    /** 货仓代码 */
+    @Schema(description = "货仓代码")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 40,value = "货仓代码")
+    private String hcdm;
+
+    /** 仓位代码 */
+    @Schema(description = "仓位代码")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 41,value = "仓位代码")
+    private String cwdm;
+
+    /** 创建时间 */
+    @Schema(description = "创建时间")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 42,value = "创建时间")
+    @TableField(fill = FieldFill.INSERT)
+    private Date createTime;
+
+    /** 创建人 */
+    @Schema(description = "创建人")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 43,value = "创建人")
+    @TableField(fill = FieldFill.INSERT)
+    private String createUser;
+
+    /** 更新时间 */
+    @Schema(description = "更新时间")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 44,value = "更新时间")
+    @TableField(fill = FieldFill.UPDATE)
+    private Date updateTime;
+
+    /** 更新人 */
+    @Schema(description = "更新人")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 45,value = "更新人")
+    @TableField(fill = FieldFill.UPDATE)
+    private Date updateUser;
+}

+ 34 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qyinwarehouse/enums/QyInWarehouseEnum.java

@@ -0,0 +1,34 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.qyinwarehouse.enums;
+
+import lombok.Getter;
+
+/**
+ * 入库单枚举
+ *
+ * @author wenjinbiao
+ * @date  2024/07/05 15:18
+ **/
+@Getter
+public enum QyInWarehouseEnum {
+
+    /** 测试 */
+    TEST("TEST");
+
+    private final String value;
+
+    QyInWarehouseEnum(String value) {
+        this.value = value;
+    }
+}

+ 25 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qyinwarehouse/mapper/QyInWarehouseMapper.java

@@ -0,0 +1,25 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.qyinwarehouse.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import vip.xiaonuo.biz.modular.qyinwarehouse.entity.QyInWarehouse;
+
+/**
+ * 入库单Mapper接口
+ *
+ * @author wenjinbiao
+ * @date  2024/07/05 15:18
+ **/
+public interface QyInWarehouseMapper extends BaseMapper<QyInWarehouse> {
+}

+ 5 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qyinwarehouse/mapper/mapping/QyInWarehouseMapper.xml

@@ -0,0 +1,5 @@
+<?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="vip.xiaonuo.biz.modular.qyinwarehouse.mapper.QyInWarehouseMapper">
+
+</mapper>

+ 198 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qyinwarehouse/param/QyInWarehouseAddParam.java

@@ -0,0 +1,198 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.qyinwarehouse.param;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 入库单添加参数
+ *
+ * @author wenjinbiao
+ * @date  2024/07/05 15:18
+ **/
+@Getter
+@Setter
+public class QyInWarehouseAddParam {
+
+    /** 入库单预录入编号 */
+    @Schema(description = "入库单预录入编号")
+    private String reWarehouseNumber;
+
+    /** 径予声明编号 */
+    @Schema(description = "径予声明编号")
+    private String statementCode;
+
+    /** 核注清单号 */
+    @Schema(description = "核注清单号")
+    private String hzCode;
+
+    /** 企业编号 */
+    @Schema(description = "企业编号")
+    private String companyCode;
+
+    /** 企业名称 */
+    @Schema(description = "企业名称")
+    private String companyName;
+
+    /** 采购类型 */
+    @Schema(description = "采购类型")
+    private String purchaseType;
+
+    /** 监管方式 */
+    @Schema(description = "监管方式")
+    private String regulaMethod;
+
+    /** 币制 */
+    @Schema(description = "币制")
+    private String bz;
+
+    /** 启抵国(地区) */
+    @Schema(description = "启抵国(地区)")
+    private String qdgDq;
+
+    /** 入库时间 */
+    @Schema(description = "入库时间")
+    private Date warehouseTime;
+
+    /** 进/出口岸 */
+    @Schema(description = "进/出口岸")
+    private String inport;
+
+    /** 进/出境关别 */
+    @Schema(description = "进/出境关别")
+    private String jjgb;
+
+    /** 主管关区代码 */
+    @Schema(description = "主管关区代码")
+    private String zggqdm;
+
+    /** 报关标志 */
+    @Schema(description = "报关标志")
+    private String bgbz;
+
+    /** 运输方式 */
+    @Schema(description = "运输方式")
+    private String ysfs;
+
+    /** 区港联动标记 */
+    @Schema(description = "区港联动标记")
+    private String qgldbj;
+
+    /** 是否为保税商品 */
+    @Schema(description = "是否为保税商品")
+    private String bssp;
+
+    /** 一线报关单号 */
+    @Schema(description = "一线报关单号")
+    private String yxbgdh;
+
+    /** 发货企业编号 */
+    @Schema(description = "发货企业编号")
+    private String fhqybh;
+
+    /** 发货企业名称 */
+    @Schema(description = "发货企业名称")
+    private String fhqymc;
+
+    /** 备注 */
+    @Schema(description = "备注")
+    private String remark;
+
+    /** 物料编号 */
+    @Schema(description = "物料编号")
+    private String wlbh;
+
+    /** 物料名称 */
+    @Schema(description = "物料名称")
+    private String wlmc;
+
+    /** 版本号 */
+    @Schema(description = "版本号")
+    private String version;
+
+    /** 核注清单项次号 */
+    @Schema(description = "核注清单项次号")
+    private String hzqdxch;
+
+    /** 金二账册号 */
+    @Schema(description = "金二账册号")
+    private String jezce;
+
+    /** 备案序号 */
+    @Schema(description = "备案序号")
+    private String recordNum;
+
+    /** 备案名称 */
+    @Schema(description = "备案名称")
+    private String recordName;
+
+    /** 料件成品标志 */
+    @Schema(description = "料件成品标志")
+    private String fjcpbz;
+
+    /** 规格型号 */
+    @Schema(description = "规格型号")
+    private String ggxh;
+
+    /** 品牌类型 */
+    @Schema(description = "品牌类型")
+    private String brandType;
+
+    /** 原产国(地区) */
+    @Schema(description = "原产国(地区)")
+    private String ycgdq;
+
+    /** 最终目的国(地区) */
+    @Schema(description = "最终目的国(地区)")
+    private String zzmdg;
+
+    /** 入库数量 */
+    @Schema(description = "入库数量")
+    private String rkNum;
+
+    /** 计量单位 */
+    @Schema(description = "计量单位")
+    private String measurementUnit;
+
+    /** 单价 */
+    @Schema(description = "单价")
+    private String unitPrice;
+
+    /** 第一法定数量 */
+    @Schema(description = "第一法定数量")
+    private String fyfdNum;
+
+    /** 第二法定数量 */
+    @Schema(description = "第二法定数量")
+    private String defdNum;
+
+    /** 征免方式 */
+    @Schema(description = "征免方式")
+    private String zmfs;
+
+    /** 货仓代码 */
+    @Schema(description = "货仓代码")
+    private String hcdm;
+
+    /** 仓位代码 */
+    @Schema(description = "仓位代码")
+    private String cwdm;
+
+}

+ 203 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qyinwarehouse/param/QyInWarehouseEditParam.java

@@ -0,0 +1,203 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.qyinwarehouse.param;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 入库单编辑参数
+ *
+ * @author wenjinbiao
+ * @date  2024/07/05 15:18
+ **/
+@Getter
+@Setter
+public class QyInWarehouseEditParam {
+
+    /** 入库单号 */
+    @Schema(description = "入库单号", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotBlank(message = "warehouseNumber不能为空")
+    private String warehouseNumber;
+
+    /** 入库单预录入编号 */
+    @Schema(description = "入库单预录入编号")
+    private String reWarehouseNumber;
+
+    /** 径予声明编号 */
+    @Schema(description = "径予声明编号")
+    private String statementCode;
+
+    /** 核注清单号 */
+    @Schema(description = "核注清单号")
+    private String hzCode;
+
+    /** 企业编号 */
+    @Schema(description = "企业编号")
+    private String companyCode;
+
+    /** 企业名称 */
+    @Schema(description = "企业名称")
+    private String companyName;
+
+    /** 采购类型 */
+    @Schema(description = "采购类型")
+    private String purchaseType;
+
+    /** 监管方式 */
+    @Schema(description = "监管方式")
+    private String regulaMethod;
+
+    /** 币制 */
+    @Schema(description = "币制")
+    private String bz;
+
+    /** 启抵国(地区) */
+    @Schema(description = "启抵国(地区)")
+    private String qdgDq;
+
+    /** 入库时间 */
+    @Schema(description = "入库时间")
+    private Date warehouseTime;
+
+    /** 进/出口岸 */
+    @Schema(description = "进/出口岸")
+    private String inport;
+
+    /** 进/出境关别 */
+    @Schema(description = "进/出境关别")
+    private String jjgb;
+
+    /** 主管关区代码 */
+    @Schema(description = "主管关区代码")
+    private String zggqdm;
+
+    /** 报关标志 */
+    @Schema(description = "报关标志")
+    private String bgbz;
+
+    /** 运输方式 */
+    @Schema(description = "运输方式")
+    private String ysfs;
+
+    /** 区港联动标记 */
+    @Schema(description = "区港联动标记")
+    private String qgldbj;
+
+    /** 是否为保税商品 */
+    @Schema(description = "是否为保税商品")
+    private String bssp;
+
+    /** 一线报关单号 */
+    @Schema(description = "一线报关单号")
+    private String yxbgdh;
+
+    /** 发货企业编号 */
+    @Schema(description = "发货企业编号")
+    private String fhqybh;
+
+    /** 发货企业名称 */
+    @Schema(description = "发货企业名称")
+    private String fhqymc;
+
+    /** 备注 */
+    @Schema(description = "备注")
+    private String remark;
+
+    /** 物料编号 */
+    @Schema(description = "物料编号")
+    private String wlbh;
+
+    /** 物料名称 */
+    @Schema(description = "物料名称")
+    private String wlmc;
+
+    /** 版本号 */
+    @Schema(description = "版本号")
+    private String version;
+
+    /** 核注清单项次号 */
+    @Schema(description = "核注清单项次号")
+    private String hzqdxch;
+
+    /** 金二账册号 */
+    @Schema(description = "金二账册号")
+    private String jezce;
+
+    /** 备案序号 */
+    @Schema(description = "备案序号")
+    private String recordNum;
+
+    /** 备案名称 */
+    @Schema(description = "备案名称")
+    private String recordName;
+
+    /** 料件成品标志 */
+    @Schema(description = "料件成品标志")
+    private String fjcpbz;
+
+    /** 规格型号 */
+    @Schema(description = "规格型号")
+    private String ggxh;
+
+    /** 品牌类型 */
+    @Schema(description = "品牌类型")
+    private String brandType;
+
+    /** 原产国(地区) */
+    @Schema(description = "原产国(地区)")
+    private String ycgdq;
+
+    /** 最终目的国(地区) */
+    @Schema(description = "最终目的国(地区)")
+    private String zzmdg;
+
+    /** 入库数量 */
+    @Schema(description = "入库数量")
+    private String rkNum;
+
+    /** 计量单位 */
+    @Schema(description = "计量单位")
+    private String measurementUnit;
+
+    /** 单价 */
+    @Schema(description = "单价")
+    private String unitPrice;
+
+    /** 第一法定数量 */
+    @Schema(description = "第一法定数量")
+    private String fyfdNum;
+
+    /** 第二法定数量 */
+    @Schema(description = "第二法定数量")
+    private String defdNum;
+
+    /** 征免方式 */
+    @Schema(description = "征免方式")
+    private String zmfs;
+
+    /** 货仓代码 */
+    @Schema(description = "货仓代码")
+    private String hcdm;
+
+    /** 仓位代码 */
+    @Schema(description = "仓位代码")
+    private String cwdm;
+
+}

+ 35 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qyinwarehouse/param/QyInWarehouseIdParam.java

@@ -0,0 +1,35 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.qyinwarehouse.param;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+
+import jakarta.validation.constraints.NotBlank;
+
+/**
+ * 入库单Id参数
+ *
+ * @author wenjinbiao
+ * @date  2024/07/05 15:18
+ **/
+@Getter
+@Setter
+public class QyInWarehouseIdParam {
+
+    /** 入库单号 */
+    @Schema(description = "入库单号", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotBlank(message = "warehouseNumber不能为空")
+    private String warehouseNumber;
+}

+ 51 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qyinwarehouse/param/QyInWarehousePageParam.java

@@ -0,0 +1,51 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.qyinwarehouse.param;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 入库单查询参数
+ *
+ * @author wenjinbiao
+ * @date  2024/07/05 15:18
+ **/
+@Getter
+@Setter
+public class QyInWarehousePageParam {
+
+    /** 当前页 */
+    @Schema(description = "当前页码")
+    private Integer current;
+
+    /** 每页条数 */
+    @Schema(description = "每页条数")
+    private Integer size;
+
+    /** 排序字段 */
+    @Schema(description = "排序字段,字段驼峰名称,如:userName")
+    private String sortField;
+
+    /** 排序方式 */
+    @Schema(description = "排序方式,升序:ASCEND;降序:DESCEND")
+    private String sortOrder;
+
+    /** 关键词 */
+    @Schema(description = "关键词")
+    private String searchKey;
+
+}

+ 83 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qyinwarehouse/service/QyInWarehouseService.java

@@ -0,0 +1,83 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.qyinwarehouse.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import vip.xiaonuo.biz.modular.qyinwarehouse.entity.QyInWarehouse;
+import vip.xiaonuo.biz.modular.qyinwarehouse.param.QyInWarehouseAddParam;
+import vip.xiaonuo.biz.modular.qyinwarehouse.param.QyInWarehouseEditParam;
+import vip.xiaonuo.biz.modular.qyinwarehouse.param.QyInWarehouseIdParam;
+import vip.xiaonuo.biz.modular.qyinwarehouse.param.QyInWarehousePageParam;
+
+import java.util.List;
+
+/**
+ * 入库单Service接口
+ *
+ * @author wenjinbiao
+ * @date  2024/07/05 15:18
+ **/
+public interface QyInWarehouseService extends IService<QyInWarehouse> {
+
+//    /**
+//     * 获取入库单分页
+//     *
+//     * @author wenjinbiao
+//     * @date  2024/07/05 15:18
+//     */
+//    Page<QyInWarehouse> page(QyInWarehousePageParam qyInWarehousePageParam);
+//
+//    /**
+//     * 添加入库单
+//     *
+//     * @author wenjinbiao
+//     * @date  2024/07/05 15:18
+//     */
+//    void add(QyInWarehouseAddParam qyInWarehouseAddParam);
+//
+//    /**
+//     * 编辑入库单
+//     *
+//     * @author wenjinbiao
+//     * @date  2024/07/05 15:18
+//     */
+//    void edit(QyInWarehouseEditParam qyInWarehouseEditParam);
+//
+//    /**
+//     * 删除入库单
+//     *
+//     * @author wenjinbiao
+//     * @date  2024/07/05 15:18
+//     */
+//    void delete(List<QyInWarehouseIdParam> qyInWarehouseIdParamList);
+//
+//    /**
+//     * 获取入库单详情
+//     *
+//     * @author wenjinbiao
+//     * @date  2024/07/05 15:18
+//     */
+//    QyInWarehouse detail(QyInWarehouseIdParam qyInWarehouseIdParam);
+//
+//    /**
+//     * 获取入库单详情
+//     *
+//     * @author wenjinbiao
+//     * @date  2024/07/05 15:18
+//     **/
+//    QyInWarehouse queryEntity(String id);
+
+    QyInWarehouse getInfoByCondition(QyInWarehouseIdParam qyInWarehouseIdParam);
+
+}

+ 108 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qyinwarehouse/service/impl/QyInWarehouseServiceImpl.java

@@ -0,0 +1,108 @@
+/*
+ * Copyright [2022] [https://www.xiaonuo.vip]
+ *
+ * Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点:
+ *
+ * 1.请不要删除和修改根目录下的LICENSE文件。
+ * 2.请不要删除和修改Snowy源码头部的版权声明。
+ * 3.本项目代码可免费商业使用,商业使用请保留源码和相关描述文件的项目出处,作者声明等。
+ * 4.分发源码时候,请注明软件出处 https://www.xiaonuo.vip
+ * 5.不可二次分发开源参与同类竞品,如有想法可联系团队xiaonuobase@qq.com商议合作。
+ * 6.若您的项目无法满足以上几点,需要更多功能代码,获取Snowy商业授权许可,请在官网购买授权,地址为 https://www.xiaonuo.vip
+ */
+package vip.xiaonuo.biz.modular.qyinwarehouse.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollStreamUtil;
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import vip.xiaonuo.common.enums.CommonSortOrderEnum;
+import vip.xiaonuo.common.exception.CommonException;
+import vip.xiaonuo.common.page.CommonPageRequest;
+import vip.xiaonuo.biz.modular.qyinwarehouse.entity.QyInWarehouse;
+import vip.xiaonuo.biz.modular.qyinwarehouse.mapper.QyInWarehouseMapper;
+import vip.xiaonuo.biz.modular.qyinwarehouse.param.QyInWarehouseAddParam;
+import vip.xiaonuo.biz.modular.qyinwarehouse.param.QyInWarehouseEditParam;
+import vip.xiaonuo.biz.modular.qyinwarehouse.param.QyInWarehouseIdParam;
+import vip.xiaonuo.biz.modular.qyinwarehouse.param.QyInWarehousePageParam;
+import vip.xiaonuo.biz.modular.qyinwarehouse.service.QyInWarehouseService;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * 入库单Service接口实现类
+ *
+ * @author wenjinbiao
+ * @date  2024/07/05 15:18
+ **/
+@Service
+public class QyInWarehouseServiceImpl extends ServiceImpl<QyInWarehouseMapper, QyInWarehouse> implements QyInWarehouseService {
+
+//    @Override
+//    public Page<QyInWarehouse> page(QyInWarehousePageParam qyInWarehousePageParam) {
+//        QueryWrapper<QyInWarehouse> queryWrapper = new QueryWrapper<QyInWarehouse>().checkSqlInjection();
+//        if(ObjectUtil.isAllNotEmpty(qyInWarehousePageParam.getSortField(), qyInWarehousePageParam.getSortOrder())) {
+//            CommonSortOrderEnum.validate(qyInWarehousePageParam.getSortOrder());
+//            queryWrapper.orderBy(true, qyInWarehousePageParam.getSortOrder().equalsIgnoreCase(CommonSortOrderEnum.ASC.getValue()),
+//                    StrUtil.toUnderlineCase(qyInWarehousePageParam.getSortField()));
+//        } else {
+//            queryWrapper.lambda().orderByAsc(QyInWarehouse::getWarehouseNumber);
+//        }
+//        return this.page(CommonPageRequest.defaultPage(), queryWrapper);
+//    }
+//
+//    @Transactional(rollbackFor = Exception.class)
+//    @Override
+//    public void add(QyInWarehouseAddParam qyInWarehouseAddParam) {
+//        QyInWarehouse qyInWarehouse = BeanUtil.toBean(qyInWarehouseAddParam, QyInWarehouse.class);
+//        this.save(qyInWarehouse);
+//    }
+//
+//    @Transactional(rollbackFor = Exception.class)
+//    @Override
+//    public void edit(QyInWarehouseEditParam qyInWarehouseEditParam) {
+//        QyInWarehouse qyInWarehouse = this.queryEntity(qyInWarehouseEditParam.getWarehouseNumber());
+//        BeanUtil.copyProperties(qyInWarehouseEditParam, qyInWarehouse);
+//        this.updateById(qyInWarehouse);
+//    }
+//
+//    @Transactional(rollbackFor = Exception.class)
+//    @Override
+//    public void delete(List<QyInWarehouseIdParam> qyInWarehouseIdParamList) {
+//        // 执行删除
+//        this.removeByIds(CollStreamUtil.toList(qyInWarehouseIdParamList, QyInWarehouseIdParam::getWarehouseNumber));
+//    }
+//
+//    @Override
+//    public QyInWarehouse detail(QyInWarehouseIdParam qyInWarehouseIdParam) {
+//        return this.queryEntity(qyInWarehouseIdParam.getWarehouseNumber());
+//    }
+//
+//    @Override
+//    public QyInWarehouse queryEntity(String id) {
+//        QyInWarehouse qyInWarehouse = this.getById(id);
+//        if(ObjectUtil.isEmpty(qyInWarehouse)) {
+//            throw new CommonException("入库单不存在,id值为:{}", id);
+//        }
+//        return qyInWarehouse;
+//    }
+
+    @Override
+    public QyInWarehouse getInfoByCondition(QyInWarehouseIdParam qyInWarehouseIdParam){
+        QueryWrapper<QyInWarehouse> queryWrapper = new QueryWrapper<QyInWarehouse>().checkSqlInjection();
+        queryWrapper.lambda().eq(QyInWarehouse::getWarehouseNumber,qyInWarehouseIdParam.getWarehouseNumber());
+        List<QyInWarehouse> list = this.list(queryWrapper);
+        if(CollectionUtil.isEmpty(list)){
+            return null;
+        }
+        return CollectionUtil.getFirst(list);
+    }
+}