skyouc
2025-03-26 f0bcc3aaa31f9658cbed0ef4bcc5b6de486fd903
物料上级分组不显示问题修复
3个文件已修改
68 ■■■■ 已修改文件
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/MatnrController.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/MatnrService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/MatnrServiceImpl.java 41 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);
    }
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);
}
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