优化追溯

This commit is contained in:
zc
2026-03-04 18:05:00 +08:00
parent b98a0f06ba
commit 381c1638e3
14 changed files with 269 additions and 43 deletions

View File

@@ -13,5 +13,5 @@ import top.wms.admin.material.model.resp.MaterialInfoResp;
* @since 2026/02/27 14:19
*/
public interface MaterialInfoService extends BaseService<MaterialInfoResp, MaterialInfoResp, MaterialInfoQuery, MaterialInfoReq> {
public MaterialInfoDO getMaterialInfoByCode(String code);
public MaterialInfoDO getMaterialInfoByCode(String code);
}

View File

@@ -1,9 +1,6 @@
package top.wms.admin.material.service.impl;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
@@ -28,9 +25,9 @@ public class MaterialInfoServiceImpl extends BaseServiceImpl<MaterialInfoMapper,
@Override
public MaterialInfoDO getMaterialInfoByCode(String code) {
if(StrUtil.isNotBlank(code)){
if (StrUtil.isNotBlank(code)) {
return baseMapper.lambdaQuery().eq(MaterialInfoDO::getEncoding, code).one();
}else{
} else {
return null;
}
}

View File

@@ -0,0 +1,16 @@
package top.wms.admin.weighManage.mapper;
import top.continew.starter.data.mp.base.BaseMapper;
import org.springframework.stereotype.Repository;
import top.wms.admin.weighManage.model.entity.WorkOrderInfoDO;
/**
* 任务工单详情 Mapper
*
* @author zc
* @since 2026/03/04 14:16
*/
@Repository
public interface WorkOrderInfoMapper extends BaseMapper<WorkOrderInfoDO> {
}

View File

@@ -8,17 +8,36 @@ 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.WorkOrderInfoResp;
import top.wms.admin.weighManage.model.resp.WorkOrderResp;
import java.util.List;
/**
* 任务工单信息 Mapper
*
* @author zc
* @since 2026/03/03 17:09
*/
* 任务工单信息 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);
/**
* 获取任务工单分页列表
*
* @param objectPage 分页参数
* @param queryWrapper 查询参数
* @return 任务工单分页列表
*/
IPage<WorkOrderResp> selectWorkOrderPage(@Param("page") Page<Object> objectPage,
@Param(Constants.WRAPPER) QueryWrapper<WorkOrderDO> queryWrapper);
/**
* 获取任务工单详情信息
*
* @param id 任务工单主键id
* @return 任务工单详情信息
*/
List<WorkOrderInfoResp> getDetail(Long id);
}

View File

@@ -0,0 +1,59 @@
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/04 14:16
*/
@Data
@TableName("sys_work_order_info")
public class WorkOrderInfoDO extends BaseDO {
@Serial
private static final long serialVersionUID = 1L;
/**
* 工单主键id
*/
private Long workOrderId;
/**
* 物料主键id
*/
private Long materialId;
/**
* 称重次数
*/
private int weightTime;
/**
* 抓拍的图片
*/
private String imgUrl;
/**
* 物料数量
*/
private BigDecimal quantity;
/**
* 称重重量
*/
private BigDecimal weight;
/**
* 计算重量
*/
private BigDecimal calculatedWeight;
}

View File

@@ -4,13 +4,10 @@ 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;
import java.util.Date;
/**
* 任务工单信息查询条件
@@ -25,12 +22,6 @@ public class WorkOrderQuery implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 总重量
*/
@Schema(description = "总重量")
private BigDecimal totalWeight;
/**
* 任务工单号
*/
@@ -43,15 +34,33 @@ public class WorkOrderQuery implements Serializable {
@Schema(description = "物料名称")
private String materialName;
/**
* 物料编码
*/
@Schema(description = "物料编码")
private String encoding;
/**
* 创建人
*/
@Schema(description = "创建人")
private Long createUser;
private String userName;
/**
* 创建时间
* 卡号
*/
@Schema(description = "创建时间")
private LocalDateTime createTime;
@Schema(description = "卡号")
private String carNo;
/**
* 创建开始时间
*/
@Schema(description = "创建开始时间")
private Date startTime;
/**
* 创建结束时间
*/
@Schema(description = "创建结束时间")
private Date endTime;
}

View File

@@ -6,8 +6,6 @@ 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.*;

View File

@@ -0,0 +1,72 @@
package top.wms.admin.weighManage.model.resp;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
/**
* 任务工单详情信息
*
* @author zc
* @since 2026/03/04 14:21
*/
@Data
@Schema(description = "任务工单详情信息")
public class WorkOrderInfoResp {
/**
* 主键id
*/
@Schema(description = "主键id")
private Long id;
/**
* 工单主键id
*/
@Schema(description = "工单主键id")
private Long workOrderId;
/**
* 物料主键id
*/
@Schema(description = "物料主键id")
private Long materialId;
/**
* 物料主键id
*/
@Schema(description = "物料主键id")
private String materialName;
/**
* 称重次数
*/
@Schema(description = "称重次数")
private int weightTime;
/**
* 物料数量
*/
@Schema(description = "物料数量")
private BigDecimal quantity;
/**
* 称重重量
*/
@Schema(description = "称重重量")
private BigDecimal weight;
/**
* 计算重量
*/
@Schema(description = "计算重量")
private BigDecimal calculatedWeight;
/**
* 抓拍的图片
*/
@Schema(description = "抓拍的图片")
private String imgUrl;
}

View File

@@ -9,6 +9,7 @@ import top.wms.admin.common.model.resp.BaseDetailResp;
import java.io.Serial;
import java.time.*;
import java.math.BigDecimal;
import java.util.List;
/**
* 任务工单信息信息
@@ -23,6 +24,12 @@ public class WorkOrderResp extends BaseDetailResp {
@Serial
private static final long serialVersionUID = 1L;
/**
* 卡号
*/
@Schema(description = "卡号")
private String cardNo;
/**
* 标题
*/
@@ -54,7 +61,7 @@ public class WorkOrderResp extends BaseDetailResp {
private BigDecimal unitWeight;
/**
* 物料规格
* 物料规格
*/
@Schema(description = "物料规格")
private String materialSpec;
@@ -72,14 +79,15 @@ public class WorkOrderResp extends BaseDetailResp {
private BigDecimal totalWeight;
/**
* 修改人
* 总数量
*/
@Schema(description = "修改人")
private Long updateUser;
@Schema(description = "总数量")
private int totalCount;
/**
* 修改时间
* 任务工单详情信息列表
*/
@Schema(description = "修改时间")
private LocalDateTime updateTime;
@Schema(description = "任务工单详情信息列表")
private List<WorkOrderInfoResp> workOrderInfos;
}

View File

@@ -3,8 +3,11 @@ 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.WorkOrderInfoResp;
import top.wms.admin.weighManage.model.resp.WorkOrderResp;
import java.util.List;
/**
* 任务工单信息业务接口
*
@@ -13,4 +16,11 @@ import top.wms.admin.weighManage.model.resp.WorkOrderResp;
*/
public interface WorkOrderService extends BaseService<WorkOrderResp, WorkOrderResp, WorkOrderQuery, WorkOrderReq> {
/**
* 获取任务工单详情信息
*
* @param id 任务工单主键id
* @return 任务工单详情信息
*/
List<WorkOrderInfoResp> getDetail(Long id);
}

View File

@@ -15,9 +15,12 @@ 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.WorkOrderInfoResp;
import top.wms.admin.weighManage.model.resp.WorkOrderResp;
import top.wms.admin.weighManage.service.WorkOrderService;
import java.util.List;
/**
* 任务工单信息业务实现
*
@@ -29,15 +32,22 @@ import top.wms.admin.weighManage.service.WorkOrderService;
public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkOrderDO, WorkOrderResp, WorkOrderResp, WorkOrderQuery, WorkOrderReq> implements WorkOrderService {
@Override
public PageResp<WorkOrderResp> page(WorkOrderQuery query, PageQuery pageQuery) {
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());
queryWrapper.groupBy("w.id");
this.sort(queryWrapper, pageQuery);
IPage<WorkOrderResp> page = baseMapper.selectWorkOrderPage(new Page<>(pageQuery.getPage(), pageQuery
.getSize()), queryWrapper);
.getSize()), queryWrapper);
return PageResp.build(page);
}
@Override
public List<WorkOrderInfoResp> getDetail(Long id) {
return baseMapper.getDetail(id);
}
}

View File

@@ -5,10 +5,27 @@
<select id="selectWorkOrderPage" resultType="top.wms.admin.weighManage.model.resp.WorkOrderResp">
select
w.*,
m.material_name
m.material_name,
m.encoding,
m.photo_url,
m.unit_weight,
u.card_no,
u.username createUserString,
count(*) as totalCount
from sys_work_order w
left join sys_material_info m on w.material_id = m.id
left join sys_material_info m on w.material_id = m.id
left join sys_user u on w.create_user = u.id
left join sys_work_order_info wi on w.id = wi.work_order_id
${ew.customSqlSegment}
</select>
<select id="getDetail" resultType="top.wms.admin.weighManage.model.resp.WorkOrderInfoResp">
select
wi.*,
m.material_name
from sys_work_order_info wi
left join sys_material_info m on wi.material_id = m.id
where wi.work_order_id = #{id}
</select>
</mapper>