Forráskód Böngészése

二线出岛业务记账管理
代码生成

CzRger 9 hónapja%!(EXTRA string=óta)
szülő
commit
1913ace429
12 módosított fájl, 1024 hozzáadás és 0 törlés
  1. 34 0
      snowy-admin-web/src/api/biz/qySecondlineWarehouseApi.js
  2. 174 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinewarehouse/controller/QySecondlineWarehouseController.java
  3. 176 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinewarehouse/entity/QySecondlineWarehouse.java
  4. 34 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinewarehouse/enums/QySecondlineWarehouseEnum.java
  5. 25 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinewarehouse/mapper/QySecondlineWarehouseMapper.java
  6. 5 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinewarehouse/mapper/mapping/QySecondlineWarehouseMapper.xml
  7. 106 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinewarehouse/param/QySecondlineWarehouseAddParam.java
  8. 111 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinewarehouse/param/QySecondlineWarehouseEditParam.java
  9. 35 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinewarehouse/param/QySecondlineWarehouseIdParam.java
  10. 111 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinewarehouse/param/QySecondlineWarehousePageParam.java
  11. 80 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinewarehouse/service/QySecondlineWarehouseService.java
  12. 133 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinewarehouse/service/impl/QySecondlineWarehouseServiceImpl.java

+ 34 - 0
snowy-admin-web/src/api/biz/qySecondlineWarehouseApi.js

@@ -0,0 +1,34 @@
+import { baseRequest } from '@/utils/request'
+
+const request = (url, ...arg) => baseRequest(`/biz/qysecondlinewarehouse/` + url, ...arg)
+
+/**
+ * 二线出岛业务记账管理Api接口管理器
+ *
+ * @author 曹钊瑞
+ * @date  2024/07/04 15:39
+ **/
+export default {
+	// 获取二线出岛业务记账管理分页
+	qySecondlineWarehousePage(data) {
+		return request('page', data, 'get')
+	},
+	// 提交二线出岛业务记账管理表单 edit为true时为编辑,默认为新增
+	qySecondlineWarehouseSubmitForm(data, edit = false) {
+		return request(edit ? 'edit' : 'add', data)
+	},
+	// 删除二线出岛业务记账管理
+	qySecondlineWarehouseDelete(data) {
+		return request('delete', data)
+	},
+	// 导出二线出岛业务记账管理
+    qySecondlineWarehouseExport(data) {
+        return request('export', data, 'post', {
+            responseType: 'blob'
+        })
+    },
+	// 获取二线出岛业务记账管理详情
+	qySecondlineWarehouseDetail(data) {
+		return request('detail', data, 'get')
+	}
+}

+ 174 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinewarehouse/controller/QySecondlineWarehouseController.java

@@ -0,0 +1,174 @@
+/*
+ * 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.qysecondlinewarehouse.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.qysecondlinewarehouse.entity.QySecondlineWarehouse;
+import vip.xiaonuo.biz.modular.qysecondlinewarehouse.param.QySecondlineWarehouseAddParam;
+import vip.xiaonuo.biz.modular.qysecondlinewarehouse.param.QySecondlineWarehouseEditParam;
+import vip.xiaonuo.biz.modular.qysecondlinewarehouse.param.QySecondlineWarehouseIdParam;
+import vip.xiaonuo.biz.modular.qysecondlinewarehouse.param.QySecondlineWarehousePageParam;
+import vip.xiaonuo.biz.modular.qysecondlinewarehouse.service.QySecondlineWarehouseService;
+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 曹钊瑞
+ * @date  2024/07/04 15:39
+ */
+@Tag(name = "二线出岛业务记账管理控制器")
+@RestController
+@Validated
+public class QySecondlineWarehouseController {
+
+    @Resource
+    private QySecondlineWarehouseService qySecondlineWarehouseService;
+
+    /**
+     * 获取二线出岛业务记账管理分页
+     *
+     * @author 曹钊瑞
+     * @date  2024/07/04 15:39
+     */
+    @Operation(summary = "获取二线出岛业务记账管理分页")
+    @SaCheckPermission("/biz/qysecondlinewarehouse/page")
+    @GetMapping("/biz/qysecondlinewarehouse/page")
+    public CommonResult<Page<QySecondlineWarehouse>> page(QySecondlineWarehousePageParam qySecondlineWarehousePageParam) {
+        return CommonResult.data(qySecondlineWarehouseService.page(qySecondlineWarehousePageParam));
+    }
+
+    /**
+     * 添加二线出岛业务记账管理
+     *
+     * @author 曹钊瑞
+     * @date  2024/07/04 15:39
+     */
+    @Operation(summary = "添加二线出岛业务记账管理")
+    @CommonLog("添加二线出岛业务记账管理")
+    @SaCheckPermission("/biz/qysecondlinewarehouse/add")
+    @PostMapping("/biz/qysecondlinewarehouse/add")
+    public CommonResult<String> add(@RequestBody @Valid QySecondlineWarehouseAddParam qySecondlineWarehouseAddParam) {
+        qySecondlineWarehouseService.add(qySecondlineWarehouseAddParam);
+        return CommonResult.ok();
+    }
+
+    /**
+     * 编辑二线出岛业务记账管理
+     *
+     * @author 曹钊瑞
+     * @date  2024/07/04 15:39
+     */
+    @Operation(summary = "编辑二线出岛业务记账管理")
+    @CommonLog("编辑二线出岛业务记账管理")
+    @SaCheckPermission("/biz/qysecondlinewarehouse/edit")
+    @PostMapping("/biz/qysecondlinewarehouse/edit")
+    public CommonResult<String> edit(@RequestBody @Valid QySecondlineWarehouseEditParam qySecondlineWarehouseEditParam) {
+        qySecondlineWarehouseService.edit(qySecondlineWarehouseEditParam);
+        return CommonResult.ok();
+    }
+
+    /**
+     * 导出二线出岛业务记账管理
+     *
+     * @author 曹钊瑞
+     * @date  2024/07/04 15:39
+     */
+    @Operation(summary = "导出二线出岛业务记账管理")
+    @CommonLog("导出二线出岛业务记账管理")
+    @SaCheckPermission("/biz/qysecondlinewarehouse/export")
+    @PostMapping("/biz/qysecondlinewarehouse/export")
+    public void export(@RequestBody @Valid QySecondlineWarehousePageParam qySecondlineWarehousePageParam, HttpServletResponse response) {
+        Page<QySecondlineWarehouse> page =  qySecondlineWarehouseService.page(qySecondlineWarehousePageParam);
+        List<QySecondlineWarehouse> records = page.getRecords();
+        exportExcel(response,QySecondlineWarehouse.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 曹钊瑞
+     * @date  2024/07/04 15:39
+     */
+    @Operation(summary = "删除二线出岛业务记账管理")
+    @CommonLog("删除二线出岛业务记账管理")
+    @SaCheckPermission("/biz/qysecondlinewarehouse/delete")
+    @PostMapping("/biz/qysecondlinewarehouse/delete")
+    public CommonResult<String> delete(@RequestBody @Valid @NotEmpty(message = "集合不能为空")
+                                                   List<QySecondlineWarehouseIdParam> qySecondlineWarehouseIdParamList) {
+        qySecondlineWarehouseService.delete(qySecondlineWarehouseIdParamList);
+        return CommonResult.ok();
+    }
+
+    /**
+     * 获取二线出岛业务记账管理详情
+     *
+     * @author 曹钊瑞
+     * @date  2024/07/04 15:39
+     */
+    @Operation(summary = "获取二线出岛业务记账管理详情")
+    @SaCheckPermission("/biz/qysecondlinewarehouse/detail")
+    @GetMapping("/biz/qysecondlinewarehouse/detail")
+    public CommonResult<QySecondlineWarehouse> detail(@Valid QySecondlineWarehouseIdParam qySecondlineWarehouseIdParam) {
+        return CommonResult.data(qySecondlineWarehouseService.detail(qySecondlineWarehouseIdParam));
+    }
+}

+ 176 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinewarehouse/entity/QySecondlineWarehouse.java

@@ -0,0 +1,176 @@
+/*
+ * 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.qysecondlinewarehouse.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 曹钊瑞
+ * @date  2024/07/04 15:39
+ **/
+@Getter
+@Setter
+@TableName("qy_secondline_warehouse")
+public class QySecondlineWarehouse {
+
+    /** 主键 */
+    @TableId
+    @Schema(description = "主键")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 0,value = "主键")
+    private String id;
+
+    /** 企业编码 */
+    @Schema(description = "企业编码")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 1,value = "企业编码")
+    private String companyCode;
+
+    /** 企业名称 */
+    @Schema(description = "企业名称")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 2,value = "企业名称")
+    private String companyName;
+
+    /** 账册类型 */
+    @Schema(description = "账册类型")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 3,value = "账册类型")
+    private String accountType;
+
+    /** 账册编号 */
+    @Schema(description = "账册编号")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 4,value = "账册编号")
+    private String accountCode;
+
+    /** 商品编号 */
+    @Schema(description = "商品编号")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 5,value = "商品编号")
+    private String commodityCode;
+
+    /** 商品名称 */
+    @Schema(description = "商品名称")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 6,value = "商品名称")
+    private String commodityName;
+
+    /** 业务类型 */
+    @Schema(description = "业务类型")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 7,value = "业务类型")
+    private String businessType;
+
+    /** 记账数量 */
+    @Schema(description = "记账数量")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 8,value = "记账数量")
+    private String accountNumber;
+
+    /** 法定计量单位 */
+    @Schema(description = "法定计量单位")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 9,value = "法定计量单位")
+    private String measurementUnit;
+
+    /** 二线出岛申请单号 */
+    @Schema(description = "二线出岛申请单号")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 10,value = "二线出岛申请单号")
+    private String secondlineOutislandNumber;
+
+    /** 出库单号 */
+    @Schema(description = "出库单号")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 11,value = "出库单号")
+    private String warehouseNumber;
+
+    /** 出库日期 */
+    @Schema(description = "出库日期")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 12,value = "出库日期")
+    private Date warehouseTime;
+
+    /** 记账日期 */
+    @Schema(description = "记账日期")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 13,value = "记账日期")
+    private Date accountTime;
+
+    /** 备注 */
+    @Schema(description = "备注")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 14,value = "备注")
+    private String remark;
+
+    /** 创建时间 */
+    @Schema(description = "创建时间")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 15,value = "创建时间")
+    @TableField(fill = FieldFill.INSERT)
+    private Date createTime;
+
+    /** 创建人 */
+    @Schema(description = "创建人")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 16,value = "创建人")
+    @TableField(fill = FieldFill.INSERT)
+    private String createUser;
+
+    /** 更新时间 */
+    @Schema(description = "更新时间")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 17,value = "更新时间")
+    @TableField(fill = FieldFill.UPDATE)
+    private Date updateTime;
+
+    /** 更新人 */
+    @Schema(description = "更新人")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 18,value = "更新人")
+    @TableField(fill = FieldFill.UPDATE)
+    private Date updateUser;
+
+    /** 文件路径 */
+    @Schema(description = "文件路径")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 19,value = "文件路径")
+    private String fileUrl;
+
+    /** 制单人 */
+    @Schema(description = "制单人")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 20,value = "制单人")
+    private String creator;
+
+    /** 规格 */
+    @Schema(description = "规格")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 21,value = "规格")
+    private String specs;
+
+    /** 单价 */
+    @Schema(description = "单价")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 22,value = "单价")
+    private String unitPrice;
+}

+ 34 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinewarehouse/enums/QySecondlineWarehouseEnum.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.qysecondlinewarehouse.enums;
+
+import lombok.Getter;
+
+/**
+ * 二线出岛业务记账管理枚举
+ *
+ * @author 曹钊瑞
+ * @date  2024/07/04 15:39
+ **/
+@Getter
+public enum QySecondlineWarehouseEnum {
+
+    /** 测试 */
+    TEST("TEST");
+
+    private final String value;
+
+    QySecondlineWarehouseEnum(String value) {
+        this.value = value;
+    }
+}

+ 25 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinewarehouse/mapper/QySecondlineWarehouseMapper.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.qysecondlinewarehouse.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import vip.xiaonuo.biz.modular.qysecondlinewarehouse.entity.QySecondlineWarehouse;
+
+/**
+ * 二线出岛业务记账管理Mapper接口
+ *
+ * @author 曹钊瑞
+ * @date  2024/07/04 15:39
+ **/
+public interface QySecondlineWarehouseMapper extends BaseMapper<QySecondlineWarehouse> {
+}

+ 5 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinewarehouse/mapper/mapping/QySecondlineWarehouseMapper.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.qysecondlinewarehouse.mapper.QySecondlineWarehouseMapper">
+
+</mapper>

+ 106 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinewarehouse/param/QySecondlineWarehouseAddParam.java

@@ -0,0 +1,106 @@
+/*
+ * 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.qysecondlinewarehouse.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 曹钊瑞
+ * @date  2024/07/04 15:39
+ **/
+@Getter
+@Setter
+public class QySecondlineWarehouseAddParam {
+
+    /** 企业编码 */
+    @Schema(description = "企业编码")
+    private String companyCode;
+
+    /** 企业名称 */
+    @Schema(description = "企业名称")
+    private String companyName;
+
+    /** 账册类型 */
+    @Schema(description = "账册类型")
+    private String accountType;
+
+    /** 账册编号 */
+    @Schema(description = "账册编号")
+    private String accountCode;
+
+    /** 商品编号 */
+    @Schema(description = "商品编号")
+    private String commodityCode;
+
+    /** 商品名称 */
+    @Schema(description = "商品名称")
+    private String commodityName;
+
+    /** 业务类型 */
+    @Schema(description = "业务类型")
+    private String businessType;
+
+    /** 记账数量 */
+    @Schema(description = "记账数量")
+    private String accountNumber;
+
+    /** 法定计量单位 */
+    @Schema(description = "法定计量单位")
+    private String measurementUnit;
+
+    /** 二线出岛申请单号 */
+    @Schema(description = "二线出岛申请单号")
+    private String secondlineOutislandNumber;
+
+    /** 出库单号 */
+    @Schema(description = "出库单号")
+    private String warehouseNumber;
+
+    /** 出库日期 */
+    @Schema(description = "出库日期")
+    private Date warehouseTime;
+
+    /** 记账日期 */
+    @Schema(description = "记账日期")
+    private Date accountTime;
+
+    /** 备注 */
+    @Schema(description = "备注")
+    private String remark;
+
+    /** 文件路径 */
+    @Schema(description = "文件路径")
+    private String fileUrl;
+
+    /** 制单人 */
+    @Schema(description = "制单人")
+    private String creator;
+
+    /** 规格 */
+    @Schema(description = "规格")
+    private String specs;
+
+    /** 单价 */
+    @Schema(description = "单价")
+    private String unitPrice;
+
+}

+ 111 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinewarehouse/param/QySecondlineWarehouseEditParam.java

@@ -0,0 +1,111 @@
+/*
+ * 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.qysecondlinewarehouse.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 曹钊瑞
+ * @date  2024/07/04 15:39
+ **/
+@Getter
+@Setter
+public class QySecondlineWarehouseEditParam {
+
+    /** 主键 */
+    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotBlank(message = "id不能为空")
+    private String id;
+
+    /** 企业编码 */
+    @Schema(description = "企业编码")
+    private String companyCode;
+
+    /** 企业名称 */
+    @Schema(description = "企业名称")
+    private String companyName;
+
+    /** 账册类型 */
+    @Schema(description = "账册类型")
+    private String accountType;
+
+    /** 账册编号 */
+    @Schema(description = "账册编号")
+    private String accountCode;
+
+    /** 商品编号 */
+    @Schema(description = "商品编号")
+    private String commodityCode;
+
+    /** 商品名称 */
+    @Schema(description = "商品名称")
+    private String commodityName;
+
+    /** 业务类型 */
+    @Schema(description = "业务类型")
+    private String businessType;
+
+    /** 记账数量 */
+    @Schema(description = "记账数量")
+    private String accountNumber;
+
+    /** 法定计量单位 */
+    @Schema(description = "法定计量单位")
+    private String measurementUnit;
+
+    /** 二线出岛申请单号 */
+    @Schema(description = "二线出岛申请单号")
+    private String secondlineOutislandNumber;
+
+    /** 出库单号 */
+    @Schema(description = "出库单号")
+    private String warehouseNumber;
+
+    /** 出库日期 */
+    @Schema(description = "出库日期")
+    private Date warehouseTime;
+
+    /** 记账日期 */
+    @Schema(description = "记账日期")
+    private Date accountTime;
+
+    /** 备注 */
+    @Schema(description = "备注")
+    private String remark;
+
+    /** 文件路径 */
+    @Schema(description = "文件路径")
+    private String fileUrl;
+
+    /** 制单人 */
+    @Schema(description = "制单人")
+    private String creator;
+
+    /** 规格 */
+    @Schema(description = "规格")
+    private String specs;
+
+    /** 单价 */
+    @Schema(description = "单价")
+    private String unitPrice;
+
+}

+ 35 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinewarehouse/param/QySecondlineWarehouseIdParam.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.qysecondlinewarehouse.param;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+
+import jakarta.validation.constraints.NotBlank;
+
+/**
+ * 二线出岛业务记账管理Id参数
+ *
+ * @author 曹钊瑞
+ * @date  2024/07/04 15:39
+ **/
+@Getter
+@Setter
+public class QySecondlineWarehouseIdParam {
+
+    /** 主键 */
+    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotBlank(message = "id不能为空")
+    private String id;
+}

+ 111 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinewarehouse/param/QySecondlineWarehousePageParam.java

@@ -0,0 +1,111 @@
+/*
+ * 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.qysecondlinewarehouse.param;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 二线出岛业务记账管理查询参数
+ *
+ * @author 曹钊瑞
+ * @date  2024/07/04 15:39
+ **/
+@Getter
+@Setter
+public class QySecondlineWarehousePageParam {
+
+    /** 当前页 */
+    @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;
+
+    /** 企业编码 */
+    @Schema(description = "企业编码")
+    private String companyCode;
+
+    /** 企业名称 */
+    @Schema(description = "企业名称")
+    private String companyName;
+
+    /** 账册类型 */
+    @Schema(description = "账册类型")
+    private String accountType;
+
+    /** 账册编号 */
+    @Schema(description = "账册编号")
+    private String accountCode;
+
+    /** 商品编号 */
+    @Schema(description = "商品编号")
+    private String commodityCode;
+
+    /** 商品名称 */
+    @Schema(description = "商品名称")
+    private String commodityName;
+
+    /** 业务类型 */
+    @Schema(description = "业务类型")
+    private String businessType;
+
+    /** 记账数量 */
+    @Schema(description = "记账数量")
+    private String accountNumber;
+
+    /** 法定计量单位 */
+    @Schema(description = "法定计量单位")
+    private String measurementUnit;
+
+    /** 二线出岛申请单号 */
+    @Schema(description = "二线出岛申请单号")
+    private String secondlineOutislandNumber;
+
+    /** 出库单号 */
+    @Schema(description = "出库单号")
+    private String warehouseNumber;
+
+    /** 出库日期开始 */
+    @Schema(description = "出库日期开始")
+    private String startWarehouseTime;
+
+    /** 出库日期结束 */
+    @Schema(description = "出库日期结束")
+    private String endWarehouseTime;
+
+    /** 记账日期开始 */
+    @Schema(description = "记账日期开始")
+    private String startAccountTime;
+
+    /** 记账日期结束 */
+    @Schema(description = "记账日期结束")
+    private String endAccountTime;
+
+}

+ 80 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinewarehouse/service/QySecondlineWarehouseService.java

@@ -0,0 +1,80 @@
+/*
+ * 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.qysecondlinewarehouse.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import vip.xiaonuo.biz.modular.qysecondlinewarehouse.entity.QySecondlineWarehouse;
+import vip.xiaonuo.biz.modular.qysecondlinewarehouse.param.QySecondlineWarehouseAddParam;
+import vip.xiaonuo.biz.modular.qysecondlinewarehouse.param.QySecondlineWarehouseEditParam;
+import vip.xiaonuo.biz.modular.qysecondlinewarehouse.param.QySecondlineWarehouseIdParam;
+import vip.xiaonuo.biz.modular.qysecondlinewarehouse.param.QySecondlineWarehousePageParam;
+
+import java.util.List;
+
+/**
+ * 二线出岛业务记账管理Service接口
+ *
+ * @author 曹钊瑞
+ * @date  2024/07/04 15:39
+ **/
+public interface QySecondlineWarehouseService extends IService<QySecondlineWarehouse> {
+
+    /**
+     * 获取二线出岛业务记账管理分页
+     *
+     * @author 曹钊瑞
+     * @date  2024/07/04 15:39
+     */
+    Page<QySecondlineWarehouse> page(QySecondlineWarehousePageParam qySecondlineWarehousePageParam);
+
+    /**
+     * 添加二线出岛业务记账管理
+     *
+     * @author 曹钊瑞
+     * @date  2024/07/04 15:39
+     */
+    void add(QySecondlineWarehouseAddParam qySecondlineWarehouseAddParam);
+
+    /**
+     * 编辑二线出岛业务记账管理
+     *
+     * @author 曹钊瑞
+     * @date  2024/07/04 15:39
+     */
+    void edit(QySecondlineWarehouseEditParam qySecondlineWarehouseEditParam);
+
+    /**
+     * 删除二线出岛业务记账管理
+     *
+     * @author 曹钊瑞
+     * @date  2024/07/04 15:39
+     */
+    void delete(List<QySecondlineWarehouseIdParam> qySecondlineWarehouseIdParamList);
+
+    /**
+     * 获取二线出岛业务记账管理详情
+     *
+     * @author 曹钊瑞
+     * @date  2024/07/04 15:39
+     */
+    QySecondlineWarehouse detail(QySecondlineWarehouseIdParam qySecondlineWarehouseIdParam);
+
+    /**
+     * 获取二线出岛业务记账管理详情
+     *
+     * @author 曹钊瑞
+     * @date  2024/07/04 15:39
+     **/
+    QySecondlineWarehouse queryEntity(String id);
+}

+ 133 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinewarehouse/service/impl/QySecondlineWarehouseServiceImpl.java

@@ -0,0 +1,133 @@
+/*
+ * 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.qysecondlinewarehouse.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollStreamUtil;
+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.qysecondlinewarehouse.entity.QySecondlineWarehouse;
+import vip.xiaonuo.biz.modular.qysecondlinewarehouse.mapper.QySecondlineWarehouseMapper;
+import vip.xiaonuo.biz.modular.qysecondlinewarehouse.param.QySecondlineWarehouseAddParam;
+import vip.xiaonuo.biz.modular.qysecondlinewarehouse.param.QySecondlineWarehouseEditParam;
+import vip.xiaonuo.biz.modular.qysecondlinewarehouse.param.QySecondlineWarehouseIdParam;
+import vip.xiaonuo.biz.modular.qysecondlinewarehouse.param.QySecondlineWarehousePageParam;
+import vip.xiaonuo.biz.modular.qysecondlinewarehouse.service.QySecondlineWarehouseService;
+
+import java.util.List;
+
+/**
+ * 二线出岛业务记账管理Service接口实现类
+ *
+ * @author 曹钊瑞
+ * @date  2024/07/04 15:39
+ **/
+@Service
+public class QySecondlineWarehouseServiceImpl extends ServiceImpl<QySecondlineWarehouseMapper, QySecondlineWarehouse> implements QySecondlineWarehouseService {
+
+    @Override
+    public Page<QySecondlineWarehouse> page(QySecondlineWarehousePageParam qySecondlineWarehousePageParam) {
+        QueryWrapper<QySecondlineWarehouse> queryWrapper = new QueryWrapper<QySecondlineWarehouse>().checkSqlInjection();
+        if(ObjectUtil.isNotEmpty(qySecondlineWarehousePageParam.getCompanyCode())) {
+            queryWrapper.lambda().like(QySecondlineWarehouse::getCompanyCode, qySecondlineWarehousePageParam.getCompanyCode());
+        }
+        if(ObjectUtil.isNotEmpty(qySecondlineWarehousePageParam.getCompanyName())) {
+            queryWrapper.lambda().like(QySecondlineWarehouse::getCompanyName, qySecondlineWarehousePageParam.getCompanyName());
+        }
+        if(ObjectUtil.isNotEmpty(qySecondlineWarehousePageParam.getAccountType())) {
+            queryWrapper.lambda().eq(QySecondlineWarehouse::getAccountType, qySecondlineWarehousePageParam.getAccountType());
+        }
+        if(ObjectUtil.isNotEmpty(qySecondlineWarehousePageParam.getAccountCode())) {
+            queryWrapper.lambda().like(QySecondlineWarehouse::getAccountCode, qySecondlineWarehousePageParam.getAccountCode());
+        }
+        if(ObjectUtil.isNotEmpty(qySecondlineWarehousePageParam.getCommodityCode())) {
+            queryWrapper.lambda().like(QySecondlineWarehouse::getCommodityCode, qySecondlineWarehousePageParam.getCommodityCode());
+        }
+        if(ObjectUtil.isNotEmpty(qySecondlineWarehousePageParam.getCommodityName())) {
+            queryWrapper.lambda().like(QySecondlineWarehouse::getCommodityName, qySecondlineWarehousePageParam.getCommodityName());
+        }
+        if(ObjectUtil.isNotEmpty(qySecondlineWarehousePageParam.getBusinessType())) {
+            queryWrapper.lambda().eq(QySecondlineWarehouse::getBusinessType, qySecondlineWarehousePageParam.getBusinessType());
+        }
+        if(ObjectUtil.isNotEmpty(qySecondlineWarehousePageParam.getAccountNumber())) {
+            queryWrapper.lambda().le(QySecondlineWarehouse::getAccountNumber, qySecondlineWarehousePageParam.getAccountNumber());
+        }
+        if(ObjectUtil.isNotEmpty(qySecondlineWarehousePageParam.getMeasurementUnit())) {
+            queryWrapper.lambda().eq(QySecondlineWarehouse::getMeasurementUnit, qySecondlineWarehousePageParam.getMeasurementUnit());
+        }
+        if(ObjectUtil.isNotEmpty(qySecondlineWarehousePageParam.getSecondlineOutislandNumber())) {
+            queryWrapper.lambda().like(QySecondlineWarehouse::getSecondlineOutislandNumber, qySecondlineWarehousePageParam.getSecondlineOutislandNumber());
+        }
+        if(ObjectUtil.isNotEmpty(qySecondlineWarehousePageParam.getWarehouseNumber())) {
+            queryWrapper.lambda().like(QySecondlineWarehouse::getWarehouseNumber, qySecondlineWarehousePageParam.getWarehouseNumber());
+        }
+        if(ObjectUtil.isNotEmpty(qySecondlineWarehousePageParam.getStartWarehouseTime()) && ObjectUtil.isNotEmpty(qySecondlineWarehousePageParam.getEndWarehouseTime())) {
+            queryWrapper.lambda().between(QySecondlineWarehouse::getWarehouseTime, qySecondlineWarehousePageParam.getStartWarehouseTime(), qySecondlineWarehousePageParam.getEndWarehouseTime());
+        }
+        if(ObjectUtil.isNotEmpty(qySecondlineWarehousePageParam.getStartAccountTime()) && ObjectUtil.isNotEmpty(qySecondlineWarehousePageParam.getEndAccountTime())) {
+            queryWrapper.lambda().between(QySecondlineWarehouse::getAccountTime, qySecondlineWarehousePageParam.getStartAccountTime(), qySecondlineWarehousePageParam.getEndAccountTime());
+        }
+        if(ObjectUtil.isAllNotEmpty(qySecondlineWarehousePageParam.getSortField(), qySecondlineWarehousePageParam.getSortOrder())) {
+            CommonSortOrderEnum.validate(qySecondlineWarehousePageParam.getSortOrder());
+            queryWrapper.orderBy(true, qySecondlineWarehousePageParam.getSortOrder().equals(CommonSortOrderEnum.ASC.getValue()),
+                    StrUtil.toUnderlineCase(qySecondlineWarehousePageParam.getSortField()));
+        } else {
+            queryWrapper.lambda().orderByAsc(QySecondlineWarehouse::getId);
+        }
+        return this.page(CommonPageRequest.defaultPage(), queryWrapper);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void add(QySecondlineWarehouseAddParam qySecondlineWarehouseAddParam) {
+        QySecondlineWarehouse qySecondlineWarehouse = BeanUtil.toBean(qySecondlineWarehouseAddParam, QySecondlineWarehouse.class);
+        this.save(qySecondlineWarehouse);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void edit(QySecondlineWarehouseEditParam qySecondlineWarehouseEditParam) {
+        QySecondlineWarehouse qySecondlineWarehouse = this.queryEntity(qySecondlineWarehouseEditParam.getId());
+        BeanUtil.copyProperties(qySecondlineWarehouseEditParam, qySecondlineWarehouse);
+        this.updateById(qySecondlineWarehouse);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void delete(List<QySecondlineWarehouseIdParam> qySecondlineWarehouseIdParamList) {
+        // 执行删除
+        this.removeByIds(CollStreamUtil.toList(qySecondlineWarehouseIdParamList, QySecondlineWarehouseIdParam::getId));
+    }
+
+    @Override
+    public QySecondlineWarehouse detail(QySecondlineWarehouseIdParam qySecondlineWarehouseIdParam) {
+        return this.queryEntity(qySecondlineWarehouseIdParam.getId());
+    }
+
+    @Override
+    public QySecondlineWarehouse queryEntity(String id) {
+        QySecondlineWarehouse qySecondlineWarehouse = this.getById(id);
+        if(ObjectUtil.isEmpty(qySecondlineWarehouse)) {
+            throw new CommonException("二线出岛业务记账管理不存在,id值为:{}", id);
+        }
+        return qySecondlineWarehouse;
+    }
+}