优化称重

This commit is contained in:
zc
2026-03-03 17:58:57 +08:00
parent 15af775af4
commit b98a0f06ba
11 changed files with 361 additions and 51 deletions

View File

@@ -0,0 +1,24 @@
package top.wms.admin.weighManage.mapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import top.continew.starter.data.mp.base.BaseMapper;
import top.wms.admin.weighManage.model.entity.WorkOrderDO;
import org.springframework.stereotype.Repository;
import top.wms.admin.weighManage.model.resp.WorkOrderResp;
/**
* 任务工单信息 Mapper
*
* @author zc
* @since 2026/03/03 17:09
*/
@Repository
public interface WorkOrderMapper extends BaseMapper<WorkOrderDO> {
IPage<WorkOrderResp> selectWorkOrderPage(@Param("page") Page<Object> objectPage, @Param(Constants.WRAPPER) QueryWrapper<WorkOrderDO> queryWrapper);
}

View File

@@ -0,0 +1,44 @@
package top.wms.admin.weighManage.model.entity;
import lombok.Data;
import com.baomidou.mybatisplus.annotation.TableName;
import top.wms.admin.common.model.entity.BaseDO;
import java.io.Serial;
import java.math.BigDecimal;
/**
* 任务工单信息实体
*
* @author zc
* @since 2026/03/03 17:09
*/
@Data
@TableName("sys_work_order")
public class WorkOrderDO extends BaseDO {
@Serial
private static final long serialVersionUID = 1L;
/**
* 标题
*/
private String title;
/**
* 任务工单号
*/
private String orderNo;
/**
* 物料主键id
*/
private Long materialId;
/**
* 总重量
*/
private BigDecimal totalWeight;
}

View File

@@ -0,0 +1,57 @@
package top.wms.admin.weighManage.model.query;
import lombok.Data;
import io.swagger.v3.oas.annotations.media.Schema;
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.time.*;
import java.math.BigDecimal;
/**
* 任务工单信息查询条件
*
* @author zc
* @since 2026/03/03 17:09
*/
@Data
@Schema(description = "任务工单信息查询条件")
public class WorkOrderQuery implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 总重量
*/
@Schema(description = "总重量")
private BigDecimal totalWeight;
/**
* 任务工单号
*/
@Schema(description = "任务工单号")
private String orderNo;
/**
* 物料名称
*/
@Schema(description = "物料名称")
private String materialName;
/**
* 创建人
*/
@Schema(description = "创建人")
private Long createUser;
/**
* 创建时间
*/
@Schema(description = "创建时间")
private LocalDateTime createTime;
}

View File

@@ -0,0 +1,49 @@
package top.wms.admin.weighManage.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.*;
import java.math.BigDecimal;
/**
* 创建或修改任务工单信息参数
*
* @author zc
* @since 2026/03/03 17:09
*/
@Data
@Schema(description = "创建或修改任务工单信息参数")
public class WorkOrderReq implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 总重量
*/
@Schema(description = "总重量")
@NotNull(message = "总重量不能为空")
private BigDecimal totalWeight;
/**
* 创建人
*/
@Schema(description = "创建人")
@NotNull(message = "创建人不能为空")
private Long createUser;
/**
* 创建时间
*/
@Schema(description = "创建时间")
@NotNull(message = "创建时间不能为空")
private LocalDateTime createTime;
}

View File

@@ -1,14 +0,0 @@
package top.wms.admin.weighManage.model.resp;
import lombok.Data;
@Data
public class MaterialResp {
private Long id;
private String materialCode;
private String materialName;
private String materialSpec;
private String weight;
private String imageUrl;
}

View File

@@ -0,0 +1,85 @@
package top.wms.admin.weighManage.model.resp;
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.*;
import java.math.BigDecimal;
/**
* 任务工单信息信息
*
* @author zc
* @since 2026/03/03 17:09
*/
@Data
@Schema(description = "任务工单信息信息")
public class WorkOrderResp extends BaseDetailResp {
@Serial
private static final long serialVersionUID = 1L;
/**
* 标题
*/
@Schema(description = "标题")
private String title;
/**
* 物料主键id
*/
@Schema(description = "物料主键id")
private Long materialId;
/**
* 物料名称
*/
@Schema(description = "物料名称")
private String materialName;
/**
* 物料编码
*/
@Schema(description = "物料编码")
private String encoding;
/**
* 物料单位重量
*/
@Schema(description = "物料单位重量")
private BigDecimal unitWeight;
/**
* 物料规格
*/
@Schema(description = "物料规格")
private String materialSpec;
/**
* 物料图片
*/
@Schema(description = "物料图片")
private String photoUrl;
/**
* 总重量
*/
@Schema(description = "总重量")
private BigDecimal totalWeight;
/**
* 修改人
*/
@Schema(description = "修改人")
private Long updateUser;
/**
* 修改时间
*/
@Schema(description = "修改时间")
private LocalDateTime updateTime;
}

View File

@@ -0,0 +1,16 @@
package top.wms.admin.weighManage.service;
import top.continew.starter.extension.crud.service.BaseService;
import top.wms.admin.weighManage.model.query.WorkOrderQuery;
import top.wms.admin.weighManage.model.req.WorkOrderReq;
import top.wms.admin.weighManage.model.resp.WorkOrderResp;
/**
* 任务工单信息业务接口
*
* @author zc
* @since 2026/03/03 17:09
*/
public interface WorkOrderService extends BaseService<WorkOrderResp, WorkOrderResp, WorkOrderQuery, WorkOrderReq> {
}

View File

@@ -0,0 +1,43 @@
package top.wms.admin.weighManage.service.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import top.continew.starter.extension.crud.model.query.PageQuery;
import top.continew.starter.extension.crud.model.resp.PageResp;
import top.continew.starter.extension.crud.service.BaseServiceImpl;
import top.wms.admin.weighManage.mapper.WorkOrderMapper;
import top.wms.admin.weighManage.model.entity.WorkOrderDO;
import top.wms.admin.weighManage.model.query.WorkOrderQuery;
import top.wms.admin.weighManage.model.req.WorkOrderReq;
import top.wms.admin.weighManage.model.resp.WorkOrderResp;
import top.wms.admin.weighManage.service.WorkOrderService;
/**
* 任务工单信息业务实现
*
* @author zc
* @since 2026/03/03 17:09
*/
@Service
@RequiredArgsConstructor
public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkOrderDO, WorkOrderResp, WorkOrderResp, WorkOrderQuery, WorkOrderReq> implements WorkOrderService {
@Override
public PageResp<WorkOrderResp> page(WorkOrderQuery query, PageQuery pageQuery) {
QueryWrapper<WorkOrderDO> queryWrapper = new QueryWrapper<>();
queryWrapper.like(StrUtil.isNotBlank(query.getMaterialName()), "m.material_name", query.getMaterialName());
queryWrapper.eq(null != query.getOrderNo(), "w.order_no", query.getOrderNo());
this.sort(queryWrapper, pageQuery);
IPage<WorkOrderResp> page = baseMapper.selectWorkOrderPage(new Page<>(pageQuery.getPage(), pageQuery
.getSize()), queryWrapper);
return PageResp.build(page);
}
}

View File

@@ -0,0 +1,14 @@
<?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.weighManage.mapper.WorkOrderMapper">
<select id="selectWorkOrderPage" resultType="top.wms.admin.weighManage.model.resp.WorkOrderResp">
select
w.*,
m.material_name
from sys_work_order w
left join sys_material_info m on w.material_id = m.id
${ew.customSqlSegment}
</select>
</mapper>

View File

@@ -1,37 +0,0 @@
package top.wms.admin.controller.WeighManage;
import cn.dev33.satoken.annotation.SaCheckPermission;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;
import top.wms.admin.weighManage.model.resp.MaterialResp;
/**
* 部门管理管理 API
*
* @author zc
* @since 2025/03/19 17:46
*/
@Tag(name = "部门管理管理 API")
@RestController
@RequiredArgsConstructor
@RequestMapping("/weighManage/material")
public class WeighController {
/**
* 获取材料详细信息
*/
@SaCheckPermission("Weigh:material:detail")
@GetMapping(value = "/detail")
public MaterialResp getInfo() {
MaterialResp materialResp = new MaterialResp();
materialResp.setId(1L);
materialResp.setMaterialCode("123");
materialResp.setMaterialName("测试材料");
materialResp.setMaterialSpec("测试规格");
materialResp.setWeight("100");
materialResp.setImageUrl("http://example.com/image.jpg");
return materialResp;
}
}

View File

@@ -0,0 +1,29 @@
package top.wms.admin.controller.weighManage;
import top.continew.starter.extension.crud.enums.Api;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.web.bind.annotation.*;
import lombok.RequiredArgsConstructor;
import top.continew.starter.extension.crud.annotation.CrudRequestMapping;
import top.wms.admin.common.controller.BaseController;
import top.wms.admin.weighManage.model.query.WorkOrderQuery;
import top.wms.admin.weighManage.model.req.WorkOrderReq;
import top.wms.admin.weighManage.model.resp.WorkOrderResp;
import top.wms.admin.weighManage.service.WorkOrderService;
/**
* 任务工单信息管理 API
*
* @author zc
* @since 2026/03/03 17:09
*/
@Tag(name = "任务工单信息管理 API")
@RestController
@RequiredArgsConstructor
@CrudRequestMapping(value = "/weighManage/workOrder", api = {Api.PAGE, Api.DETAIL, Api.ADD, Api.DELETE, Api.EXPORT})
public class WorkOrderController extends BaseController<WorkOrderService, WorkOrderResp, WorkOrderResp, WorkOrderQuery, WorkOrderReq> {
}