From 61a18e781db64c7166f0a615b14cbd92d0aad4e4 Mon Sep 17 00:00:00 2001 From: zc Date: Tue, 17 Mar 2026 10:48:29 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../material/mapper/MaterialInfoMapper.java | 8 ++++ .../material/model/entity/MaterialInfoDO.java | 10 +++++ .../material/model/req/MaterialInfoReq.java | 14 ++++++ .../material/model/resp/MaterialInfoResp.java | 14 ++++++ .../service/impl/MaterialInfoServiceImpl.java | 22 ++++++++++ .../mapper/MaterialProcessMapper.java | 16 +++++++ .../mapstruct/MaterialProcessConvert.java | 19 ++++++++ .../model/entity/MaterialProcessDO.java | 33 ++++++++++++++ .../model/query/MaterialProcessQuery.java | 40 +++++++++++++++++ .../model/req/MaterialProcessReq.java | 43 +++++++++++++++++++ .../model/resp/MaterialProcessDetailResp.java | 42 ++++++++++++++++++ .../model/resp/MaterialProcessResp.java | 36 ++++++++++++++++ .../service/MaterialProcessService.java | 21 +++++++++ .../impl/MaterialProcessServiceImpl.java | 35 +++++++++++++++ .../mapper/MaterialTypeMapper.java | 16 +++++++ .../mapstruct/MaterialTypeConvert.java | 18 ++++++++ .../model/entity/MaterialTypeDO.java | 34 +++++++++++++++ .../model/query/MaterialTypeQuery.java | 41 ++++++++++++++++++ .../model/req/MaterialTypeReq.java | 43 +++++++++++++++++++ .../model/resp/MaterialTypeDetailResp.java | 43 +++++++++++++++++++ .../model/resp/MaterialTypeResp.java | 37 ++++++++++++++++ .../service/MaterialTypeService.java | 21 +++++++++ .../service/impl/MaterialTypeServiceImpl.java | 39 +++++++++++++++++ .../weighManage/model/entity/WorkOrderDO.java | 8 +++- .../model/entity/WorkOrderInfoDO.java | 2 +- .../weighManage/model/req/WorkOrderReq.java | 7 --- .../model/resp/WorkOrderInfoResp.java | 2 +- .../service/impl/WorkOrderServiceImpl.java | 15 ++----- .../resources/mapper/MeterialInfoMapper.xml | 12 ++++++ .../MaterialProcessController.java | 40 +++++++++++++++++ .../materialType/MaterialTypeController.java | 39 +++++++++++++++++ .../tcp/service/CommandService.java | 2 +- .../weighManage/WorkOrderController.java | 6 +++ .../weighManage/ah/AHDZCConnect.java | 4 +- 34 files changed, 758 insertions(+), 24 deletions(-) create mode 100644 wms-module-system/src/main/java/top/wms/admin/materialProcess/mapper/MaterialProcessMapper.java create mode 100644 wms-module-system/src/main/java/top/wms/admin/materialProcess/mapstruct/MaterialProcessConvert.java create mode 100644 wms-module-system/src/main/java/top/wms/admin/materialProcess/model/entity/MaterialProcessDO.java create mode 100644 wms-module-system/src/main/java/top/wms/admin/materialProcess/model/query/MaterialProcessQuery.java create mode 100644 wms-module-system/src/main/java/top/wms/admin/materialProcess/model/req/MaterialProcessReq.java create mode 100644 wms-module-system/src/main/java/top/wms/admin/materialProcess/model/resp/MaterialProcessDetailResp.java create mode 100644 wms-module-system/src/main/java/top/wms/admin/materialProcess/model/resp/MaterialProcessResp.java create mode 100644 wms-module-system/src/main/java/top/wms/admin/materialProcess/service/MaterialProcessService.java create mode 100644 wms-module-system/src/main/java/top/wms/admin/materialProcess/service/impl/MaterialProcessServiceImpl.java create mode 100644 wms-module-system/src/main/java/top/wms/admin/materialType/mapper/MaterialTypeMapper.java create mode 100644 wms-module-system/src/main/java/top/wms/admin/materialType/mapstruct/MaterialTypeConvert.java create mode 100644 wms-module-system/src/main/java/top/wms/admin/materialType/model/entity/MaterialTypeDO.java create mode 100644 wms-module-system/src/main/java/top/wms/admin/materialType/model/query/MaterialTypeQuery.java create mode 100644 wms-module-system/src/main/java/top/wms/admin/materialType/model/req/MaterialTypeReq.java create mode 100644 wms-module-system/src/main/java/top/wms/admin/materialType/model/resp/MaterialTypeDetailResp.java create mode 100644 wms-module-system/src/main/java/top/wms/admin/materialType/model/resp/MaterialTypeResp.java create mode 100644 wms-module-system/src/main/java/top/wms/admin/materialType/service/MaterialTypeService.java create mode 100644 wms-module-system/src/main/java/top/wms/admin/materialType/service/impl/MaterialTypeServiceImpl.java create mode 100644 wms-webapi/src/main/java/top/wms/admin/controller/materialProcess/MaterialProcessController.java create mode 100644 wms-webapi/src/main/java/top/wms/admin/controller/materialType/MaterialTypeController.java diff --git a/wms-module-system/src/main/java/top/wms/admin/material/mapper/MaterialInfoMapper.java b/wms-module-system/src/main/java/top/wms/admin/material/mapper/MaterialInfoMapper.java index 75ed192..bd22952 100644 --- a/wms-module-system/src/main/java/top/wms/admin/material/mapper/MaterialInfoMapper.java +++ b/wms-module-system/src/main/java/top/wms/admin/material/mapper/MaterialInfoMapper.java @@ -1,8 +1,14 @@ package top.wms.admin.material.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.material.model.entity.MaterialInfoDO; import org.springframework.stereotype.Repository; +import top.wms.admin.material.model.resp.MaterialInfoResp; import java.util.List; @@ -17,4 +23,6 @@ public interface MaterialInfoMapper extends BaseMapper { public int updateByName(List list); public int updateByCode(List list); + + IPage selectMaterialInfoPage(@Param("page") Page objectPage, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); } diff --git a/wms-module-system/src/main/java/top/wms/admin/material/model/entity/MaterialInfoDO.java b/wms-module-system/src/main/java/top/wms/admin/material/model/entity/MaterialInfoDO.java index c780623..8a95f1b 100644 --- a/wms-module-system/src/main/java/top/wms/admin/material/model/entity/MaterialInfoDO.java +++ b/wms-module-system/src/main/java/top/wms/admin/material/model/entity/MaterialInfoDO.java @@ -46,4 +46,14 @@ public class MaterialInfoDO extends BaseDO { * 物料照片地址 */ private String photoUrl; + + /** + * 物料类型ID + */ + private Long materialTypeId; + + /** + * 流程ID + */ + private Long materialProcessId; } diff --git a/wms-module-system/src/main/java/top/wms/admin/material/model/req/MaterialInfoReq.java b/wms-module-system/src/main/java/top/wms/admin/material/model/req/MaterialInfoReq.java index 2f2d84e..bcd648f 100644 --- a/wms-module-system/src/main/java/top/wms/admin/material/model/req/MaterialInfoReq.java +++ b/wms-module-system/src/main/java/top/wms/admin/material/model/req/MaterialInfoReq.java @@ -58,4 +58,18 @@ public class MaterialInfoReq implements Serializable { @Schema(description = "物料照片地址") @Length(max = 255, message = "物料照片地址长度不能超过 {max} 个字符") private String photoUrl; + + /** + * 物料类型ID + */ + @Schema(description = "物料类型ID") + @NotNull(message = "物料类型ID不能为空") + private Long materialTypeId; + + /** + * 流程ID + */ + @Schema(description = "流程ID") + @NotNull(message = "流程ID不能为空") + private Long materialProcessId; } diff --git a/wms-module-system/src/main/java/top/wms/admin/material/model/resp/MaterialInfoResp.java b/wms-module-system/src/main/java/top/wms/admin/material/model/resp/MaterialInfoResp.java index 910ceba..e48bbd2 100644 --- a/wms-module-system/src/main/java/top/wms/admin/material/model/resp/MaterialInfoResp.java +++ b/wms-module-system/src/main/java/top/wms/admin/material/model/resp/MaterialInfoResp.java @@ -57,4 +57,18 @@ public class MaterialInfoResp extends BaseDetailResp { @Schema(description = "物料照片地址") @ExcelIgnore private String photoUrl; + + /** + * 物料类型名称 + */ + @Schema(description = "物料类型名称") + @ExcelIgnore + private String typeName; + + /** + * 流程名称 + */ + @Schema(description = "流程名称") + @ExcelIgnore + private String processName; } diff --git a/wms-module-system/src/main/java/top/wms/admin/material/service/impl/MaterialInfoServiceImpl.java b/wms-module-system/src/main/java/top/wms/admin/material/service/impl/MaterialInfoServiceImpl.java index 33fe5b6..cadfd2f 100644 --- a/wms-module-system/src/main/java/top/wms/admin/material/service/impl/MaterialInfoServiceImpl.java +++ b/wms-module-system/src/main/java/top/wms/admin/material/service/impl/MaterialInfoServiceImpl.java @@ -10,8 +10,11 @@ import cn.hutool.extra.validation.ValidationUtil; import cn.hutool.http.ContentType; import cn.hutool.json.JSONUtil; import com.alibaba.excel.EasyExcel; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.support.SFunction; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import jakarta.servlet.http.HttpServletResponse; import cn.hutool.core.util.StrUtil; import lombok.RequiredArgsConstructor; @@ -27,6 +30,8 @@ import org.springframework.web.multipart.MultipartFile; import top.continew.starter.cache.redisson.util.RedisUtils; import top.continew.starter.core.exception.BusinessException; import top.continew.starter.core.validation.CheckUtils; +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.continew.starter.web.util.FileUploadUtils; import top.wms.admin.common.constant.CacheConstants; @@ -43,6 +48,9 @@ import top.wms.admin.material.model.resp.MaterialInfoImportResp; import top.wms.admin.material.model.resp.MaterialInfoResp; import top.wms.admin.material.service.MaterialInfoService; import top.wms.admin.system.service.FileService; +import top.wms.admin.weighManage.model.entity.WorkOrderDO; +import top.wms.admin.weighManage.model.query.WorkOrderQuery; +import top.wms.admin.weighManage.model.resp.WorkOrderResp; import javax.imageio.ImageIO; import java.awt.image.BufferedImage; @@ -74,6 +82,20 @@ public class MaterialInfoServiceImpl extends BaseServiceImpl page(MaterialInfoQuery query, PageQuery pageQuery) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(StrUtil.isNotBlank(query.getMaterialName()), "mi.material_name", query.getMaterialName()); + queryWrapper.likeLeft(StrUtil.isNotBlank(query.getEncoding()), "mi.encoding", query.getEncoding()); + this.sort(queryWrapper, pageQuery); + + IPage page = baseMapper.selectMaterialInfoPage(new Page<>(pageQuery.getPage(), pageQuery + .getSize()), queryWrapper); + + return PageResp.build(page); + } + + @Override public MaterialInfoDO getMaterialInfoByCode(String code) { if (StrUtil.isNotBlank(code)) { diff --git a/wms-module-system/src/main/java/top/wms/admin/materialProcess/mapper/MaterialProcessMapper.java b/wms-module-system/src/main/java/top/wms/admin/materialProcess/mapper/MaterialProcessMapper.java new file mode 100644 index 0000000..114cc61 --- /dev/null +++ b/wms-module-system/src/main/java/top/wms/admin/materialProcess/mapper/MaterialProcessMapper.java @@ -0,0 +1,16 @@ +package top.wms.admin.materialProcess.mapper; + +import top.continew.starter.data.mp.base.BaseMapper; +import top.wms.admin.materialProcess.model.entity.MaterialProcessDO; +import org.springframework.stereotype.Repository; + +/** +* 海康物料流程 Mapper +* +* @author zc +* @since 2026/03/16 17:22 +*/ +@Repository +public interface MaterialProcessMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/wms-module-system/src/main/java/top/wms/admin/materialProcess/mapstruct/MaterialProcessConvert.java b/wms-module-system/src/main/java/top/wms/admin/materialProcess/mapstruct/MaterialProcessConvert.java new file mode 100644 index 0000000..9d5388e --- /dev/null +++ b/wms-module-system/src/main/java/top/wms/admin/materialProcess/mapstruct/MaterialProcessConvert.java @@ -0,0 +1,19 @@ +package top.wms.admin.materialProcess.mapstruct; + +import org.mapstruct.Mapper; +import org.mapstruct.Mapping; +import top.continew.starter.extension.crud.model.resp.LabelValueResp; +import top.wms.admin.materialProcess.model.entity.MaterialProcessDO; + +import java.util.List; + +@Mapper(componentModel = "spring") +public interface MaterialProcessConvert { + + @Mapping(source = "id", target = "value") + @Mapping(source = "processName", target = "label") + LabelValueResp labelValue(MaterialProcessDO materialProcessDO); + + List labelValueList(List materialProcessDOList); + +} diff --git a/wms-module-system/src/main/java/top/wms/admin/materialProcess/model/entity/MaterialProcessDO.java b/wms-module-system/src/main/java/top/wms/admin/materialProcess/model/entity/MaterialProcessDO.java new file mode 100644 index 0000000..d407d60 --- /dev/null +++ b/wms-module-system/src/main/java/top/wms/admin/materialProcess/model/entity/MaterialProcessDO.java @@ -0,0 +1,33 @@ +package top.wms.admin.materialProcess.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/16 17:22 + */ +@Data +@TableName("sys_material_process") +public class MaterialProcessDO extends BaseDO { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 流程名称 + */ + private String processName; + + /** + * 流程编码 + */ + private String processCode; +} \ No newline at end of file diff --git a/wms-module-system/src/main/java/top/wms/admin/materialProcess/model/query/MaterialProcessQuery.java b/wms-module-system/src/main/java/top/wms/admin/materialProcess/model/query/MaterialProcessQuery.java new file mode 100644 index 0000000..74bafc4 --- /dev/null +++ b/wms-module-system/src/main/java/top/wms/admin/materialProcess/model/query/MaterialProcessQuery.java @@ -0,0 +1,40 @@ +package top.wms.admin.materialProcess.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.*; + +/** + * 海康物料流程查询条件 + * + * @author zc + * @since 2026/03/16 17:22 + */ +@Data +@Schema(description = "海康物料流程查询条件") +public class MaterialProcessQuery implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 流程名称 + */ + @Schema(description = "流程名称") + @Query(type = QueryType.EQ) + private String processName; + + /** + * 流程编码 + */ + @Schema(description = "流程编码") + @Query(type = QueryType.EQ) + private String processCode; +} \ No newline at end of file diff --git a/wms-module-system/src/main/java/top/wms/admin/materialProcess/model/req/MaterialProcessReq.java b/wms-module-system/src/main/java/top/wms/admin/materialProcess/model/req/MaterialProcessReq.java new file mode 100644 index 0000000..d80ffa1 --- /dev/null +++ b/wms-module-system/src/main/java/top/wms/admin/materialProcess/model/req/MaterialProcessReq.java @@ -0,0 +1,43 @@ +package top.wms.admin.materialProcess.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/16 17:22 + */ +@Data +@Schema(description = "创建或修改海康物料流程参数") +public class MaterialProcessReq implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 流程名称 + */ + @Schema(description = "流程名称") + @NotBlank(message = "流程名称不能为空") + @Length(max = 255, message = "流程名称长度不能超过 {max} 个字符") + private String processName; + + /** + * 流程编码 + */ + @Schema(description = "流程编码") + @NotBlank(message = "流程编码不能为空") + @Length(max = 255, message = "流程编码长度不能超过 {max} 个字符") + private String processCode; +} \ No newline at end of file diff --git a/wms-module-system/src/main/java/top/wms/admin/materialProcess/model/resp/MaterialProcessDetailResp.java b/wms-module-system/src/main/java/top/wms/admin/materialProcess/model/resp/MaterialProcessDetailResp.java new file mode 100644 index 0000000..7c4f9a3 --- /dev/null +++ b/wms-module-system/src/main/java/top/wms/admin/materialProcess/model/resp/MaterialProcessDetailResp.java @@ -0,0 +1,42 @@ +package top.wms.admin.materialProcess.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/16 17:22 + */ +@Data +@ExcelIgnoreUnannotated +@Schema(description = "海康物料流程详情信息") +public class MaterialProcessDetailResp extends BaseDetailResp { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 流程名称 + */ + @Schema(description = "流程名称") + @ExcelProperty(value = "流程名称") + private String processName; + + /** + * 流程编码 + */ + @Schema(description = "流程编码") + @ExcelProperty(value = "流程编码") + private String processCode; +} \ No newline at end of file diff --git a/wms-module-system/src/main/java/top/wms/admin/materialProcess/model/resp/MaterialProcessResp.java b/wms-module-system/src/main/java/top/wms/admin/materialProcess/model/resp/MaterialProcessResp.java new file mode 100644 index 0000000..02c9963 --- /dev/null +++ b/wms-module-system/src/main/java/top/wms/admin/materialProcess/model/resp/MaterialProcessResp.java @@ -0,0 +1,36 @@ +package top.wms.admin.materialProcess.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.*; + +/** + * 海康物料流程信息 + * + * @author zc + * @since 2026/03/16 17:22 + */ +@Data +@Schema(description = "海康物料流程信息") +public class MaterialProcessResp extends BaseDetailResp { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 流程名称 + */ + @Schema(description = "流程名称") + private String processName; + + /** + * 流程编码 + */ + @Schema(description = "流程编码") + private String processCode; +} \ No newline at end of file diff --git a/wms-module-system/src/main/java/top/wms/admin/materialProcess/service/MaterialProcessService.java b/wms-module-system/src/main/java/top/wms/admin/materialProcess/service/MaterialProcessService.java new file mode 100644 index 0000000..dd096e8 --- /dev/null +++ b/wms-module-system/src/main/java/top/wms/admin/materialProcess/service/MaterialProcessService.java @@ -0,0 +1,21 @@ +package top.wms.admin.materialProcess.service; + +import top.continew.starter.extension.crud.model.resp.LabelValueResp; +import top.continew.starter.extension.crud.service.BaseService; +import top.wms.admin.materialProcess.model.query.MaterialProcessQuery; +import top.wms.admin.materialProcess.model.req.MaterialProcessReq; +import top.wms.admin.materialProcess.model.resp.MaterialProcessDetailResp; +import top.wms.admin.materialProcess.model.resp.MaterialProcessResp; + +import java.util.List; + +/** + * 海康物料流程业务接口 + * + * @author zc + * @since 2026/03/16 17:22 + */ +public interface MaterialProcessService extends BaseService { + + List getSelectList(); +} \ No newline at end of file diff --git a/wms-module-system/src/main/java/top/wms/admin/materialProcess/service/impl/MaterialProcessServiceImpl.java b/wms-module-system/src/main/java/top/wms/admin/materialProcess/service/impl/MaterialProcessServiceImpl.java new file mode 100644 index 0000000..b4df477 --- /dev/null +++ b/wms-module-system/src/main/java/top/wms/admin/materialProcess/service/impl/MaterialProcessServiceImpl.java @@ -0,0 +1,35 @@ +package top.wms.admin.materialProcess.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import top.continew.starter.extension.crud.model.resp.LabelValueResp; +import top.continew.starter.extension.crud.service.BaseServiceImpl; +import top.wms.admin.materialProcess.mapper.MaterialProcessMapper; +import top.wms.admin.materialProcess.mapstruct.MaterialProcessConvert; +import top.wms.admin.materialProcess.model.entity.MaterialProcessDO; +import top.wms.admin.materialProcess.model.query.MaterialProcessQuery; +import top.wms.admin.materialProcess.model.req.MaterialProcessReq; +import top.wms.admin.materialProcess.model.resp.MaterialProcessResp; +import top.wms.admin.materialProcess.service.MaterialProcessService; + +import java.util.List; + +/** + * 海康物料流程业务实现 + * + * @author zc + * @since 2026/03/16 17:22 + */ +@Service +@RequiredArgsConstructor +public class MaterialProcessServiceImpl extends BaseServiceImpl implements MaterialProcessService { + + private final MaterialProcessConvert materialProcessConvert; + + @Override + public List getSelectList() { + List materialProcessDOS = baseMapper.selectList(new QueryWrapper<>()); + return materialProcessConvert.labelValueList(materialProcessDOS); + } +} \ No newline at end of file diff --git a/wms-module-system/src/main/java/top/wms/admin/materialType/mapper/MaterialTypeMapper.java b/wms-module-system/src/main/java/top/wms/admin/materialType/mapper/MaterialTypeMapper.java new file mode 100644 index 0000000..0a26cbb --- /dev/null +++ b/wms-module-system/src/main/java/top/wms/admin/materialType/mapper/MaterialTypeMapper.java @@ -0,0 +1,16 @@ +package top.wms.admin.materialType.mapper; + +import top.continew.starter.data.mp.base.BaseMapper; +import top.wms.admin.materialType.model.entity.MaterialTypeDO; +import org.springframework.stereotype.Repository; + +/** +* 物料品类 Mapper +* +* @author zc +* @since 2026/03/16 11:18 +*/ +@Repository +public interface MaterialTypeMapper extends BaseMapper { + +} \ No newline at end of file diff --git a/wms-module-system/src/main/java/top/wms/admin/materialType/mapstruct/MaterialTypeConvert.java b/wms-module-system/src/main/java/top/wms/admin/materialType/mapstruct/MaterialTypeConvert.java new file mode 100644 index 0000000..9b00f7d --- /dev/null +++ b/wms-module-system/src/main/java/top/wms/admin/materialType/mapstruct/MaterialTypeConvert.java @@ -0,0 +1,18 @@ +package top.wms.admin.materialType.mapstruct; + +import org.mapstruct.Mapper; +import org.mapstruct.Mapping; +import top.continew.starter.extension.crud.model.resp.LabelValueResp; +import top.wms.admin.materialType.model.entity.MaterialTypeDO; + +import java.util.List; + +@Mapper(componentModel = "spring") +public interface MaterialTypeConvert { + + @Mapping(source = "id", target = "value") + @Mapping(source = "typeName", target = "label") + LabelValueResp labelValue(MaterialTypeDO materialTypeDO); + + List labelValueList(List materialTypeDOList); +} diff --git a/wms-module-system/src/main/java/top/wms/admin/materialType/model/entity/MaterialTypeDO.java b/wms-module-system/src/main/java/top/wms/admin/materialType/model/entity/MaterialTypeDO.java new file mode 100644 index 0000000..d13e524 --- /dev/null +++ b/wms-module-system/src/main/java/top/wms/admin/materialType/model/entity/MaterialTypeDO.java @@ -0,0 +1,34 @@ +package top.wms.admin.materialType.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/16 11:18 + */ +@Data +@TableName("sys_material_type") +public class MaterialTypeDO extends BaseDO { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 品类名称 + */ + private String typeName; + + /** + * 品类浮动比 + */ + private BigDecimal floatRatio; +} \ No newline at end of file diff --git a/wms-module-system/src/main/java/top/wms/admin/materialType/model/query/MaterialTypeQuery.java b/wms-module-system/src/main/java/top/wms/admin/materialType/model/query/MaterialTypeQuery.java new file mode 100644 index 0000000..271bc6b --- /dev/null +++ b/wms-module-system/src/main/java/top/wms/admin/materialType/model/query/MaterialTypeQuery.java @@ -0,0 +1,41 @@ +package top.wms.admin.materialType.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/16 11:18 + */ +@Data +@Schema(description = "物料品类查询条件") +public class MaterialTypeQuery implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 品类名称 + */ + @Schema(description = "品类名称") + @Query(type = QueryType.EQ) + private String typeName; + + /** + * 品类浮动比 + */ + @Schema(description = "品类浮动比") + @Query(type = QueryType.EQ) + private BigDecimal floatRatio; +} \ No newline at end of file diff --git a/wms-module-system/src/main/java/top/wms/admin/materialType/model/req/MaterialTypeReq.java b/wms-module-system/src/main/java/top/wms/admin/materialType/model/req/MaterialTypeReq.java new file mode 100644 index 0000000..f584bc4 --- /dev/null +++ b/wms-module-system/src/main/java/top/wms/admin/materialType/model/req/MaterialTypeReq.java @@ -0,0 +1,43 @@ +package top.wms.admin.materialType.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/16 11:18 + */ +@Data +@Schema(description = "创建或修改物料品类参数") +public class MaterialTypeReq implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 品类名称 + */ + @Schema(description = "品类名称") + @NotBlank(message = "品类名称不能为空") + @Length(max = 255, message = "品类名称长度不能超过 {max} 个字符") + private String typeName; + + /** + * 品类浮动比 + */ + @Schema(description = "品类浮动比") + @NotNull(message = "品类浮动比不能为空") + private BigDecimal floatRatio; +} \ No newline at end of file diff --git a/wms-module-system/src/main/java/top/wms/admin/materialType/model/resp/MaterialTypeDetailResp.java b/wms-module-system/src/main/java/top/wms/admin/materialType/model/resp/MaterialTypeDetailResp.java new file mode 100644 index 0000000..ec53e51 --- /dev/null +++ b/wms-module-system/src/main/java/top/wms/admin/materialType/model/resp/MaterialTypeDetailResp.java @@ -0,0 +1,43 @@ +package top.wms.admin.materialType.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.*; +import java.math.BigDecimal; + +/** + * 物料品类详情信息 + * + * @author zc + * @since 2026/03/16 11:18 + */ +@Data +@ExcelIgnoreUnannotated +@Schema(description = "物料品类详情信息") +public class MaterialTypeDetailResp extends BaseDetailResp { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 品类名称 + */ + @Schema(description = "品类名称") + @ExcelProperty(value = "品类名称") + private String typeName; + + /** + * 品类浮动比 + */ + @Schema(description = "品类浮动比") + @ExcelProperty(value = "品类浮动比") + private BigDecimal floatRatio; +} \ No newline at end of file diff --git a/wms-module-system/src/main/java/top/wms/admin/materialType/model/resp/MaterialTypeResp.java b/wms-module-system/src/main/java/top/wms/admin/materialType/model/resp/MaterialTypeResp.java new file mode 100644 index 0000000..719bf20 --- /dev/null +++ b/wms-module-system/src/main/java/top/wms/admin/materialType/model/resp/MaterialTypeResp.java @@ -0,0 +1,37 @@ +package top.wms.admin.materialType.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/16 11:18 + */ +@Data +@Schema(description = "物料品类信息") +public class MaterialTypeResp extends BaseDetailResp { + + @Serial + private static final long serialVersionUID = 1L; + + /** + * 品类名称 + */ + @Schema(description = "品类名称") + private String typeName; + + /** + * 品类浮动比 + */ + @Schema(description = "品类浮动比") + private BigDecimal floatRatio; +} \ No newline at end of file diff --git a/wms-module-system/src/main/java/top/wms/admin/materialType/service/MaterialTypeService.java b/wms-module-system/src/main/java/top/wms/admin/materialType/service/MaterialTypeService.java new file mode 100644 index 0000000..5b798eb --- /dev/null +++ b/wms-module-system/src/main/java/top/wms/admin/materialType/service/MaterialTypeService.java @@ -0,0 +1,21 @@ +package top.wms.admin.materialType.service; + +import top.continew.starter.extension.crud.model.resp.LabelValueResp; +import top.continew.starter.extension.crud.service.BaseService; +import top.wms.admin.materialType.model.query.MaterialTypeQuery; +import top.wms.admin.materialType.model.req.MaterialTypeReq; +import top.wms.admin.materialType.model.resp.MaterialTypeDetailResp; +import top.wms.admin.materialType.model.resp.MaterialTypeResp; + +import java.util.List; + +/** + * 物料品类业务接口 + * + * @author zc + * @since 2026/03/16 11:18 + */ +public interface MaterialTypeService extends BaseService { + + List getSelectList(); +} \ No newline at end of file diff --git a/wms-module-system/src/main/java/top/wms/admin/materialType/service/impl/MaterialTypeServiceImpl.java b/wms-module-system/src/main/java/top/wms/admin/materialType/service/impl/MaterialTypeServiceImpl.java new file mode 100644 index 0000000..4475082 --- /dev/null +++ b/wms-module-system/src/main/java/top/wms/admin/materialType/service/impl/MaterialTypeServiceImpl.java @@ -0,0 +1,39 @@ +package top.wms.admin.materialType.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import lombok.RequiredArgsConstructor; + +import org.springframework.stereotype.Service; + +import top.continew.starter.extension.crud.model.resp.LabelValueResp; +import top.continew.starter.extension.crud.service.BaseServiceImpl; +import top.wms.admin.materialType.mapper.MaterialTypeMapper; +import top.wms.admin.materialType.mapstruct.MaterialTypeConvert; +import top.wms.admin.materialType.model.entity.MaterialTypeDO; +import top.wms.admin.materialType.model.query.MaterialTypeQuery; +import top.wms.admin.materialType.model.req.MaterialTypeReq; +import top.wms.admin.materialType.model.resp.MaterialTypeDetailResp; +import top.wms.admin.materialType.model.resp.MaterialTypeResp; +import top.wms.admin.materialType.service.MaterialTypeService; + +import java.util.List; + +/** + * 物料品类业务实现 + * + * @author zc + * @since 2026/03/16 11:18 + */ +@Service +@RequiredArgsConstructor +public class MaterialTypeServiceImpl extends BaseServiceImpl implements MaterialTypeService { + + private final MaterialTypeConvert materialTypeConvert; + + + @Override + public List getSelectList() { + List materialTypeDOS = baseMapper.selectList(new QueryWrapper<>()); + return materialTypeConvert.labelValueList(materialTypeDOS); + } +} \ No newline at end of file diff --git a/wms-module-system/src/main/java/top/wms/admin/weighManage/model/entity/WorkOrderDO.java b/wms-module-system/src/main/java/top/wms/admin/weighManage/model/entity/WorkOrderDO.java index a13fb26..3faa6fb 100644 --- a/wms-module-system/src/main/java/top/wms/admin/weighManage/model/entity/WorkOrderDO.java +++ b/wms-module-system/src/main/java/top/wms/admin/weighManage/model/entity/WorkOrderDO.java @@ -1,5 +1,6 @@ package top.wms.admin.weighManage.model.entity; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import com.baomidou.mybatisplus.annotation.TableName; @@ -38,10 +39,15 @@ public class WorkOrderDO extends BaseDO { private Long materialId; /** - * 总重量 + * 实际总重量 */ private BigDecimal totalWeight; + /** + * 标准总重量(标重) + */ + private BigDecimal totalCalculatedWeight; + /** * 总数量 */ diff --git a/wms-module-system/src/main/java/top/wms/admin/weighManage/model/entity/WorkOrderInfoDO.java b/wms-module-system/src/main/java/top/wms/admin/weighManage/model/entity/WorkOrderInfoDO.java index 4ba10c5..1de9862 100644 --- a/wms-module-system/src/main/java/top/wms/admin/weighManage/model/entity/WorkOrderInfoDO.java +++ b/wms-module-system/src/main/java/top/wms/admin/weighManage/model/entity/WorkOrderInfoDO.java @@ -45,7 +45,7 @@ public class WorkOrderInfoDO extends BaseDO { /** * 物料数量 */ - private BigDecimal quantity; + private Integer quantity; /** * 称重重量 diff --git a/wms-module-system/src/main/java/top/wms/admin/weighManage/model/req/WorkOrderReq.java b/wms-module-system/src/main/java/top/wms/admin/weighManage/model/req/WorkOrderReq.java index 733acdd..dd24ae2 100644 --- a/wms-module-system/src/main/java/top/wms/admin/weighManage/model/req/WorkOrderReq.java +++ b/wms-module-system/src/main/java/top/wms/admin/weighManage/model/req/WorkOrderReq.java @@ -30,13 +30,6 @@ public class WorkOrderReq implements Serializable { @NotNull(message = "物料主键id不能为空") private Long materialId; - /** - * 物料名称 - */ - @Schema(description = "物料名称") - @NotBlank(message = "物料名称不能为空") - private String materialName; - /** * 称重列表 */ diff --git a/wms-module-system/src/main/java/top/wms/admin/weighManage/model/resp/WorkOrderInfoResp.java b/wms-module-system/src/main/java/top/wms/admin/weighManage/model/resp/WorkOrderInfoResp.java index 7214df6..79c81fc 100644 --- a/wms-module-system/src/main/java/top/wms/admin/weighManage/model/resp/WorkOrderInfoResp.java +++ b/wms-module-system/src/main/java/top/wms/admin/weighManage/model/resp/WorkOrderInfoResp.java @@ -49,7 +49,7 @@ public class WorkOrderInfoResp { * 物料数量 */ @Schema(description = "物料数量") - private BigDecimal quantity; + private Integer quantity; /** * 称重重量 diff --git a/wms-module-system/src/main/java/top/wms/admin/weighManage/service/impl/WorkOrderServiceImpl.java b/wms-module-system/src/main/java/top/wms/admin/weighManage/service/impl/WorkOrderServiceImpl.java index 1d26780..774d125 100644 --- a/wms-module-system/src/main/java/top/wms/admin/weighManage/service/impl/WorkOrderServiceImpl.java +++ b/wms-module-system/src/main/java/top/wms/admin/weighManage/service/impl/WorkOrderServiceImpl.java @@ -73,16 +73,6 @@ public class WorkOrderServiceImpl extends BaseServiceImpl workOrderInfos = workOrderInfoMapper.selectList(new QueryWrapper() - .eq("work_order_id", id)); - if (CollUtil.isNotEmpty(workOrderInfos)) { - BigDecimal bigDecimal = new BigDecimal("0"); - for (WorkOrderInfoDO workOrderInfoDO : workOrderInfos) { - bigDecimal = bigDecimal.add(workOrderInfoDO.getCalculatedWeight()); - } - workOrderResp.setTotalCalculatedWeight(bigDecimal); - } - return workOrderResp; } @@ -109,17 +99,20 @@ public class WorkOrderServiceImpl extends BaseServiceImpl + + diff --git a/wms-webapi/src/main/java/top/wms/admin/controller/materialProcess/MaterialProcessController.java b/wms-webapi/src/main/java/top/wms/admin/controller/materialProcess/MaterialProcessController.java new file mode 100644 index 0000000..2420f2c --- /dev/null +++ b/wms-webapi/src/main/java/top/wms/admin/controller/materialProcess/MaterialProcessController.java @@ -0,0 +1,40 @@ +package top.wms.admin.controller.materialProcess; + +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.continew.starter.extension.crud.model.resp.LabelValueResp; +import top.continew.starter.log.annotation.Log; +import top.wms.admin.common.controller.BaseController; +import top.wms.admin.materialProcess.model.query.MaterialProcessQuery; +import top.wms.admin.materialProcess.model.req.MaterialProcessReq; +import top.wms.admin.materialProcess.model.resp.MaterialProcessResp; +import top.wms.admin.materialProcess.service.MaterialProcessService; + +import java.util.List; + +/** + * 海康物料流程管理 API + * + * @author zc + * @since 2026/03/16 17:22 + */ +@Tag(name = "海康物料流程管理 API") +@RestController +@RequiredArgsConstructor +@CrudRequestMapping(value = "/materialProcess/materialProcess", api = {Api.PAGE, Api.DETAIL, Api.ADD, Api.UPDATE, Api.DELETE, Api.EXPORT}) +public class MaterialProcessController extends BaseController { + + + @Log(ignore = true) + @GetMapping("/selectList") + public List getSelectList() { + return baseService.getSelectList(); + } + +} \ No newline at end of file diff --git a/wms-webapi/src/main/java/top/wms/admin/controller/materialType/MaterialTypeController.java b/wms-webapi/src/main/java/top/wms/admin/controller/materialType/MaterialTypeController.java new file mode 100644 index 0000000..c88b916 --- /dev/null +++ b/wms-webapi/src/main/java/top/wms/admin/controller/materialType/MaterialTypeController.java @@ -0,0 +1,39 @@ +package top.wms.admin.controller.materialType; + +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.continew.starter.extension.crud.model.resp.LabelValueResp; +import top.continew.starter.log.annotation.Log; +import top.wms.admin.common.controller.BaseController; +import top.wms.admin.materialType.model.query.MaterialTypeQuery; +import top.wms.admin.materialType.model.req.MaterialTypeReq; +import top.wms.admin.materialType.model.resp.MaterialTypeResp; +import top.wms.admin.materialType.service.MaterialTypeService; + +import java.util.List; + +/** + * 物料品类管理 API + * + * @author zc + * @since 2026/03/16 11:18 + */ +@Tag(name = "物料品类管理 API") +@RestController +@RequiredArgsConstructor +@CrudRequestMapping(value = "/materialType/materialType", api = {Api.PAGE, Api.ADD, Api.UPDATE, Api.DELETE, Api.EXPORT}) +public class MaterialTypeController extends BaseController { + + + @Log(ignore = true) + @GetMapping("/selectList") + public List getSelectList() { + return baseService.getSelectList(); + } +} \ No newline at end of file diff --git a/wms-webapi/src/main/java/top/wms/admin/controller/tcp/service/CommandService.java b/wms-webapi/src/main/java/top/wms/admin/controller/tcp/service/CommandService.java index bbdffaa..e5a5d38 100644 --- a/wms-webapi/src/main/java/top/wms/admin/controller/tcp/service/CommandService.java +++ b/wms-webapi/src/main/java/top/wms/admin/controller/tcp/service/CommandService.java @@ -61,7 +61,7 @@ public class CommandService { @Autowired private ChannelManager channelManager; - @Scheduled(cron = "*/1 * * * * ?") +// @Scheduled(cron = "*/1 * * * * ?") public void sendAndWait() { // 1. 检查连接 log.info("查询时间========"); diff --git a/wms-webapi/src/main/java/top/wms/admin/controller/weighManage/WorkOrderController.java b/wms-webapi/src/main/java/top/wms/admin/controller/weighManage/WorkOrderController.java index d2f85bd..af74647 100644 --- a/wms-webapi/src/main/java/top/wms/admin/controller/weighManage/WorkOrderController.java +++ b/wms-webapi/src/main/java/top/wms/admin/controller/weighManage/WorkOrderController.java @@ -41,6 +41,12 @@ public class WorkOrderController extends BaseController