From f0bcc3aaa31f9658cbed0ef4bcc5b6de486fd903 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期三, 26 三月 2025 12:32:19 +0800 Subject: [PATCH] 物料上级分组不显示问题修复 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/MatnrService.java | 5 +- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrServiceImpl.java | 41 +++++++++++++++----- rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MatnrController.java | 22 ++++++++-- 3 files changed, 51 insertions(+), 17 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MatnrController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MatnrController.java index 19837d8..3a49ec1 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MatnrController.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MatnrController.java @@ -7,6 +7,7 @@ import com.vincent.rsf.framework.common.R; import com.vincent.rsf.framework.exception.CoolException; import com.vincent.rsf.server.common.domain.PageResult; +import com.vincent.rsf.server.common.utils.CommonUtil; import com.vincent.rsf.server.common.utils.ExcelUtil; import com.vincent.rsf.server.common.annotation.OperationLog; import com.vincent.rsf.server.common.domain.BaseParam; @@ -39,9 +40,17 @@ @PreAuthorize("hasAuthority('manager:matnr:list')") @PostMapping("/matnr/page") public R page(@RequestBody Map<String, Object> map) { +// if (!Objects.isNull(map.get("groupId"))) { +// return R.ok(matnrService.getPages(map)); +// } else { +// BaseParam baseParam = buildParam(map, BaseParam.class); +// PageParam<Matnr, BaseParam> pageParam = new PageParam<>(baseParam, Matnr.class); +// return R.ok().add(matnrService.getMatnrPage(pageParam, map)); +// } BaseParam baseParam = buildParam(map, BaseParam.class); PageParam<Matnr, BaseParam> pageParam = new PageParam<>(baseParam, Matnr.class); - return R.ok().add(matnrService.getMatnrPage(pageParam)); + return R.ok().add(matnrService.getMatnrPage(pageParam, map)); + } @PreAuthorize("hasAuthority('manager:matnr:list')") @@ -94,15 +103,18 @@ throw new CoolException("鍚嶇О涓嶈兘涓虹┖锛侊紒"); } matnr.setUpdateBy(getLoginUserId()); - if (!matnrService.updateById(matnr)) { - return R.error("Update Fail"); - } + if (!FieldsUtils.getFieldsSta().isEmpty()) { Matnr matnr1 = matnrService.getById(matnr.getId()); - params.put("fieldsIndex", matnr1.getFieldsIndex()); + if (!Objects.isNull(matnr1.getFieldsIndex())) { + params.put("fieldsIndex", matnr1.getFieldsIndex()); + } FieldsUtils.updateFieldsValue(params); } + if (!matnrService.updateById(matnr)) { + return R.error("Update Fail"); + } return R.ok("Update Success").add(matnr); } diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/MatnrService.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/MatnrService.java index fd486bd..09f3c06 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/MatnrService.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/MatnrService.java @@ -1,6 +1,5 @@ package com.vincent.rsf.server.manager.service; -import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.vincent.rsf.framework.common.R; import com.vincent.rsf.server.common.domain.BaseParam; @@ -17,11 +16,13 @@ R saveMatnrs(Map<String, Object> matnr); - PageParam<Matnr, BaseParam> getMatnrPage(PageParam<Matnr, BaseParam> pageParam); + PageParam<Matnr, BaseParam> getMatnrPage(PageParam<Matnr, BaseParam> pageParam, Map<String, Object> map); Matnr selectMatnrById(Long id); boolean bindMatnrs(MatnrToGroupParams params); boolean batchUpdate(MatnrToGroupParams params); + + PageParam<Matnr, BaseParam> getPages(Map<String, Object> map); } diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrServiceImpl.java index 373d76a..fd66a2d 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrServiceImpl.java @@ -4,6 +4,7 @@ import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.vincent.rsf.framework.common.R; @@ -32,6 +33,7 @@ import java.util.List; import java.util.Map; import java.util.Objects; +import java.util.stream.Collectors; @Service("matnrService") public class MatnrServiceImpl extends ServiceImpl<MatnrMapper, Matnr> implements MatnrService { @@ -103,19 +105,31 @@ } @Override - public PageParam<Matnr, BaseParam> getMatnrPage(PageParam<Matnr, BaseParam> pageParam) { - IPage<Map<String, Object>> reulst = this.baseMapper.selectMatnrs(pageParam, pageParam.buildWrapper(true)); - /**鑾峰彇鐗╂枡鍒嗛〉淇℃伅 */ - List<Map<String, Object>> mapList = reulst.getRecords(); - if (!mapList.isEmpty()) { - mapList.forEach(map -> { - if (!Objects.isNull(map.get("fieldsIndex"))) { - FieldsUtils.mergeFields(map, map.get("fieldsIndex").toString()); + public PageParam<Matnr, BaseParam> getMatnrPage(PageParam<Matnr, BaseParam> pageParam, Map<String, Object> params) { + QueryWrapper<Matnr> queryWrapper = pageParam.buildWrapper(true); + if (params.containsKey("groupId")) { + Object groupId = params.get("groupId"); + if (!Objects.isNull(groupId)) { + List<MatnrGroup> matnrGroups = matnrGroupService.list(new LambdaQueryWrapper<MatnrGroup>().eq(MatnrGroup::getParentId, Long.parseLong(groupId.toString())).select(MatnrGroup::getId)); + if (!matnrGroups.isEmpty()) { + List<Long> longs = matnrGroups.stream().map(MatnrGroup::getId).collect(Collectors.toList()); + queryWrapper.or().in("group_id", longs); } - }); + } } +// IPage<Map<String, Object>> reulst = this.baseMapper.selectMatnrs(pageParam, queryWrapper); +// /**鑾峰彇鐗╂枡鍒嗛〉淇℃伅 */ +// List<Map<String, Object>> mapList = reulst.getRecords(); +// if (!mapList.isEmpty()) { +// mapList.forEach(map -> { +// if (!Objects.isNull(map.get("fieldsIndex"))) { +// FieldsUtils.mergeFields(map, map.get("fieldsIndex").toString()); +// } +// }); +// } - PageParam<Matnr, BaseParam> page = this.page(pageParam, pageParam.buildWrapper(true)); + /**鎷兼帴鎵╁睍瀛楁*/ + PageParam<Matnr, BaseParam> page = this.page(pageParam, queryWrapper); List<Matnr> records = page.getRecords(); for (Matnr record : records) { if (!Objects.isNull(record.getFieldsIndex())) { @@ -198,6 +212,13 @@ return true; } + @Override + public PageParam<Matnr, BaseParam> getPages(Map<String, Object> map) { + + + return null; + } + /** * @desc 鏇存柊鎵╁睍鐗╂枡鎵╁睍瀛楁鍊� * @param matnr -- Gitblit v1.9.1