Browse Source

Merge remote-tracking branch 'origin/master'

heguanxun 10 months ago
parent
commit
bb324f8114
31 changed files with 1479 additions and 8 deletions
  1. 14 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfd/controller/QySecondlineHfdController.java
  2. 5 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfd/entity/QySecondlineHfd.java
  3. 5 2
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfd/param/QySecondlineHfdIdParam.java
  4. 3 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfd/service/QySecondlineHfdService.java
  5. 30 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfd/service/impl/QySecondlineHfdServiceImpl.java
  6. 20 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfd/vo/QySecondlineHfdBgInfoVo.java
  7. 174 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdcyc/controller/QySecondlineHfdCycController.java
  8. 76 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdcyc/entity/QySecondlineHfdCyc.java
  9. 34 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdcyc/enums/QySecondlineHfdCycEnum.java
  10. 25 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdcyc/mapper/QySecondlineHfdCycMapper.java
  11. 5 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdcyc/mapper/mapping/QySecondlineHfdCycMapper.xml
  12. 58 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdcyc/param/QySecondlineHfdCycAddParam.java
  13. 63 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdcyc/param/QySecondlineHfdCycEditParam.java
  14. 35 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdcyc/param/QySecondlineHfdCycIdParam.java
  15. 51 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdcyc/param/QySecondlineHfdCycPageParam.java
  16. 80 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdcyc/service/QySecondlineHfdCycService.java
  17. 94 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdcyc/service/impl/QySecondlineHfdCycServiceImpl.java
  18. 174 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdjzx/controller/QySecondlineHfdJzxController.java
  19. 76 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdjzx/entity/QySecondlineHfdJzx.java
  20. 34 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdjzx/enums/QySecondlineHfdJzxEnum.java
  21. 25 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdjzx/mapper/QySecondlineHfdJzxMapper.java
  22. 5 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdjzx/mapper/mapping/QySecondlineHfdJzxMapper.xml
  23. 58 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdjzx/param/QySecondlineHfdJzxAddParam.java
  24. 63 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdjzx/param/QySecondlineHfdJzxEditParam.java
  25. 35 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdjzx/param/QySecondlineHfdJzxIdParam.java
  26. 51 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdjzx/param/QySecondlineHfdJzxPageParam.java
  27. 80 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdjzx/service/QySecondlineHfdJzxService.java
  28. 94 0
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdjzx/service/impl/QySecondlineHfdJzxServiceImpl.java
  29. 2 1
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehzdtz/controller/QySecondlineHzdTzController.java
  30. 2 1
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehzdtz/service/QySecondlineHzdTzService.java
  31. 8 4
      snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehzdtz/service/impl/QySecondlineHzdTzServiceImpl.java

+ 14 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfd/controller/QySecondlineHfdController.java

@@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 import vip.xiaonuo.biz.modular.qysecondlinehfd.param.*;
+import vip.xiaonuo.biz.modular.qysecondlinehfd.vo.QySecondlineHfdBgInfoVo;
 import vip.xiaonuo.biz.modular.qysecondlinehfd.vo.QySecondlineHfdDetailVo;
 import vip.xiaonuo.common.annotation.CommonLog;
 import vip.xiaonuo.common.pojo.CommonResult;
@@ -169,4 +170,17 @@ public class QySecondlineHfdController {
     public CommonResult<QySecondlineHfdDetailVo> detail(@Valid QySecondlineHfdIdParam qySecondlineHfdIdParam) {
         return CommonResult.data(qySecondlineHfdService.detail(qySecondlineHfdIdParam));
     }
+
+    /**
+     * 获取二线出区核放单管理详情
+     *
+     * @author wenjinbiao
+     * @date  2024/07/06 11:58
+     */
+    @Operation(summary = "根据核放单报关编号获取信息")
+//    @SaCheckPermission("/biz/qysecondlinehfd/getHfdBgInfoByBgCode")
+    @GetMapping("/biz/qysecondlinehfd/getHfdBgInfoByBgCode")
+    public CommonResult<QySecondlineHfdBgInfoVo> getHfdBgInfoByBgCode(@Valid QySecondlineHfdIdParam qySecondlineHfdIdParam) {
+        return CommonResult.data(qySecondlineHfdService.getHfdBgInfoByBgCode(qySecondlineHfdIdParam.getHfdBgCode()));
+    }
 }

+ 5 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfd/entity/QySecondlineHfd.java

@@ -263,4 +263,9 @@ public class QySecondlineHfd {
     @ColumnWidth(12)
     @ExcelProperty(index = 37,value = " 备注")
     private String remark;
+
+    @Schema(description = "核放单报关单号")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 38,value = "核放单报关单号")
+    private String hfdBgCode;
 }

+ 5 - 2
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfd/param/QySecondlineHfdIdParam.java

@@ -29,7 +29,10 @@ import jakarta.validation.constraints.NotBlank;
 public class QySecondlineHfdIdParam {
 
     /** 主键 */
-    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED)
-    @NotBlank(message = "id不能为空")
+//    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED)
+//    @NotBlank(message = "id不能为空")
     private String id;
+
+    @Schema(description = "核放单报关编号")
+    private String hfdBgCode;
 }

+ 3 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfd/service/QySecondlineHfdService.java

@@ -16,6 +16,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import vip.xiaonuo.biz.modular.qysecondlinehfd.entity.QySecondlineHfd;
 import vip.xiaonuo.biz.modular.qysecondlinehfd.param.*;
+import vip.xiaonuo.biz.modular.qysecondlinehfd.vo.QySecondlineHfdBgInfoVo;
 import vip.xiaonuo.biz.modular.qysecondlinehfd.vo.QySecondlineHfdDetailVo;
 
 import java.util.List;
@@ -75,4 +76,6 @@ public interface QySecondlineHfdService extends IService<QySecondlineHfd> {
      * @date  2024/07/06 11:58
      **/
     QySecondlineHfd queryEntity(String id);
+
+    QySecondlineHfdBgInfoVo getHfdBgInfoByBgCode(String hfdBgCode);
 }

+ 30 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfd/service/impl/QySecondlineHfdServiceImpl.java

@@ -17,6 +17,7 @@ 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.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -25,13 +26,18 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import vip.xiaonuo.biz.modular.qysecondlinehfd.param.*;
+import vip.xiaonuo.biz.modular.qysecondlinehfd.vo.QySecondlineHfdBgInfoVo;
 import vip.xiaonuo.biz.modular.qysecondlinehfd.vo.QySecondlineHfdDetailVo;
 import vip.xiaonuo.biz.modular.qysecondlinehfdattachment.entity.QySecondlineHfdAttachment;
 import vip.xiaonuo.biz.modular.qysecondlinehfdattachment.param.QySecondlineHfdAttachmentAddParam;
 import vip.xiaonuo.biz.modular.qysecondlinehfdattachment.service.QySecondlineHfdAttachmentService;
+import vip.xiaonuo.biz.modular.qysecondlinehfdcyc.entity.QySecondlineHfdCyc;
+import vip.xiaonuo.biz.modular.qysecondlinehfdcyc.service.QySecondlineHfdCycService;
 import vip.xiaonuo.biz.modular.qysecondlinehfddz.entity.QySecondlineHfdDz;
 import vip.xiaonuo.biz.modular.qysecondlinehfddz.param.QySecondlineHfdDzAddParam;
 import vip.xiaonuo.biz.modular.qysecondlinehfddz.service.QySecondlineHfdDzService;
+import vip.xiaonuo.biz.modular.qysecondlinehfdjzx.entity.QySecondlineHfdJzx;
+import vip.xiaonuo.biz.modular.qysecondlinehfdjzx.service.QySecondlineHfdJzxService;
 import vip.xiaonuo.biz.modular.qysecondlinehfdlist.entity.QySecondlineHfdList;
 import vip.xiaonuo.biz.modular.qysecondlinehfdlist.service.QySecondlineHfdListService;
 import vip.xiaonuo.biz.modular.qysecondlinehfdproduct.entity.QySecondlineHfdProduct;
@@ -63,6 +69,10 @@ public class QySecondlineHfdServiceImpl extends ServiceImpl<QySecondlineHfdMappe
     private QySecondlineHfdAttachmentService qySecondlineHfdAttachmentService;
     @Autowired
     QySecondlineHfdListService qySecondlineHfdListService;
+    @Autowired
+    QySecondlineHfdCycService qySecondlineHfdCycService;
+    @Autowired
+    QySecondlineHfdJzxService qySecondlineHfdJzxService;
     @Override
     public Page<QySecondlineHfd> page(QySecondlineHfdPageParam qySecondlineHfdPageParam) {
         QueryWrapper<QySecondlineHfd> queryWrapper = new QueryWrapper<QySecondlineHfd>().checkSqlInjection();
@@ -240,4 +250,24 @@ public class QySecondlineHfdServiceImpl extends ServiceImpl<QySecondlineHfdMappe
             qySecondlineHfdAttachmentService.saveBatch(attachments);
         }
     }
+
+    @Override
+    public QySecondlineHfdBgInfoVo getHfdBgInfoByBgCode(String hfdBgCode){
+        QySecondlineHfdBgInfoVo bgInfoVo = new QySecondlineHfdBgInfoVo();
+        //承认运车信息
+        QueryWrapper<QySecondlineHfdCyc> cycQueryWrapper = new QueryWrapper<QySecondlineHfdCyc>().checkSqlInjection();
+        cycQueryWrapper.lambda().eq(QySecondlineHfdCyc::getHfdBgCode,hfdBgCode);
+        List<QySecondlineHfdCyc> cycList = qySecondlineHfdCycService.list(cycQueryWrapper);
+        if(CollectionUtil.isNotEmpty(cycList)){
+            QySecondlineHfdCyc hfdCyc = CollectionUtil.getFirst(cycList);
+            bgInfoVo.setCyc(hfdCyc);
+        }
+        //集装箱信息
+        QueryWrapper<QySecondlineHfdJzx> jzxQueryWrapper = new QueryWrapper<QySecondlineHfdJzx>().checkSqlInjection();
+        LambdaQueryWrapper<QySecondlineHfdJzx> hfdJzxQueryWrapper = jzxQueryWrapper.lambda().eq(QySecondlineHfdJzx::getHfdBgCode, hfdBgCode);
+        List<QySecondlineHfdJzx> jzxList = qySecondlineHfdJzxService.list(hfdJzxQueryWrapper);
+
+        bgInfoVo.setJzxList(jzxList);
+        return bgInfoVo;
+    }
 }

+ 20 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfd/vo/QySecondlineHfdBgInfoVo.java

@@ -0,0 +1,20 @@
+package vip.xiaonuo.biz.modular.qysecondlinehfd.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import vip.xiaonuo.biz.modular.qysecondlinehfdcyc.entity.QySecondlineHfdCyc;
+import vip.xiaonuo.biz.modular.qysecondlinehfdjzx.entity.QySecondlineHfdJzx;
+
+import java.util.List;
+
+@Getter
+@Setter
+public class QySecondlineHfdBgInfoVo {
+
+    @Schema(description = "承运车信息")
+    private QySecondlineHfdCyc cyc;
+
+    @Schema(description = "集装箱信息")
+    List<QySecondlineHfdJzx> jzxList;
+}

+ 174 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdcyc/controller/QySecondlineHfdCycController.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.qysecondlinehfdcyc.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.qysecondlinehfdcyc.entity.QySecondlineHfdCyc;
+import vip.xiaonuo.biz.modular.qysecondlinehfdcyc.param.QySecondlineHfdCycAddParam;
+import vip.xiaonuo.biz.modular.qysecondlinehfdcyc.param.QySecondlineHfdCycEditParam;
+import vip.xiaonuo.biz.modular.qysecondlinehfdcyc.param.QySecondlineHfdCycIdParam;
+import vip.xiaonuo.biz.modular.qysecondlinehfdcyc.param.QySecondlineHfdCycPageParam;
+import vip.xiaonuo.biz.modular.qysecondlinehfdcyc.service.QySecondlineHfdCycService;
+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/12 16:23
+ */
+@Tag(name = "二线出区核放单承运车信息控制器")
+@RestController
+@Validated
+public class QySecondlineHfdCycController {
+
+    @Resource
+    private QySecondlineHfdCycService qySecondlineHfdCycService;
+
+    /**
+     * 获取二线出区核放单承运车信息分页
+     *
+     * @author wenjinbiao
+     * @date  2024/07/12 16:23
+     */
+    @Operation(summary = "获取二线出区核放单承运车信息分页")
+    @SaCheckPermission("/biz/qysecondlinehfdcyc/page")
+    @GetMapping("/biz/qysecondlinehfdcyc/page")
+    public CommonResult<Page<QySecondlineHfdCyc>> page(QySecondlineHfdCycPageParam qySecondlineHfdCycPageParam) {
+        return CommonResult.data(qySecondlineHfdCycService.page(qySecondlineHfdCycPageParam));
+    }
+
+    /**
+     * 添加二线出区核放单承运车信息
+     *
+     * @author wenjinbiao
+     * @date  2024/07/12 16:23
+     */
+    @Operation(summary = "添加二线出区核放单承运车信息")
+    @CommonLog("添加二线出区核放单承运车信息")
+    @SaCheckPermission("/biz/qysecondlinehfdcyc/add")
+    @PostMapping("/biz/qysecondlinehfdcyc/add")
+    public CommonResult<String> add(@RequestBody @Valid QySecondlineHfdCycAddParam qySecondlineHfdCycAddParam) {
+        qySecondlineHfdCycService.add(qySecondlineHfdCycAddParam);
+        return CommonResult.ok();
+    }
+
+    /**
+     * 编辑二线出区核放单承运车信息
+     *
+     * @author wenjinbiao
+     * @date  2024/07/12 16:23
+     */
+    @Operation(summary = "编辑二线出区核放单承运车信息")
+    @CommonLog("编辑二线出区核放单承运车信息")
+    @SaCheckPermission("/biz/qysecondlinehfdcyc/edit")
+    @PostMapping("/biz/qysecondlinehfdcyc/edit")
+    public CommonResult<String> edit(@RequestBody @Valid QySecondlineHfdCycEditParam qySecondlineHfdCycEditParam) {
+        qySecondlineHfdCycService.edit(qySecondlineHfdCycEditParam);
+        return CommonResult.ok();
+    }
+
+    /**
+     * 导出二线出区核放单承运车信息
+     *
+     * @author wenjinbiao
+     * @date  2024/07/12 16:23
+     */
+    @Operation(summary = "导出二线出区核放单承运车信息")
+    @CommonLog("导出二线出区核放单承运车信息")
+    @SaCheckPermission("/biz/qysecondlinehfdcyc/export")
+    @PostMapping("/biz/qysecondlinehfdcyc/export")
+    public void export(@RequestBody @Valid QySecondlineHfdCycPageParam qySecondlineHfdCycPageParam, HttpServletResponse response) {
+        Page<QySecondlineHfdCyc> page =  qySecondlineHfdCycService.page(qySecondlineHfdCycPageParam);
+        List<QySecondlineHfdCyc> records = page.getRecords();
+        exportExcel(response,QySecondlineHfdCyc.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/12 16:23
+     */
+    @Operation(summary = "删除二线出区核放单承运车信息")
+    @CommonLog("删除二线出区核放单承运车信息")
+    @SaCheckPermission("/biz/qysecondlinehfdcyc/delete")
+    @PostMapping("/biz/qysecondlinehfdcyc/delete")
+    public CommonResult<String> delete(@RequestBody @Valid @NotEmpty(message = "集合不能为空")
+                                                   List<QySecondlineHfdCycIdParam> qySecondlineHfdCycIdParamList) {
+        qySecondlineHfdCycService.delete(qySecondlineHfdCycIdParamList);
+        return CommonResult.ok();
+    }
+
+    /**
+     * 获取二线出区核放单承运车信息详情
+     *
+     * @author wenjinbiao
+     * @date  2024/07/12 16:23
+     */
+    @Operation(summary = "获取二线出区核放单承运车信息详情")
+    @SaCheckPermission("/biz/qysecondlinehfdcyc/detail")
+    @GetMapping("/biz/qysecondlinehfdcyc/detail")
+    public CommonResult<QySecondlineHfdCyc> detail(@Valid QySecondlineHfdCycIdParam qySecondlineHfdCycIdParam) {
+        return CommonResult.data(qySecondlineHfdCycService.detail(qySecondlineHfdCycIdParam));
+    }
+}

+ 76 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdcyc/entity/QySecondlineHfdCyc.java

@@ -0,0 +1,76 @@
+/*
+ * 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.qysecondlinehfdcyc.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/12 16:23
+ **/
+@Getter
+@Setter
+@TableName("qy_secondline_hfd_cyc")
+public class QySecondlineHfdCyc {
+
+    /** 主键 */
+    @TableId
+    @Schema(description = "主键")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 0,value = "主键")
+    private String id;
+
+    /** 核放单报关单号 */
+    @Schema(description = "核放单报关单号")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 1,value = "核放单报关单号")
+    private String hfdBgCode;
+
+    /** 承运车车牌号 */
+    @Schema(description = "承运车车牌号")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 2,value = "承运车车牌号")
+    private String cyccph;
+
+    /** ic卡号 */
+    @Schema(description = "ic卡号")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 3,value = "ic卡号")
+    private String ickh;
+
+    /** 车架号 */
+    @Schema(description = "车架号")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 4,value = "车架号")
+    private String cjh;
+
+    /** 车架重 */
+    @Schema(description = "车架重")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 5,value = "车架重")
+    private String cjz;
+
+    /** 车自重 */
+    @Schema(description = "车自重")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 6,value = "车自重")
+    private String czz;
+}

+ 34 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdcyc/enums/QySecondlineHfdCycEnum.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.qysecondlinehfdcyc.enums;
+
+import lombok.Getter;
+
+/**
+ * 二线出区核放单承运车信息枚举
+ *
+ * @author wenjinbiao
+ * @date  2024/07/12 16:23
+ **/
+@Getter
+public enum QySecondlineHfdCycEnum {
+
+    /** 测试 */
+    TEST("TEST");
+
+    private final String value;
+
+    QySecondlineHfdCycEnum(String value) {
+        this.value = value;
+    }
+}

+ 25 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdcyc/mapper/QySecondlineHfdCycMapper.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.qysecondlinehfdcyc.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import vip.xiaonuo.biz.modular.qysecondlinehfdcyc.entity.QySecondlineHfdCyc;
+
+/**
+ * 二线出区核放单承运车信息Mapper接口
+ *
+ * @author wenjinbiao
+ * @date  2024/07/12 16:23
+ **/
+public interface QySecondlineHfdCycMapper extends BaseMapper<QySecondlineHfdCyc> {
+}

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

+ 58 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdcyc/param/QySecondlineHfdCycAddParam.java

@@ -0,0 +1,58 @@
+/*
+ * 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.qysecondlinehfdcyc.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/12 16:23
+ **/
+@Getter
+@Setter
+public class QySecondlineHfdCycAddParam {
+
+    /** 核放单报关单号 */
+    @Schema(description = "核放单报关单号")
+    private String hfdBgCode;
+
+    /** 承运车车牌号 */
+    @Schema(description = "承运车车牌号")
+    private String cyccph;
+
+    /** ic卡号 */
+    @Schema(description = "ic卡号")
+    private String ickh;
+
+    /** 车架号 */
+    @Schema(description = "车架号")
+    private String cjh;
+
+    /** 车架重 */
+    @Schema(description = "车架重")
+    private String cjz;
+
+    /** 车自重 */
+    @Schema(description = "车自重")
+    private String czz;
+
+}

+ 63 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdcyc/param/QySecondlineHfdCycEditParam.java

@@ -0,0 +1,63 @@
+/*
+ * 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.qysecondlinehfdcyc.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/12 16:23
+ **/
+@Getter
+@Setter
+public class QySecondlineHfdCycEditParam {
+
+    /** 主键 */
+    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotBlank(message = "id不能为空")
+    private String id;
+
+    /** 核放单报关单号 */
+    @Schema(description = "核放单报关单号")
+    private String hfdBgCode;
+
+    /** 承运车车牌号 */
+    @Schema(description = "承运车车牌号")
+    private String cyccph;
+
+    /** ic卡号 */
+    @Schema(description = "ic卡号")
+    private String ickh;
+
+    /** 车架号 */
+    @Schema(description = "车架号")
+    private String cjh;
+
+    /** 车架重 */
+    @Schema(description = "车架重")
+    private String cjz;
+
+    /** 车自重 */
+    @Schema(description = "车自重")
+    private String czz;
+
+}

+ 35 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdcyc/param/QySecondlineHfdCycIdParam.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.qysecondlinehfdcyc.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/12 16:23
+ **/
+@Getter
+@Setter
+public class QySecondlineHfdCycIdParam {
+
+    /** 主键 */
+    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotBlank(message = "id不能为空")
+    private String id;
+}

+ 51 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdcyc/param/QySecondlineHfdCycPageParam.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.qysecondlinehfdcyc.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/12 16:23
+ **/
+@Getter
+@Setter
+public class QySecondlineHfdCycPageParam {
+
+    /** 当前页 */
+    @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;
+
+}

+ 80 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdcyc/service/QySecondlineHfdCycService.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.qysecondlinehfdcyc.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import vip.xiaonuo.biz.modular.qysecondlinehfdcyc.entity.QySecondlineHfdCyc;
+import vip.xiaonuo.biz.modular.qysecondlinehfdcyc.param.QySecondlineHfdCycAddParam;
+import vip.xiaonuo.biz.modular.qysecondlinehfdcyc.param.QySecondlineHfdCycEditParam;
+import vip.xiaonuo.biz.modular.qysecondlinehfdcyc.param.QySecondlineHfdCycIdParam;
+import vip.xiaonuo.biz.modular.qysecondlinehfdcyc.param.QySecondlineHfdCycPageParam;
+
+import java.util.List;
+
+/**
+ * 二线出区核放单承运车信息Service接口
+ *
+ * @author wenjinbiao
+ * @date  2024/07/12 16:23
+ **/
+public interface QySecondlineHfdCycService extends IService<QySecondlineHfdCyc> {
+
+    /**
+     * 获取二线出区核放单承运车信息分页
+     *
+     * @author wenjinbiao
+     * @date  2024/07/12 16:23
+     */
+    Page<QySecondlineHfdCyc> page(QySecondlineHfdCycPageParam qySecondlineHfdCycPageParam);
+
+    /**
+     * 添加二线出区核放单承运车信息
+     *
+     * @author wenjinbiao
+     * @date  2024/07/12 16:23
+     */
+    void add(QySecondlineHfdCycAddParam qySecondlineHfdCycAddParam);
+
+    /**
+     * 编辑二线出区核放单承运车信息
+     *
+     * @author wenjinbiao
+     * @date  2024/07/12 16:23
+     */
+    void edit(QySecondlineHfdCycEditParam qySecondlineHfdCycEditParam);
+
+    /**
+     * 删除二线出区核放单承运车信息
+     *
+     * @author wenjinbiao
+     * @date  2024/07/12 16:23
+     */
+    void delete(List<QySecondlineHfdCycIdParam> qySecondlineHfdCycIdParamList);
+
+    /**
+     * 获取二线出区核放单承运车信息详情
+     *
+     * @author wenjinbiao
+     * @date  2024/07/12 16:23
+     */
+    QySecondlineHfdCyc detail(QySecondlineHfdCycIdParam qySecondlineHfdCycIdParam);
+
+    /**
+     * 获取二线出区核放单承运车信息详情
+     *
+     * @author wenjinbiao
+     * @date  2024/07/12 16:23
+     **/
+    QySecondlineHfdCyc queryEntity(String id);
+}

+ 94 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdcyc/service/impl/QySecondlineHfdCycServiceImpl.java

@@ -0,0 +1,94 @@
+/*
+ * 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.qysecondlinehfdcyc.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.qysecondlinehfdcyc.entity.QySecondlineHfdCyc;
+import vip.xiaonuo.biz.modular.qysecondlinehfdcyc.mapper.QySecondlineHfdCycMapper;
+import vip.xiaonuo.biz.modular.qysecondlinehfdcyc.param.QySecondlineHfdCycAddParam;
+import vip.xiaonuo.biz.modular.qysecondlinehfdcyc.param.QySecondlineHfdCycEditParam;
+import vip.xiaonuo.biz.modular.qysecondlinehfdcyc.param.QySecondlineHfdCycIdParam;
+import vip.xiaonuo.biz.modular.qysecondlinehfdcyc.param.QySecondlineHfdCycPageParam;
+import vip.xiaonuo.biz.modular.qysecondlinehfdcyc.service.QySecondlineHfdCycService;
+
+import java.util.List;
+
+/**
+ * 二线出区核放单承运车信息Service接口实现类
+ *
+ * @author wenjinbiao
+ * @date  2024/07/12 16:23
+ **/
+@Service
+public class QySecondlineHfdCycServiceImpl extends ServiceImpl<QySecondlineHfdCycMapper, QySecondlineHfdCyc> implements QySecondlineHfdCycService {
+
+    @Override
+    public Page<QySecondlineHfdCyc> page(QySecondlineHfdCycPageParam qySecondlineHfdCycPageParam) {
+        QueryWrapper<QySecondlineHfdCyc> queryWrapper = new QueryWrapper<QySecondlineHfdCyc>().checkSqlInjection();
+        if(ObjectUtil.isAllNotEmpty(qySecondlineHfdCycPageParam.getSortField(), qySecondlineHfdCycPageParam.getSortOrder())) {
+            CommonSortOrderEnum.validate(qySecondlineHfdCycPageParam.getSortOrder());
+            queryWrapper.orderBy(true, qySecondlineHfdCycPageParam.getSortOrder().equalsIgnoreCase(CommonSortOrderEnum.ASC.getValue()),
+                    StrUtil.toUnderlineCase(qySecondlineHfdCycPageParam.getSortField()));
+        } else {
+            queryWrapper.lambda().orderByAsc(QySecondlineHfdCyc::getId);
+        }
+        return this.page(CommonPageRequest.defaultPage(), queryWrapper);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void add(QySecondlineHfdCycAddParam qySecondlineHfdCycAddParam) {
+        QySecondlineHfdCyc qySecondlineHfdCyc = BeanUtil.toBean(qySecondlineHfdCycAddParam, QySecondlineHfdCyc.class);
+        this.save(qySecondlineHfdCyc);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void edit(QySecondlineHfdCycEditParam qySecondlineHfdCycEditParam) {
+        QySecondlineHfdCyc qySecondlineHfdCyc = this.queryEntity(qySecondlineHfdCycEditParam.getId());
+        BeanUtil.copyProperties(qySecondlineHfdCycEditParam, qySecondlineHfdCyc);
+        this.updateById(qySecondlineHfdCyc);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void delete(List<QySecondlineHfdCycIdParam> qySecondlineHfdCycIdParamList) {
+        // 执行删除
+        this.removeByIds(CollStreamUtil.toList(qySecondlineHfdCycIdParamList, QySecondlineHfdCycIdParam::getId));
+    }
+
+    @Override
+    public QySecondlineHfdCyc detail(QySecondlineHfdCycIdParam qySecondlineHfdCycIdParam) {
+        return this.queryEntity(qySecondlineHfdCycIdParam.getId());
+    }
+
+    @Override
+    public QySecondlineHfdCyc queryEntity(String id) {
+        QySecondlineHfdCyc qySecondlineHfdCyc = this.getById(id);
+        if(ObjectUtil.isEmpty(qySecondlineHfdCyc)) {
+            throw new CommonException("二线出区核放单承运车信息不存在,id值为:{}", id);
+        }
+        return qySecondlineHfdCyc;
+    }
+}

+ 174 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdjzx/controller/QySecondlineHfdJzxController.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.qysecondlinehfdjzx.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.qysecondlinehfdjzx.entity.QySecondlineHfdJzx;
+import vip.xiaonuo.biz.modular.qysecondlinehfdjzx.param.QySecondlineHfdJzxAddParam;
+import vip.xiaonuo.biz.modular.qysecondlinehfdjzx.param.QySecondlineHfdJzxEditParam;
+import vip.xiaonuo.biz.modular.qysecondlinehfdjzx.param.QySecondlineHfdJzxIdParam;
+import vip.xiaonuo.biz.modular.qysecondlinehfdjzx.param.QySecondlineHfdJzxPageParam;
+import vip.xiaonuo.biz.modular.qysecondlinehfdjzx.service.QySecondlineHfdJzxService;
+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/12 16:24
+ */
+@Tag(name = "二线出区核放单集装箱控制器")
+@RestController
+@Validated
+public class QySecondlineHfdJzxController {
+
+    @Resource
+    private QySecondlineHfdJzxService qySecondlineHfdJzxService;
+
+    /**
+     * 获取二线出区核放单集装箱分页
+     *
+     * @author wenjinbiao
+     * @date  2024/07/12 16:24
+     */
+    @Operation(summary = "获取二线出区核放单集装箱分页")
+    @SaCheckPermission("/biz/qysecondlinehfdjzx/page")
+    @GetMapping("/biz/qysecondlinehfdjzx/page")
+    public CommonResult<Page<QySecondlineHfdJzx>> page(QySecondlineHfdJzxPageParam qySecondlineHfdJzxPageParam) {
+        return CommonResult.data(qySecondlineHfdJzxService.page(qySecondlineHfdJzxPageParam));
+    }
+
+    /**
+     * 添加二线出区核放单集装箱
+     *
+     * @author wenjinbiao
+     * @date  2024/07/12 16:24
+     */
+    @Operation(summary = "添加二线出区核放单集装箱")
+    @CommonLog("添加二线出区核放单集装箱")
+    @SaCheckPermission("/biz/qysecondlinehfdjzx/add")
+    @PostMapping("/biz/qysecondlinehfdjzx/add")
+    public CommonResult<String> add(@RequestBody @Valid QySecondlineHfdJzxAddParam qySecondlineHfdJzxAddParam) {
+        qySecondlineHfdJzxService.add(qySecondlineHfdJzxAddParam);
+        return CommonResult.ok();
+    }
+
+    /**
+     * 编辑二线出区核放单集装箱
+     *
+     * @author wenjinbiao
+     * @date  2024/07/12 16:24
+     */
+    @Operation(summary = "编辑二线出区核放单集装箱")
+    @CommonLog("编辑二线出区核放单集装箱")
+    @SaCheckPermission("/biz/qysecondlinehfdjzx/edit")
+    @PostMapping("/biz/qysecondlinehfdjzx/edit")
+    public CommonResult<String> edit(@RequestBody @Valid QySecondlineHfdJzxEditParam qySecondlineHfdJzxEditParam) {
+        qySecondlineHfdJzxService.edit(qySecondlineHfdJzxEditParam);
+        return CommonResult.ok();
+    }
+
+    /**
+     * 导出二线出区核放单集装箱
+     *
+     * @author wenjinbiao
+     * @date  2024/07/12 16:24
+     */
+    @Operation(summary = "导出二线出区核放单集装箱")
+    @CommonLog("导出二线出区核放单集装箱")
+    @SaCheckPermission("/biz/qysecondlinehfdjzx/export")
+    @PostMapping("/biz/qysecondlinehfdjzx/export")
+    public void export(@RequestBody @Valid QySecondlineHfdJzxPageParam qySecondlineHfdJzxPageParam, HttpServletResponse response) {
+        Page<QySecondlineHfdJzx> page =  qySecondlineHfdJzxService.page(qySecondlineHfdJzxPageParam);
+        List<QySecondlineHfdJzx> records = page.getRecords();
+        exportExcel(response,QySecondlineHfdJzx.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/12 16:24
+     */
+    @Operation(summary = "删除二线出区核放单集装箱")
+    @CommonLog("删除二线出区核放单集装箱")
+    @SaCheckPermission("/biz/qysecondlinehfdjzx/delete")
+    @PostMapping("/biz/qysecondlinehfdjzx/delete")
+    public CommonResult<String> delete(@RequestBody @Valid @NotEmpty(message = "集合不能为空")
+                                                   List<QySecondlineHfdJzxIdParam> qySecondlineHfdJzxIdParamList) {
+        qySecondlineHfdJzxService.delete(qySecondlineHfdJzxIdParamList);
+        return CommonResult.ok();
+    }
+
+    /**
+     * 获取二线出区核放单集装箱详情
+     *
+     * @author wenjinbiao
+     * @date  2024/07/12 16:24
+     */
+    @Operation(summary = "获取二线出区核放单集装箱详情")
+    @SaCheckPermission("/biz/qysecondlinehfdjzx/detail")
+    @GetMapping("/biz/qysecondlinehfdjzx/detail")
+    public CommonResult<QySecondlineHfdJzx> detail(@Valid QySecondlineHfdJzxIdParam qySecondlineHfdJzxIdParam) {
+        return CommonResult.data(qySecondlineHfdJzxService.detail(qySecondlineHfdJzxIdParam));
+    }
+}

+ 76 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdjzx/entity/QySecondlineHfdJzx.java

@@ -0,0 +1,76 @@
+/*
+ * 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.qysecondlinehfdjzx.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/12 16:24
+ **/
+@Getter
+@Setter
+@TableName("qy_secondline_hfd_jzx")
+public class QySecondlineHfdJzx {
+
+    /** 主键 */
+    @TableId
+    @Schema(description = "主键")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 0,value = "主键")
+    private String id;
+
+    /** 核放单报关编号 */
+    @Schema(description = "核放单报关编号")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 1,value = "核放单报关编号")
+    private String hfdBgCode;
+
+    /** 集装箱号 */
+    @Schema(description = "集装箱号")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 2,value = "集装箱号")
+    private String jzxh;
+
+    /** 集装箱类型 */
+    @Schema(description = "集装箱类型")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 3,value = "集装箱类型")
+    private String jzxlx;
+
+    /** 总重量 */
+    @Schema(description = "总重量")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 4,value = "总重量")
+    private String zzl;
+
+    /** 货物毛重量 */
+    @Schema(description = "货物毛重量")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 5,value = "货物毛重量")
+    private String hwmzl;
+
+    /** 货物总净重 */
+    @Schema(description = "货物总净重")
+    @ColumnWidth(12)
+    @ExcelProperty(index = 6,value = "货物总净重")
+    private String hwjzl;
+}

+ 34 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdjzx/enums/QySecondlineHfdJzxEnum.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.qysecondlinehfdjzx.enums;
+
+import lombok.Getter;
+
+/**
+ * 二线出区核放单集装箱枚举
+ *
+ * @author wenjinbiao
+ * @date  2024/07/12 16:24
+ **/
+@Getter
+public enum QySecondlineHfdJzxEnum {
+
+    /** 测试 */
+    TEST("TEST");
+
+    private final String value;
+
+    QySecondlineHfdJzxEnum(String value) {
+        this.value = value;
+    }
+}

+ 25 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdjzx/mapper/QySecondlineHfdJzxMapper.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.qysecondlinehfdjzx.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import vip.xiaonuo.biz.modular.qysecondlinehfdjzx.entity.QySecondlineHfdJzx;
+
+/**
+ * 二线出区核放单集装箱Mapper接口
+ *
+ * @author wenjinbiao
+ * @date  2024/07/12 16:24
+ **/
+public interface QySecondlineHfdJzxMapper extends BaseMapper<QySecondlineHfdJzx> {
+}

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

+ 58 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdjzx/param/QySecondlineHfdJzxAddParam.java

@@ -0,0 +1,58 @@
+/*
+ * 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.qysecondlinehfdjzx.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/12 16:24
+ **/
+@Getter
+@Setter
+public class QySecondlineHfdJzxAddParam {
+
+    /** 核放单报关编号 */
+    @Schema(description = "核放单报关编号")
+    private String hfdBgCode;
+
+    /** 集装箱号 */
+    @Schema(description = "集装箱号")
+    private String jzxh;
+
+    /** 集装箱类型 */
+    @Schema(description = "集装箱类型")
+    private String jzxlx;
+
+    /** 总重量 */
+    @Schema(description = "总重量")
+    private String zzl;
+
+    /** 货物毛重量 */
+    @Schema(description = "货物毛重量")
+    private String hwmzl;
+
+    /** 货物总净重 */
+    @Schema(description = "货物总净重")
+    private String hwjzl;
+
+}

+ 63 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdjzx/param/QySecondlineHfdJzxEditParam.java

@@ -0,0 +1,63 @@
+/*
+ * 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.qysecondlinehfdjzx.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/12 16:24
+ **/
+@Getter
+@Setter
+public class QySecondlineHfdJzxEditParam {
+
+    /** 主键 */
+    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotBlank(message = "id不能为空")
+    private String id;
+
+    /** 核放单报关编号 */
+    @Schema(description = "核放单报关编号")
+    private String hfdBgCode;
+
+    /** 集装箱号 */
+    @Schema(description = "集装箱号")
+    private String jzxh;
+
+    /** 集装箱类型 */
+    @Schema(description = "集装箱类型")
+    private String jzxlx;
+
+    /** 总重量 */
+    @Schema(description = "总重量")
+    private String zzl;
+
+    /** 货物毛重量 */
+    @Schema(description = "货物毛重量")
+    private String hwmzl;
+
+    /** 货物总净重 */
+    @Schema(description = "货物总净重")
+    private String hwjzl;
+
+}

+ 35 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdjzx/param/QySecondlineHfdJzxIdParam.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.qysecondlinehfdjzx.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/12 16:24
+ **/
+@Getter
+@Setter
+public class QySecondlineHfdJzxIdParam {
+
+    /** 主键 */
+    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotBlank(message = "id不能为空")
+    private String id;
+}

+ 51 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdjzx/param/QySecondlineHfdJzxPageParam.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.qysecondlinehfdjzx.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/12 16:24
+ **/
+@Getter
+@Setter
+public class QySecondlineHfdJzxPageParam {
+
+    /** 当前页 */
+    @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;
+
+}

+ 80 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdjzx/service/QySecondlineHfdJzxService.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.qysecondlinehfdjzx.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import vip.xiaonuo.biz.modular.qysecondlinehfdjzx.entity.QySecondlineHfdJzx;
+import vip.xiaonuo.biz.modular.qysecondlinehfdjzx.param.QySecondlineHfdJzxAddParam;
+import vip.xiaonuo.biz.modular.qysecondlinehfdjzx.param.QySecondlineHfdJzxEditParam;
+import vip.xiaonuo.biz.modular.qysecondlinehfdjzx.param.QySecondlineHfdJzxIdParam;
+import vip.xiaonuo.biz.modular.qysecondlinehfdjzx.param.QySecondlineHfdJzxPageParam;
+
+import java.util.List;
+
+/**
+ * 二线出区核放单集装箱Service接口
+ *
+ * @author wenjinbiao
+ * @date  2024/07/12 16:24
+ **/
+public interface QySecondlineHfdJzxService extends IService<QySecondlineHfdJzx> {
+
+    /**
+     * 获取二线出区核放单集装箱分页
+     *
+     * @author wenjinbiao
+     * @date  2024/07/12 16:24
+     */
+    Page<QySecondlineHfdJzx> page(QySecondlineHfdJzxPageParam qySecondlineHfdJzxPageParam);
+
+    /**
+     * 添加二线出区核放单集装箱
+     *
+     * @author wenjinbiao
+     * @date  2024/07/12 16:24
+     */
+    void add(QySecondlineHfdJzxAddParam qySecondlineHfdJzxAddParam);
+
+    /**
+     * 编辑二线出区核放单集装箱
+     *
+     * @author wenjinbiao
+     * @date  2024/07/12 16:24
+     */
+    void edit(QySecondlineHfdJzxEditParam qySecondlineHfdJzxEditParam);
+
+    /**
+     * 删除二线出区核放单集装箱
+     *
+     * @author wenjinbiao
+     * @date  2024/07/12 16:24
+     */
+    void delete(List<QySecondlineHfdJzxIdParam> qySecondlineHfdJzxIdParamList);
+
+    /**
+     * 获取二线出区核放单集装箱详情
+     *
+     * @author wenjinbiao
+     * @date  2024/07/12 16:24
+     */
+    QySecondlineHfdJzx detail(QySecondlineHfdJzxIdParam qySecondlineHfdJzxIdParam);
+
+    /**
+     * 获取二线出区核放单集装箱详情
+     *
+     * @author wenjinbiao
+     * @date  2024/07/12 16:24
+     **/
+    QySecondlineHfdJzx queryEntity(String id);
+}

+ 94 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehfdjzx/service/impl/QySecondlineHfdJzxServiceImpl.java

@@ -0,0 +1,94 @@
+/*
+ * 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.qysecondlinehfdjzx.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.qysecondlinehfdjzx.entity.QySecondlineHfdJzx;
+import vip.xiaonuo.biz.modular.qysecondlinehfdjzx.mapper.QySecondlineHfdJzxMapper;
+import vip.xiaonuo.biz.modular.qysecondlinehfdjzx.param.QySecondlineHfdJzxAddParam;
+import vip.xiaonuo.biz.modular.qysecondlinehfdjzx.param.QySecondlineHfdJzxEditParam;
+import vip.xiaonuo.biz.modular.qysecondlinehfdjzx.param.QySecondlineHfdJzxIdParam;
+import vip.xiaonuo.biz.modular.qysecondlinehfdjzx.param.QySecondlineHfdJzxPageParam;
+import vip.xiaonuo.biz.modular.qysecondlinehfdjzx.service.QySecondlineHfdJzxService;
+
+import java.util.List;
+
+/**
+ * 二线出区核放单集装箱Service接口实现类
+ *
+ * @author wenjinbiao
+ * @date  2024/07/12 16:24
+ **/
+@Service
+public class QySecondlineHfdJzxServiceImpl extends ServiceImpl<QySecondlineHfdJzxMapper, QySecondlineHfdJzx> implements QySecondlineHfdJzxService {
+
+    @Override
+    public Page<QySecondlineHfdJzx> page(QySecondlineHfdJzxPageParam qySecondlineHfdJzxPageParam) {
+        QueryWrapper<QySecondlineHfdJzx> queryWrapper = new QueryWrapper<QySecondlineHfdJzx>().checkSqlInjection();
+        if(ObjectUtil.isAllNotEmpty(qySecondlineHfdJzxPageParam.getSortField(), qySecondlineHfdJzxPageParam.getSortOrder())) {
+            CommonSortOrderEnum.validate(qySecondlineHfdJzxPageParam.getSortOrder());
+            queryWrapper.orderBy(true, qySecondlineHfdJzxPageParam.getSortOrder().equalsIgnoreCase(CommonSortOrderEnum.ASC.getValue()),
+                    StrUtil.toUnderlineCase(qySecondlineHfdJzxPageParam.getSortField()));
+        } else {
+            queryWrapper.lambda().orderByAsc(QySecondlineHfdJzx::getId);
+        }
+        return this.page(CommonPageRequest.defaultPage(), queryWrapper);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void add(QySecondlineHfdJzxAddParam qySecondlineHfdJzxAddParam) {
+        QySecondlineHfdJzx qySecondlineHfdJzx = BeanUtil.toBean(qySecondlineHfdJzxAddParam, QySecondlineHfdJzx.class);
+        this.save(qySecondlineHfdJzx);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void edit(QySecondlineHfdJzxEditParam qySecondlineHfdJzxEditParam) {
+        QySecondlineHfdJzx qySecondlineHfdJzx = this.queryEntity(qySecondlineHfdJzxEditParam.getId());
+        BeanUtil.copyProperties(qySecondlineHfdJzxEditParam, qySecondlineHfdJzx);
+        this.updateById(qySecondlineHfdJzx);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void delete(List<QySecondlineHfdJzxIdParam> qySecondlineHfdJzxIdParamList) {
+        // 执行删除
+        this.removeByIds(CollStreamUtil.toList(qySecondlineHfdJzxIdParamList, QySecondlineHfdJzxIdParam::getId));
+    }
+
+    @Override
+    public QySecondlineHfdJzx detail(QySecondlineHfdJzxIdParam qySecondlineHfdJzxIdParam) {
+        return this.queryEntity(qySecondlineHfdJzxIdParam.getId());
+    }
+
+    @Override
+    public QySecondlineHfdJzx queryEntity(String id) {
+        QySecondlineHfdJzx qySecondlineHfdJzx = this.getById(id);
+        if(ObjectUtil.isEmpty(qySecondlineHfdJzx)) {
+            throw new CommonException("二线出区核放单集装箱不存在,id值为:{}", id);
+        }
+        return qySecondlineHfdJzx;
+    }
+}

+ 2 - 1
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehzdtz/controller/QySecondlineHzdTzController.java

@@ -25,6 +25,7 @@ import org.springframework.web.bind.annotation.RestController;
 import vip.xiaonuo.biz.modular.qyrecardbody.entity.QyRecardBody;
 import vip.xiaonuo.biz.modular.qyrecardbody.param.QyRecardBodyIdParam;
 import vip.xiaonuo.biz.modular.qyrecordinfo.entity.QyRecordInfo;
+import vip.xiaonuo.biz.modular.qyrecordproduct.entity.QyRecordProduct;
 import vip.xiaonuo.biz.modular.qysecondlinehzdlist.entity.QySecondlineHzdList;
 import vip.xiaonuo.biz.modular.qysecondlinehzdproduct.entity.QySecondlineHzdProduct;
 import vip.xiaonuo.biz.modular.qysecondlinehzdtz.param.*;
@@ -214,7 +215,7 @@ public class QySecondlineHzdTzController {
     @Operation(summary = "根据企业id获取商品信息")
 //    @SaCheckPermission("/biz/qysecondlinehzdtz/detail")
     @GetMapping("/biz/qysecondlinehzdtz/qyProductById")
-    public CommonResult<List<QyRecardBody>> qyProductById(@Valid QyRecardBodyIdParam qyRecardBodyIdParam) {
+    public CommonResult<List<QyRecordProduct>> qyProductById(@Valid QyRecardBodyIdParam qyRecardBodyIdParam) {
         return CommonResult.data(qySecondlineHzdTzService.qyProductById(qyRecardBodyIdParam));
     }
 }

+ 2 - 1
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehzdtz/service/QySecondlineHzdTzService.java

@@ -17,6 +17,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import vip.xiaonuo.biz.modular.qyrecardbody.entity.QyRecardBody;
 import vip.xiaonuo.biz.modular.qyrecardbody.param.QyRecardBodyIdParam;
 import vip.xiaonuo.biz.modular.qyrecordinfo.entity.QyRecordInfo;
+import vip.xiaonuo.biz.modular.qyrecordproduct.entity.QyRecordProduct;
 import vip.xiaonuo.biz.modular.qysecondlinehzdlist.entity.QySecondlineHzdList;
 import vip.xiaonuo.biz.modular.qysecondlinehzdproduct.entity.QySecondlineHzdProduct;
 import vip.xiaonuo.biz.modular.qysecondlinehzdtz.entity.QySecondlineHzdTz;
@@ -91,5 +92,5 @@ public interface QySecondlineHzdTzService extends IService<QySecondlineHzdTz> {
 
     List<QyRecordInfo> qyRecordInfo();
 
-    List<QyRecardBody> qyProductById(QyRecardBodyIdParam qyRecardBodyIdParam);
+    List<QyRecordProduct> qyProductById(QyRecardBodyIdParam qyRecardBodyIdParam);
 }

+ 8 - 4
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/qysecondlinehzdtz/service/impl/QySecondlineHzdTzServiceImpl.java

@@ -31,6 +31,8 @@ import vip.xiaonuo.biz.modular.qyrecardbody.param.QyRecardBodyIdParam;
 import vip.xiaonuo.biz.modular.qyrecardbody.service.QyRecardBodyService;
 import vip.xiaonuo.biz.modular.qyrecordinfo.entity.QyRecordInfo;
 import vip.xiaonuo.biz.modular.qyrecordinfo.service.QyRecordInfoService;
+import vip.xiaonuo.biz.modular.qyrecordproduct.entity.QyRecordProduct;
+import vip.xiaonuo.biz.modular.qyrecordproduct.service.QyRecordProductService;
 import vip.xiaonuo.biz.modular.qysecondlinehfdproduct.entity.QySecondlineHfdProduct;
 import vip.xiaonuo.biz.modular.qysecondlinehfdproduct.service.QySecondlineHfdProductService;
 import vip.xiaonuo.biz.modular.qysecondlinehzdattachment.entity.QySecondlineHzdAttachment;
@@ -71,6 +73,8 @@ public class QySecondlineHzdTzServiceImpl extends ServiceImpl<QySecondlineHzdTzM
     private QyRecordInfoService qyRecordInfoService;
     @Autowired
     private QyRecardBodyService qyRecardBodyService;
+    @Autowired
+    private QyRecordProductService qyRecordProductService;
     @Override
     public Page<QySecondlineHzdTz> page(QySecondlineHzdTzPageParam qySecondlineHzdTzPageParam) {
         QueryWrapper<QySecondlineHzdTz> queryWrapper = new QueryWrapper<QySecondlineHzdTz>().checkSqlInjection();
@@ -279,10 +283,10 @@ public class QySecondlineHzdTzServiceImpl extends ServiceImpl<QySecondlineHzdTzM
     }
 
     @Override
-    public List<QyRecardBody> qyProductById(QyRecardBodyIdParam qyRecardBodyIdParam){
-        QueryWrapper<QyRecardBody> queryWrapper = new QueryWrapper<QyRecardBody>().checkSqlInjection();
-        queryWrapper.lambda().eq(QyRecardBody::getQyRecordInfoId,qyRecardBodyIdParam.getId());
-        List<QyRecardBody> list = qyRecardBodyService.list(queryWrapper);
+    public List<QyRecordProduct> qyProductById(QyRecardBodyIdParam qyRecardBodyIdParam){
+        QueryWrapper<QyRecordProduct> queryWrapper = new QueryWrapper<QyRecordProduct>().checkSqlInjection();
+        queryWrapper.lambda().eq(QyRecordProduct::getQyRecordInfoId,qyRecardBodyIdParam.getId());
+        List<QyRecordProduct> list = qyRecordProductService.list(queryWrapper);
         return list;
     }