新页面整箱领取

This commit is contained in:
zc
2026-03-24 14:55:12 +08:00
parent 8bacb6ec5e
commit c4f29d3ee5
12 changed files with 407 additions and 6 deletions

View File

@@ -0,0 +1,16 @@
package top.wms.admin.fullWorkOrder.mapper;
import top.continew.starter.data.mp.base.BaseMapper;
import top.wms.admin.fullWorkOrder.model.entity.FullWorkOrderDO;
import org.springframework.stereotype.Repository;
/**
* 整箱领取记录 Mapper
*
* @author zc
* @since 2026/03/24 09:36
*/
@Repository
public interface FullWorkOrderMapper extends BaseMapper<FullWorkOrderDO> {
}

View File

@@ -0,0 +1,43 @@
package top.wms.admin.fullWorkOrder.model.entity;
import lombok.Data;
import com.baomidou.mybatisplus.annotation.TableName;
import top.wms.admin.common.model.entity.BaseDO;
import java.io.Serial;
/**
* 整箱领取记录实体
*
* @author zc
* @since 2026/03/24 09:36
*/
@Data
@TableName("sys_full_work_order")
public class FullWorkOrderDO extends BaseDO {
@Serial
private static final long serialVersionUID = 1L;
/**
* 标题
*/
private String title;
/**
* 任务工单号
*/
private String orderNo;
/**
* 物料编码
*/
private String materialCode;
/**
* 图片地址
*/
private String imgUrl;
}

View File

@@ -0,0 +1,58 @@
package top.wms.admin.fullWorkOrder.model.query;
import cn.hutool.core.date.DatePattern;
import lombok.Data;
import io.swagger.v3.oas.annotations.media.Schema;
import org.springframework.format.annotation.DateTimeFormat;
import top.continew.starter.data.core.annotation.Query;
import top.continew.starter.data.core.enums.QueryType;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 整箱领取记录查询条件
*
* @author zc
* @since 2026/03/24 09:36
*/
@Data
@Schema(description = "整箱领取记录查询条件")
public class FullWorkOrderQuery implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 任务工单号
*/
@Schema(description = "任务工单号")
@Query(type = QueryType.EQ)
private String orderNo;
/**
* 物料编码
*/
@Schema(description = "物料编码")
@Query(type = QueryType.LIKE)
private String materialCode;
/**
* 创建人
*/
@Schema(description = "创建人")
@Query(type = QueryType.EQ)
private Long createUser;
/**
* 创建时间
*/
@Schema(description = "创建时间")
@DateTimeFormat(pattern = DatePattern.NORM_DATETIME_PATTERN)
@Query(type = QueryType.BETWEEN)
private List<Date> createTime;
}

View File

@@ -0,0 +1,56 @@
package top.wms.admin.fullWorkOrder.model.req;
import jakarta.validation.constraints.*;
import lombok.Data;
import io.swagger.v3.oas.annotations.media.Schema;
import org.hibernate.validator.constraints.Length;
import java.io.Serial;
import java.io.Serializable;
import java.time.*;
/**
* 创建或修改整箱领取记录参数
*
* @author zc
* @since 2026/03/24 09:36
*/
@Data
@Schema(description = "创建或修改整箱领取记录参数")
public class FullWorkOrderReq implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 标题
*/
@Schema(description = "标题")
private String title;
/**
* 任务工单号
*/
@Schema(description = "任务工单号")
private String orderNo;
/**
* 物料编码
*/
@Schema(description = "物料编码")
@NotBlank(message = "物料编码不能为空")
@Length(max = 255, message = "物料编码长度不能超过 {max} 个字符")
private String materialCode;
/**
* 图片地址
*/
@Schema(description = "图片地址")
@NotBlank(message = "图片未采集到")
@Length(max = 255, message = "图片地址长度不能超过 {max} 个字符")
private String imgUrl;
}

View File

@@ -0,0 +1,56 @@
package top.wms.admin.fullWorkOrder.model.resp;
import lombok.Data;
import io.swagger.v3.oas.annotations.media.Schema;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import top.wms.admin.common.model.resp.BaseDetailResp;
import java.io.Serial;
import java.time.*;
/**
* 整箱领取记录详情信息
*
* @author zc
* @since 2026/03/24 09:36
*/
@Data
@ExcelIgnoreUnannotated
@Schema(description = "整箱领取记录详情信息")
public class FullWorkOrderDetailResp extends BaseDetailResp {
@Serial
private static final long serialVersionUID = 1L;
/**
* 标题
*/
@Schema(description = "标题")
@ExcelProperty(value = "标题")
private String title;
/**
* 任务工单号
*/
@Schema(description = "任务工单号")
@ExcelProperty(value = "任务工单号")
private String orderNo;
/**
* 物料编码
*/
@Schema(description = "物料编码")
@ExcelProperty(value = "物料编码")
private String materialCode;
/**
* 图片地址
*/
@Schema(description = "图片地址")
@ExcelProperty(value = "图片地址")
private String imgUrl;
}

View File

@@ -0,0 +1,54 @@
package top.wms.admin.fullWorkOrder.model.resp;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import io.swagger.v3.oas.annotations.media.Schema;
import top.wms.admin.common.model.resp.BaseDetailResp;
import java.io.Serial;
import java.time.*;
/**
* 整箱领取记录信息
*
* @author zc
* @since 2026/03/24 09:36
*/
@Data
@Schema(description = "整箱领取记录信息")
public class FullWorkOrderResp extends BaseDetailResp {
@Serial
private static final long serialVersionUID = 1L;
/**
* 标题
*/
@Schema(description = "标题")
@ExcelProperty(value = "标题", order = 1)
private String title;
/**
* 任务工单号
*/
@Schema(description = "任务工单号")
@ExcelProperty(value = "任务工单号", order = 2)
private String orderNo;
/**
* 物料编码
*/
@Schema(description = "物料编码")
@ExcelProperty(value = "物料编码", order = 3)
private String materialCode;
/**
* 图片地址
*/
@Schema(description = "图片地址")
@ExcelProperty(value = "图片地址", order = 4)
private String imgUrl;
}

View File

@@ -0,0 +1,17 @@
package top.wms.admin.fullWorkOrder.service;
import top.continew.starter.extension.crud.service.BaseService;
import top.wms.admin.fullWorkOrder.model.query.FullWorkOrderQuery;
import top.wms.admin.fullWorkOrder.model.req.FullWorkOrderReq;
import top.wms.admin.fullWorkOrder.model.resp.FullWorkOrderDetailResp;
import top.wms.admin.fullWorkOrder.model.resp.FullWorkOrderResp;
/**
* 整箱领取记录业务接口
*
* @author zc
* @since 2026/03/24 09:36
*/
public interface FullWorkOrderService extends BaseService<FullWorkOrderResp, FullWorkOrderResp, FullWorkOrderQuery, FullWorkOrderReq> {
}

View File

@@ -0,0 +1,54 @@
package top.wms.admin.fullWorkOrder.service.impl;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import top.continew.starter.extension.crud.model.query.SortQuery;
import top.continew.starter.extension.crud.service.BaseServiceImpl;
import top.continew.starter.file.excel.util.ExcelUtils;
import top.wms.admin.common.context.UserContextHolder;
import top.wms.admin.fullWorkOrder.mapper.FullWorkOrderMapper;
import top.wms.admin.fullWorkOrder.model.entity.FullWorkOrderDO;
import top.wms.admin.fullWorkOrder.model.query.FullWorkOrderQuery;
import top.wms.admin.fullWorkOrder.model.req.FullWorkOrderReq;
import top.wms.admin.fullWorkOrder.model.resp.FullWorkOrderResp;
import top.wms.admin.fullWorkOrder.service.FullWorkOrderService;
import top.wms.admin.materialProcess.model.query.MaterialProcessQuery;
import top.wms.admin.materialProcess.model.resp.MaterialProcessResp;
import java.util.Date;
import java.util.List;
/**
* 整箱领取记录业务实现
*
* @author zc
* @since 2026/03/24 09:36
*/
@Service
@RequiredArgsConstructor
public class FullWorkOrderServiceImpl extends BaseServiceImpl<FullWorkOrderMapper, FullWorkOrderDO, FullWorkOrderResp, FullWorkOrderResp, FullWorkOrderQuery, FullWorkOrderReq> implements FullWorkOrderService {
@Override
public void beforeAdd(FullWorkOrderReq req) {
String timestamp = DateUtil.format(new Date(), "yyyyMMddHHmmss");
String randomNum = String.format("%06d", (int)(Math.random() * 1000000));
req.setOrderNo(timestamp + randomNum);
String title = DateUtil.format(new Date(), DatePattern.CHINESE_DATE_PATTERN) + "-" + UserContextHolder
.getUsername();
req.setTitle(title);
}
@Override
public void export(FullWorkOrderQuery query, SortQuery sortQuery, HttpServletResponse response) {
List<FullWorkOrderResp> list = super.list(query, sortQuery, this.getDetailClass());
list.forEach(super::fill);
ExcelUtils.export(list, "整箱领取导出记录", FullWorkOrderResp.class, response);
}
}

View File

@@ -0,0 +1,4 @@
<?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="top.wms.admin.fullWorkOrder.mapper.FullWorkOrderMapper">
</mapper>