From 50b1b07bfa382c3f19c6b23f1cff4dfa50294f07 Mon Sep 17 00:00:00 2001 From: 石广澎 <shiguangpeng@163.com> Date: 星期四, 30 十一月 2023 10:58:38 +0800 Subject: [PATCH] feat: 库存管理 增加加载状态 --- consum-base/src/main/java/com/consum/base/service/BaseCategoryServiceImpl.java | 89 +++++++++++++++++++++++++++++++++++++++----- 1 files changed, 78 insertions(+), 11 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/service/BaseCategoryServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/BaseCategoryServiceImpl.java index f45ac8b..337af22 100644 --- a/consum-base/src/main/java/com/consum/base/service/BaseCategoryServiceImpl.java +++ b/consum-base/src/main/java/com/consum/base/service/BaseCategoryServiceImpl.java @@ -2,17 +2,20 @@ import com.consum.base.Constants; import com.consum.base.pojo.BaseCategoryParam; -import com.consum.base.util.IdUtil; +import com.consum.base.pojo.ProjectTreeResult; +import com.consum.base.core.utils.IdUtil; import com.consum.model.po.BaseCategory; import com.iplatform.model.po.S_user_core; import com.walker.db.page.GenericPager; import com.walker.infrastructure.utils.DateUtils; import com.walker.infrastructure.utils.StringUtils; import com.walker.jdbc.service.BaseServiceImpl; +import java.util.Comparator; +import java.util.HashMap; +import java.util.List; +import java.util.stream.Collectors; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; - -import java.util.HashMap; /** * @Description 鐗╁搧鍒嗙被 @@ -21,6 +24,8 @@ */ @Service public class BaseCategoryServiceImpl extends BaseServiceImpl { + + private static final String QUERY_TREE_ALL = "select * from base_category where states = 1 order by FATHER_CATEGORY_ID, LEVELS ASC"; /** * @Description 鏂板鍒嗙被 @@ -32,7 +37,9 @@ BeanUtils.copyProperties(param, baseCategory); baseCategory.setId(IdUtil.generateId()); //灞傜骇 - if (baseCategory.getFatherCategoryId() == 0L) { //涓�绾у垎绫� + if (baseCategory.getFatherCategoryId() == null) { + //涓�绾у垎绫� + baseCategory.setFatherCategoryId(0L); baseCategory.setLevels(Constants.LEVELS_ONE); } else { //鏍规嵁鐖剁被id鏌ヨ涓婄骇鍒嗙被淇℃伅 @@ -53,11 +60,11 @@ } /** + * @param categoryName + * @param fatherCategoryId * @Description 鏍规嵁鍒嗙被鍚嶇О鍜岀埗绫籭d鏌ヨ鍒嗙被 * @Author 鍗㈠簡闃� * @Date 2023/10/23 - * @param categoryName - * @param fatherCategoryId */ public BaseCategory getByCategoryNameAndFatherCategoryId(String categoryName, Long fatherCategoryId) { StringBuilder sql = new StringBuilder("SELECT * FROM base_category WHERE 1 = 1 "); @@ -81,7 +88,11 @@ public GenericPager<BaseCategory> queryBaseCategoryList(BaseCategoryParam param) { StringBuilder sql = new StringBuilder("SELECT * FROM base_category WHERE 1 = 1 "); HashMap<String, Object> paramts = new HashMap<>(); - + //鍒嗙被鍚嶇О + if (param.getFatherCategoryId() != null) { + sql.append("and father_category_id =:fatherCategoryId "); + paramts.put("fatherCategoryId", param.getFatherCategoryId()); + } //鍒嗙被鍚嶇О if (!StringUtils.isEmpty(param.getCategoryName())) { sql.append(" and category_name like:category_name "); @@ -94,15 +105,17 @@ } //鐘舵�� if (param.getStates() != null) { - sql.append(" and status =:status "); - paramts.put("status", param.getStates()); + sql.append(" and states =:states "); + paramts.put("states", param.getStates()); + } else { + sql.append(" and states !=3 "); } sql.append(" ORDER BY ORDER_NUMBER,CREATE_TIME DESC "); return selectSplit(sql.toString(), paramts, new BaseCategory()); } /** - * @Description 缂栬緫 + * @Description 缂栬緫 * @Author 鍗㈠簡闃� * @Date 2023/10/23 */ @@ -112,6 +125,7 @@ /** * 淇敼鐘舵�� + * * @author 鍗㈠簡闃� * @date 2023/9/27 */ @@ -120,7 +134,7 @@ } /** - * @Description 鏍规嵁鑺傜偣id鍒犻櫎鑺傜偣(閫昏緫鍒犻櫎) + * @Description 鏍规嵁id鍒犻櫎鐗╁搧鍒嗙被 * @Author 鍗㈠簡闃� * @Date 2023/10/23 */ @@ -136,10 +150,63 @@ /** * 鏍规嵁鑺傜偣id鏌ヨ鑺傜偣璇︽儏 + * * @author 鍗㈠簡闃� * @Date 2023/10/23 */ public BaseCategory getById(Long id) { return this.get(new BaseCategory(id)); } + + /** + * @Description + * @Author 鍗㈠簡闃� + * @Date 2023/10/30 + */ + public List<BaseCategory> queryForTree() { + // 灞曠ず鍏ㄩ儴鑺傜偣 + return this.select(QUERY_TREE_ALL, new Object[]{}, new BaseCategory()); + } + + public List<ProjectTreeResult> tree() { + BaseCategory categoryParam = new BaseCategory(); + categoryParam.setStates(1); + //鏌ュ嚭鎵�鏈夊垎绫� + List<BaseCategory> all = select(categoryParam); + //缁勮鎴愮埗瀛愭爲褰㈢粨鏋� + //1绾у垎绫� + List<ProjectTreeResult> menus = all.stream().filter(entity -> entity.getLevels() == 1).map(entity -> { + ProjectTreeResult projectTreeResult = new ProjectTreeResult(entity); + projectTreeResult.setChildren(getChildren(projectTreeResult, all)); + return projectTreeResult; + }).sorted(Comparator.comparingInt(menu -> (menu.getSort() == null ? 0 : menu.getSort()))).collect(Collectors.toList()); + return menus; + + } + + /** + * 閫掑綊鏌ユ壘鎵�鏈夎彍鍗曠殑瀛愯彍鍗� + */ + private List<ProjectTreeResult> getChildren(ProjectTreeResult root, List<BaseCategory> all) { + List<ProjectTreeResult> children = all.stream().filter(entity -> entity.getFatherCategoryId().equals(root.getId())).map(entity -> { + + ProjectTreeResult projectTreeResult = new ProjectTreeResult(entity); + //閫氳繃閫掑綊鎵惧埌瀛愬垎绫� + projectTreeResult.setChildren(getChildren(projectTreeResult, all)); + return projectTreeResult; + }).sorted(Comparator.comparingInt(menu -> (menu.getSort() == null ? 0 : menu.getSort()))).collect(Collectors.toList()); + return children; + } + + + /** + * @return + * @Description 涓夌骇鍒嗙被鍒楄〃鏌ヨ + * @Author 鍗㈠簡闃� + * @Date 2023/10/30 + */ + public List<BaseCategory> queryForLv3Tree() { + StringBuilder sql = new StringBuilder("SELECT * FROM base_category WHERE states = 1 and levels = 3 order by ORDER_NUMBER,CREATE_TIME desc"); + return this.select(sql.toString(), new Object[]{}, new BaseCategory()); + } } -- Gitblit v1.9.1