inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java
@@ -4,6 +4,7 @@
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -317,7 +318,7 @@
                        && Objects.equals((sp.getInspectionItemSubclass() == null) ? "" : sp.getInspectionItemSubclass(), pl.getInspectionItemSubclass() == null ? "" : pl.getInspectionItemSubclass())
//                        && Objects.equals(sp.getSample(), pl.getSample())
                        && Objects.equals(sp.getModel(), pl.getModel())
                        && sp.getTree().indexOf(pl.getSample()==null?"null":pl.getSample())>-1
                        && sp.getTree().indexOf(pl.getSample() == null ? "null" : pl.getSample()) > -1
                        && Objects.equals(sp.getStructureItemParameterId(), pl.getStructureItemParameterId())) {
                    pl.setId(sp.getId());
                    if (sp.getState() != null && !sp.getState().equals("")) {
@@ -380,10 +381,20 @@
            String field1 = o1.getManHourGroup();
            String field2 = o2.getManHourGroup();
            int num1 = extractNumber(field1);
            int num2 = extractNumber(field2);
            boolean isEmpty1 = field1 == null || field1.isEmpty();
            boolean isEmpty2 = field2 == null || field2.isEmpty();
            return Integer.compare(num1, num2);
            if (isEmpty1 && isEmpty2) {
                return 0;
            } else if (isEmpty1) {
                return 1;
            } else if (isEmpty2) {
                return -1;
            } else {
                int num1 = extractNumber(field1);
                int num2 = extractNumber(field2);
                return Integer.compare(num1, num2);
            }
        });
        try {
            map.put("productList", list.subList((page - 1) * 50, page * 50));
@@ -396,7 +407,10 @@
    private int extractNumber(String s) {
        // 从字符串中提取数字的逻辑,这里假设字段的格式是 "text<number>"
        String number = s.replaceAll("\\D", "");
        String number = s;
        if (!s.matches("\\d+")) {
            number = s.replaceAll("\\D", "");
        }
        return Integer.parseInt(number);
    }
@@ -409,18 +423,27 @@
    }
    @Override
    public Map<String, List<?>> selectStandardProductEnumByMethodId(Integer id, String tree) {
    public Map<String, List<?>> selectStandardProductEnumByMethodId(Integer id, String tree, String item) {
        HashMap<String, List<?>> map = new HashMap<>();
        map.put("item", standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery()
                .eq(StandardProductList::getStandardMethodListId, id)
                .like(StandardProductList::getTree, tree)
                .select(StandardProductList::getInspectionItem)
                .groupBy(StandardProductList::getInspectionItem)));
        map.put("items", standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery()
                .eq(StandardProductList::getStandardMethodListId, id)
                .like(StandardProductList::getTree, tree)
                .select(StandardProductList::getInspectionItemSubclass)
                .groupBy(StandardProductList::getInspectionItemSubclass)));
        if (ObjectUtils.isNotEmpty(item)) {
            map.put("items", standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery()
                    .eq(StandardProductList::getStandardMethodListId, id)
                    .eq(StandardProductList::getInspectionItem, item)
                    .like(StandardProductList::getTree, tree)
                    .select(StandardProductList::getInspectionItemSubclass)
                    .groupBy(StandardProductList::getInspectionItemSubclass)));
        } else {
            map.put("items", standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery()
                    .eq(StandardProductList::getStandardMethodListId, id)
                    .like(StandardProductList::getTree, tree)
                    .select(StandardProductList::getInspectionItemSubclass)
                    .groupBy(StandardProductList::getInspectionItemSubclass)));
        }
        return map;
    }
}