🎨 逻辑修改
All checks were successful
Release / Release (push) Successful in 47s

This commit is contained in:
my_ong 2025-03-08 15:32:35 +08:00
parent 3ccc377c3a
commit 76b9b901ea
8 changed files with 44 additions and 10 deletions

View File

@ -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<Long, List<MaterialStockDetail>> getStockMap(Long applyId) {
ApplyForm applyForm = applyFormService.getById(applyId);
List<Long> materialIds = new ArrayList<>();
if (applyForm.getAuditType() == AuditTypeEnum.PARTIAL) {
if (applyForm.getAuditType() == AuditTypeEnum.MANUAL) {
// 部分盘点
List<ApplyDetail> applyDetails = applyDetailService.list(Wrappers.<ApplyDetail>lambdaQuery().eq(ApplyDetail::getApplyId, applyId));
materialIds = applyDetails.stream().map(ApplyDetail::getMaterialId).toList();

View File

@ -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<String, String> 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.<Material>lambdaQuery()
Page<Material> result = materialService.page(Page.of(page, size), Wrappers.<Material>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<Material> all(@Parameter(description = "类型") @RequestParam(required = false, defaultValue = "") String type) {
return materialService.list(Wrappers.<Material>lambdaQuery()
.likeLeft(StringUtils.isNotBlank(type), Material::getType, type));
List<Material> all = materialService.list(Wrappers.<Material>lambdaQuery()
.likeRight(StringUtils.isNotBlank(type), Material::getType, type));
all.forEach(item -> item.setTypeName(typeService.getTypeName(item.getType())));
return all;
}
@GetMapping("material/{id}")

View File

@ -77,6 +77,6 @@ public class TypeController {
.parentNo(area.getParentNo())
.build())
.toList();
return TypeTree.buildTree(data, null);
return TypeTree.buildTree(data, "0");
}
}

View File

@ -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")

View File

@ -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

View File

@ -14,7 +14,7 @@ import lombok.Getter;
public enum AuditTypeEnum implements ICodeBook {
SCAN("1", "扫码盘点"),
PARTIAL("2", "人工盘点"),
MANUAL("2", "人工盘点"),
;
@EnumValue

View File

@ -9,4 +9,6 @@ import tech.riemann.ims.entity.material.Type;
* @since 2024/11/27 15:40
*/
public interface ITypeService extends IService<Type>, IdNameEntityService<Type> {
String getTypeName(String type);
}

View File

@ -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<TypeMapper, Type> implements ITypeService {
private final Dao dao;
Map<String, String> 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.<Type>lambdaQuery().eq(Type::getNo, no));
if(type != null){
names.put(no, type.getName());
return type.getName();
}else{
return "";
}
}
return name;
}
}