diff --git a/src/main/java/tech/riemann/ims/controller/platform/material/ApplyFormController.java b/src/main/java/tech/riemann/ims/controller/platform/material/ApplyFormController.java index 28d5484..1ddec1f 100644 --- a/src/main/java/tech/riemann/ims/controller/platform/material/ApplyFormController.java +++ b/src/main/java/tech/riemann/ims/controller/platform/material/ApplyFormController.java @@ -161,6 +161,8 @@ public class ApplyFormController { .setSql(!detail.getAssignRule(), "m_stock = m_stock + " + detail.getQuantity()) )); + } else if (applyType == ApplyTypeEnum.SCRAP_OUT) { + // } } @@ -346,7 +348,7 @@ public class ApplyFormController { private Map> getStockMap(Long applyId) { ApplyForm applyForm = applyFormService.getById(applyId); List materialIds = new ArrayList<>(); - if (applyForm.getAuditType() == AuditTypeEnum.PARTIAL) { + if (applyForm.getAuditType() == AuditTypeEnum.MANUAL) { // 部分盘点 List applyDetails = applyDetailService.list(Wrappers.lambdaQuery().eq(ApplyDetail::getApplyId, applyId)); materialIds = applyDetails.stream().map(ApplyDetail::getMaterialId).toList(); diff --git a/src/main/java/tech/riemann/ims/controller/platform/material/MaterialController.java b/src/main/java/tech/riemann/ims/controller/platform/material/MaterialController.java index 87c96d1..d82ec0a 100644 --- a/src/main/java/tech/riemann/ims/controller/platform/material/MaterialController.java +++ b/src/main/java/tech/riemann/ims/controller/platform/material/MaterialController.java @@ -20,6 +20,7 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import tech.riemann.ims.entity.material.Material; import tech.riemann.ims.service.material.IMaterialService; +import tech.riemann.ims.service.material.ITypeService; import tech.riemann.ims.utils.BarcodeUtil; import javax.annotation.Nonnull; @@ -39,6 +40,7 @@ import java.util.concurrent.TimeUnit; public class MaterialController { private final IMaterialService materialService; + private final ITypeService typeService; LoadingCache cache = CacheBuilder.newBuilder() .concurrencyLevel(8) @@ -65,21 +67,25 @@ public class MaterialController { @Parameter(description = "搜索关键词") @RequestParam(required = false, defaultValue = "") String key) { boolean hasLike = Strings.isNotBlank(key); key = String.format("%%%s%%", key); - return materialService.page(Page.of(page, size), Wrappers.lambdaQuery() - + Page result = materialService.page(Page.of(page, size), Wrappers.lambdaQuery() .like(hasLike, Material::getName, key) .or() .like(hasLike, Material::getCode, key) .or() .like(hasLike, Material::getType, key) .orderByDesc(Material::getUpdatedTime)); + result.getRecords().forEach(item -> item.setTypeName(typeService.getTypeName(item.getType()))); + return result; } @GetMapping("material/list") @Operation(summary = "查询所有物料列表") public List all(@Parameter(description = "类型") @RequestParam(required = false, defaultValue = "") String type) { - return materialService.list(Wrappers.lambdaQuery() - .likeLeft(StringUtils.isNotBlank(type), Material::getType, type)); + List all = materialService.list(Wrappers.lambdaQuery() + .likeRight(StringUtils.isNotBlank(type), Material::getType, type)); + + all.forEach(item -> item.setTypeName(typeService.getTypeName(item.getType()))); + return all; } @GetMapping("material/{id}") diff --git a/src/main/java/tech/riemann/ims/controller/platform/material/TypeController.java b/src/main/java/tech/riemann/ims/controller/platform/material/TypeController.java index bc06edf..a83cd4d 100644 --- a/src/main/java/tech/riemann/ims/controller/platform/material/TypeController.java +++ b/src/main/java/tech/riemann/ims/controller/platform/material/TypeController.java @@ -77,6 +77,6 @@ public class TypeController { .parentNo(area.getParentNo()) .build()) .toList(); - return TypeTree.buildTree(data, null); + return TypeTree.buildTree(data, "0"); } } diff --git a/src/main/java/tech/riemann/ims/entity/material/Material.java b/src/main/java/tech/riemann/ims/entity/material/Material.java index 27ba402..49001d7 100644 --- a/src/main/java/tech/riemann/ims/entity/material/Material.java +++ b/src/main/java/tech/riemann/ims/entity/material/Material.java @@ -60,6 +60,9 @@ public class Material extends IdBaseEntity { @ColDefine(notNull = false, width = 128, precision = 0) private String type; + @TableField(exist = false) + private String typeName; + @Schema(description = "价格", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @TableField("m_price") @Column("m_price") diff --git a/src/main/java/tech/riemann/ims/entity/material/Type.java b/src/main/java/tech/riemann/ims/entity/material/Type.java index caaf032..e0f65c9 100644 --- a/src/main/java/tech/riemann/ims/entity/material/Type.java +++ b/src/main/java/tech/riemann/ims/entity/material/Type.java @@ -70,8 +70,8 @@ public class Type extends IdBaseEntity { @Getter @AllArgsConstructor public enum Level implements ICodeBook { - ONE("town", "一级"), - TWO("village", "二级"), + ONE("ONE", "一级"), + TWO("TWO", "二级"), ; @EnumValue diff --git a/src/main/java/tech/riemann/ims/enums/AuditTypeEnum.java b/src/main/java/tech/riemann/ims/enums/AuditTypeEnum.java index cb01600..d8a966f 100644 --- a/src/main/java/tech/riemann/ims/enums/AuditTypeEnum.java +++ b/src/main/java/tech/riemann/ims/enums/AuditTypeEnum.java @@ -14,7 +14,7 @@ import lombok.Getter; public enum AuditTypeEnum implements ICodeBook { SCAN("1", "扫码盘点"), - PARTIAL("2", "人工盘点"), + MANUAL("2", "人工盘点"), ; @EnumValue diff --git a/src/main/java/tech/riemann/ims/service/material/ITypeService.java b/src/main/java/tech/riemann/ims/service/material/ITypeService.java index 61d3584..fc1605f 100644 --- a/src/main/java/tech/riemann/ims/service/material/ITypeService.java +++ b/src/main/java/tech/riemann/ims/service/material/ITypeService.java @@ -9,4 +9,6 @@ import tech.riemann.ims.entity.material.Type; * @since 2024/11/27 15:40 */ public interface ITypeService extends IService, IdNameEntityService { + + String getTypeName(String type); } diff --git a/src/main/java/tech/riemann/ims/service/material/impl/TypeServiceImpl.java b/src/main/java/tech/riemann/ims/service/material/impl/TypeServiceImpl.java index 11872f6..ad72bb9 100644 --- a/src/main/java/tech/riemann/ims/service/material/impl/TypeServiceImpl.java +++ b/src/main/java/tech/riemann/ims/service/material/impl/TypeServiceImpl.java @@ -1,13 +1,18 @@ package tech.riemann.ims.service.material.impl; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import lombok.RequiredArgsConstructor; +import org.apache.commons.lang3.StringUtils; import org.nutz.dao.Dao; import org.springframework.stereotype.Service; import tech.riemann.ims.entity.material.Type; import tech.riemann.ims.mapper.material.TypeMapper; import tech.riemann.ims.service.material.ITypeService; +import java.util.HashMap; +import java.util.Map; + /** * @author mayong * @since 2024/11/27 15:41 @@ -16,9 +21,25 @@ import tech.riemann.ims.service.material.ITypeService; @RequiredArgsConstructor public class TypeServiceImpl extends ServiceImpl implements ITypeService { private final Dao dao; - + Map names = new HashMap<>(); @Override public Dao dao() { return dao; } + + @Override + public String getTypeName(String no) { + String name = names.get(no); + if(StringUtils.isEmpty(name)){ + + Type type = this.baseMapper.selectOne(Wrappers.lambdaQuery().eq(Type::getNo, no)); + if(type != null){ + names.put(no, type.getName()); + return type.getName(); + }else{ + return ""; + } + } + return name; + } }