diff --git a/wms-module-system/src/main/java/top/wms/admin/fullWorkOrder/mapper/FullWorkOrderMapper.java b/wms-module-system/src/main/java/top/wms/admin/fullWorkOrder/mapper/FullWorkOrderMapper.java index e192eee..680bcce 100644 --- a/wms-module-system/src/main/java/top/wms/admin/fullWorkOrder/mapper/FullWorkOrderMapper.java +++ b/wms-module-system/src/main/java/top/wms/admin/fullWorkOrder/mapper/FullWorkOrderMapper.java @@ -1,8 +1,14 @@ package top.wms.admin.fullWorkOrder.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 org.springframework.stereotype.Repository; import top.continew.starter.data.mp.base.BaseMapper; import top.wms.admin.fullWorkOrder.model.entity.FullWorkOrderDO; -import org.springframework.stereotype.Repository; +import top.wms.admin.fullWorkOrder.model.resp.FullWorkOrderResp; /** * 整箱领取记录 Mapper @@ -13,4 +19,6 @@ import org.springframework.stereotype.Repository; @Repository public interface FullWorkOrderMapper extends BaseMapper { + IPage selectFullWorkOrderPage(@Param("page") Page objectPage, + @Param(Constants.WRAPPER) QueryWrapper queryWrapper); } \ No newline at end of file diff --git a/wms-module-system/src/main/java/top/wms/admin/fullWorkOrder/model/entity/FullWorkOrderDO.java b/wms-module-system/src/main/java/top/wms/admin/fullWorkOrder/model/entity/FullWorkOrderDO.java index 90aa28f..cbe3313 100644 --- a/wms-module-system/src/main/java/top/wms/admin/fullWorkOrder/model/entity/FullWorkOrderDO.java +++ b/wms-module-system/src/main/java/top/wms/admin/fullWorkOrder/model/entity/FullWorkOrderDO.java @@ -40,4 +40,19 @@ public class FullWorkOrderDO extends BaseDO { * 图片地址 */ private String imgUrl; + + /** + * 批次号 + */ + private String batch; + + /** + * 标记号 + */ + private String mark; + + /** + * 数量 + */ + private Integer count; } \ No newline at end of file diff --git a/wms-module-system/src/main/java/top/wms/admin/fullWorkOrder/model/query/FullWorkOrderQuery.java b/wms-module-system/src/main/java/top/wms/admin/fullWorkOrder/model/query/FullWorkOrderQuery.java index 87264fc..35c1002 100644 --- a/wms-module-system/src/main/java/top/wms/admin/fullWorkOrder/model/query/FullWorkOrderQuery.java +++ b/wms-module-system/src/main/java/top/wms/admin/fullWorkOrder/model/query/FullWorkOrderQuery.java @@ -31,21 +31,30 @@ public class FullWorkOrderQuery implements Serializable { * 任务工单号 */ @Schema(description = "任务工单号") - @Query(type = QueryType.EQ) private String orderNo; /** * 物料编码 */ @Schema(description = "物料编码") - @Query(type = QueryType.LIKE) private String materialCode; + /** + * 物料名称 + */ + @Schema(description = "物料名称") + private String materialName; + + /** + * 批次号 + */ + @Schema(description = "批次号") + private String batch; + /** * 创建人 */ @Schema(description = "创建人") - @Query(type = QueryType.EQ) private Long createUser; /** @@ -53,6 +62,5 @@ public class FullWorkOrderQuery implements Serializable { */ @Schema(description = "创建时间") @DateTimeFormat(pattern = DatePattern.NORM_DATETIME_PATTERN) - @Query(type = QueryType.BETWEEN) private List createTime; } \ No newline at end of file diff --git a/wms-module-system/src/main/java/top/wms/admin/fullWorkOrder/model/req/FullWorkOrderReq.java b/wms-module-system/src/main/java/top/wms/admin/fullWorkOrder/model/req/FullWorkOrderReq.java index 54e9082..1a7ebb6 100644 --- a/wms-module-system/src/main/java/top/wms/admin/fullWorkOrder/model/req/FullWorkOrderReq.java +++ b/wms-module-system/src/main/java/top/wms/admin/fullWorkOrder/model/req/FullWorkOrderReq.java @@ -53,4 +53,26 @@ public class FullWorkOrderReq implements Serializable { @Length(max = 255, message = "图片地址长度不能超过 {max} 个字符") private String imgUrl; + /** + * 批次号 + */ + @Schema(description = "批次号") + @NotBlank(message = "批次号不能为空") + private String batch; + + + /** + * 标记号 + */ + @Schema(description = "标记号") + @NotBlank(message = "标记号不能为空") + private String mark; + + + /** + * 数量 + */ + @Schema(description = "数量") + @NotNull(message = "数量不能为空") + private Integer count; } \ No newline at end of file diff --git a/wms-module-system/src/main/java/top/wms/admin/fullWorkOrder/model/resp/FullWorkOrderResp.java b/wms-module-system/src/main/java/top/wms/admin/fullWorkOrder/model/resp/FullWorkOrderResp.java index db78955..dd13c84 100644 --- a/wms-module-system/src/main/java/top/wms/admin/fullWorkOrder/model/resp/FullWorkOrderResp.java +++ b/wms-module-system/src/main/java/top/wms/admin/fullWorkOrder/model/resp/FullWorkOrderResp.java @@ -41,14 +41,42 @@ public class FullWorkOrderResp extends BaseDetailResp { * 物料编码 */ @Schema(description = "物料编码") - @ExcelProperty(value = "物料编码", order = 3) + @ExcelProperty(value = "物料编码", order = 4) private String materialCode; + /** + * 物料名称 + */ + @Schema(description = "物料名称") + @ExcelProperty(value = "物料名称", order = 3) + private String materialName; + /** * 图片地址 */ @Schema(description = "图片地址") - @ExcelProperty(value = "图片地址", order = 4) + @ExcelProperty(value = "图片地址", order = 5) private String imgUrl; + /** + * 批次号 + */ + @Schema(description = "批次号") + @ExcelProperty(value = "批次号", order = 6) + private String batch; + + /** + * 标记号 + */ + @Schema(description = "标记号") + @ExcelProperty(value = "标记号", order = 7) + private String mark; + + /** + * 标记号 + */ + @Schema(description = "标记号") + @ExcelProperty(value = "数量", order = 8) + private Integer count; + } \ No newline at end of file diff --git a/wms-module-system/src/main/java/top/wms/admin/fullWorkOrder/service/impl/FullWorkOrderServiceImpl.java b/wms-module-system/src/main/java/top/wms/admin/fullWorkOrder/service/impl/FullWorkOrderServiceImpl.java index ab594a3..b381868 100644 --- a/wms-module-system/src/main/java/top/wms/admin/fullWorkOrder/service/impl/FullWorkOrderServiceImpl.java +++ b/wms-module-system/src/main/java/top/wms/admin/fullWorkOrder/service/impl/FullWorkOrderServiceImpl.java @@ -1,13 +1,19 @@ package top.wms.admin.fullWorkOrder.service.impl; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DateUtil; +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 jakarta.servlet.http.HttpServletResponse; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import top.continew.starter.extension.crud.model.query.PageQuery; import top.continew.starter.extension.crud.model.query.SortQuery; +import top.continew.starter.extension.crud.model.resp.PageResp; import top.continew.starter.extension.crud.service.BaseServiceImpl; import top.continew.starter.file.excel.util.ExcelUtils; import top.wms.admin.common.context.UserContextHolder; @@ -36,6 +42,24 @@ public class FullWorkOrderServiceImpl extends BaseServiceImpl page(FullWorkOrderQuery query, PageQuery pageQuery) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(StrUtil.isNotBlank(query.getMaterialCode()), "f.material_code", query.getMaterialCode()); + queryWrapper.eq(StrUtil.isNotBlank(query.getOrderNo()), "f.order_no", query.getOrderNo()); + queryWrapper.eq(StrUtil.isNotBlank(query.getBatch()), "f.batch", query.getBatch()); + queryWrapper.eq(StrUtil.isNotBlank(query.getMaterialName()), "m.material_name", query.getMaterialName()); + queryWrapper.between(CollUtil.isNotEmpty(query.getCreateTime()), "f.create_time", CollUtil.getFirst(query.getCreateTime()), CollUtil.getLast(query.getCreateTime())); + this.sort(queryWrapper, pageQuery); + + IPage page = baseMapper.selectFullWorkOrderPage(new Page<>(pageQuery.getPage(), pageQuery + .getSize()), queryWrapper); + + return PageResp.build(page); + } + + @Override public void beforeAdd(FullWorkOrderReq req) { String timestamp = DateUtil.format(new Date(), "yyyyMMddHHmmss"); 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 5992c6c..d41b3a0 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 @@ -84,11 +84,25 @@ public class MaterialInfoServiceImpl extends BaseServiceImpl().eq(MaterialInfoDO::getEncoding, materialInfoReq.getEncoding())); + CheckUtils.throwIf(materialInfoDO != null, "物料编码已存在"); + } + + @Override + public void beforeUpdate(MaterialInfoReq materialInfoReq, Long id) { + MaterialInfoDO materialInfoDO = baseMapper.selectOne(new LambdaQueryWrapper().eq(MaterialInfoDO::getEncoding, materialInfoReq.getEncoding()).ne(MaterialInfoDO::getId, id)); + CheckUtils.throwIf(materialInfoDO != null, "物料编码已存在"); + } + + @Override public PageResp 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()); + queryWrapper.eq(StrUtil.isNotBlank(query.getBatch()), "mi.batch", query.getBatch()); this.sort(queryWrapper, pageQuery); IPage page = baseMapper.selectMaterialInfoPage(new Page<>(pageQuery.getPage(), pageQuery @@ -103,6 +117,7 @@ public class MaterialInfoServiceImpl extends BaseServiceImpl queryWrapper = new QueryWrapper<>(); queryWrapper.like(StrUtil.isNotBlank(query.getMaterialName()), "mi.material_name", query.getMaterialName()); queryWrapper.likeLeft(StrUtil.isNotBlank(query.getEncoding()), "mi.encoding", query.getEncoding()); + queryWrapper.eq(StrUtil.isNotBlank(query.getBatch()), "mi.batch", query.getBatch()); this.sort(queryWrapper, sortQuery); List list = baseMapper.selectMaterialInfoExport(queryWrapper); diff --git a/wms-module-system/src/main/resources/mapper/FullWorkOrderMapper.xml b/wms-module-system/src/main/resources/mapper/FullWorkOrderMapper.xml index 0274351..40e2517 100644 --- a/wms-module-system/src/main/resources/mapper/FullWorkOrderMapper.xml +++ b/wms-module-system/src/main/resources/mapper/FullWorkOrderMapper.xml @@ -1,4 +1,15 @@ + \ No newline at end of file diff --git a/wms-webapi/src/main/java/top/wms/admin/controller/fullWorkOrder/FullWorkOrderController.java b/wms-webapi/src/main/java/top/wms/admin/controller/fullWorkOrder/FullWorkOrderController.java index eeed8de..fe1686d 100644 --- a/wms-webapi/src/main/java/top/wms/admin/controller/fullWorkOrder/FullWorkOrderController.java +++ b/wms-webapi/src/main/java/top/wms/admin/controller/fullWorkOrder/FullWorkOrderController.java @@ -1,5 +1,6 @@ package top.wms.admin.controller.fullWorkOrder; +import cn.dev33.satoken.annotation.SaCheckPermission; import top.continew.starter.extension.crud.enums.Api; import io.swagger.v3.oas.annotations.tags.Tag; @@ -16,6 +17,7 @@ import top.wms.admin.fullWorkOrder.model.req.FullWorkOrderInfoReq; 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.weighManage.model.resp.WorkOrderResp; import java.util.List; diff --git a/wms-webapi/src/main/java/top/wms/admin/controller/weighManage/ah/AHDZCConnect.java b/wms-webapi/src/main/java/top/wms/admin/controller/weighManage/ah/AHDZCConnect.java index 8f4e034..090c8f7 100644 --- a/wms-webapi/src/main/java/top/wms/admin/controller/weighManage/ah/AHDZCConnect.java +++ b/wms-webapi/src/main/java/top/wms/admin/controller/weighManage/ah/AHDZCConnect.java @@ -28,9 +28,9 @@ import java.util.regex.Pattern; public class AHDZCConnect { //老设备(只能跑jar包的) - // private static final String PORT_NAME = "COM12"; + private static final String PORT_NAME = "COM12"; //新设备(环境齐全的) - private static final String PORT_NAME = "COM13"; + // private static final String PORT_NAME = "COM13"; private static final int BAUD_RATE = 9600; private static final int DATA_BITS = 8; private static final int STOP_BITS = 1;