shicf
2025-10-20 fff919c829b20fa2e8aa87e6967478aef3f15eb7
Merge branch 'dev' of http://nonxin.cn:8090/r/product/product-server-mobile-core/V2.0.0 into dev
已修改2个文件
39 ■■■■ 文件已修改
src/main/java/com/product/mobile/core/service/CommonMVCService.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/product/mobile/core/service/FaceMobileService.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/product/mobile/core/service/CommonMVCService.java
@@ -63,12 +63,16 @@
        }
        FieldSetEntity page=null;
        DataTableEntity curButtonDte = new DataTableEntity();
        if(!StringUtils.isEmpty(functionUuid)) {
            //根据按钮类型查出按钮uuid
            if(StringUtils.isEmpty(buttonUuid)&& !StringUtils.isEmpty(buttonType) ) {
                DataTableEntity d=baseDao.listTable("product_sys_function_buttons", " function_uuid=? and button_category_uuid=? ", new String[] {functionUuid,buttonType},"button_type");
                if(!DataTableEntity.isEmpty(d)) {
                    buttonUuid=d.getFieldSetEntity(0).getUUID();//取第一条
                    FieldSetEntity curButtonFse = d.getFieldSetEntity(0);
                    curButtonFse.setTableName("cur_button");
                    curButtonDte.addFieldSetEntity(curButtonFse);
                    buttonUuid=curButtonFse.getUUID();//取第一条
                }
            }
            //查出按钮对应界面,可能按钮有多个,取第一个
@@ -95,6 +99,7 @@
                .append(")");
                DataTableEntity d=baseDao.listTable(b.toString() , new String[] {functionUuid,functionUuid,page.getUUID()} );
                page.addSubDataTable(d);
                page.addSubDataTable(curButtonDte);
            }else {
                throw new BaseException(MobileCoreCode.GET_ROUTER_FAIL);
            }
src/main/java/com/product/mobile/core/service/FaceMobileService.java
@@ -30,6 +30,7 @@
import javax.annotation.Resource;
import java.util.*;
import java.util.stream.Collectors;
/**
 * @Author cheng
@@ -55,7 +56,7 @@
     */
    public Object getFaceConfig(FieldSetEntity fse) {
        String tableUuid = fse.getString("table_uuid");
        String tableUuid = fse.getString("table_uuid");
        if (tableUuid == null && StringUtils.isNotEmpty(fse.getString("uuid"))
                && StringUtils.isEmpty(fse.getString("table_name"))) {
            //通过业务表信息查表单信息
@@ -86,13 +87,31 @@
        Object o = getFaceFieldByTable(fse);
        if (o instanceof FaceListEntity) {
            return o;
            FaceListEntity faceListEntity = (FaceListEntity) o;
            List<FaceListEntity.FaceField> faceFieldList = faceListEntity.getFaceFields();
            List<JSONObject> objList = faceFieldList.stream().map(faceField -> {
                JSONObject obj = JSONObject.parseObject(com.alibaba.fastjson.JSONObject.toJSONString(faceField));
                obj.put("name", obj.getString("columnName"));
                obj.put("field", obj.getString("fieldName"));
                return obj;
            }).collect(Collectors.toList());
            return objList;
        }
        List<FaceFieldEntity> ls = (List<FaceFieldEntity>) o;
        if (ls == null) ls = new ArrayList<FaceFieldEntity>();
        //递归把主表和子表的字段属性添加进去,如果没有配表单,则取表数据结构进行展示
        addproperty(tableUuid, fse.getString("table_name"), ls);
        //所有表单uuid自动添加,并为hidden
        // 移动端若是没有配置表单信息,那么就最多显示10个字段,且需要剔除到部分字段
        String clientType = fse.getString("client_type");
        if ("app".equals(clientType)) {
            List<String> exceptList = Arrays.asList("uuid", "org_level_uuid", "created_by", "created_utc_datetime");
            ls = ls.stream().filter(obj -> !exceptList.contains(obj.getField())).collect(Collectors.toList());
            if (ls.size() > 10) {
                ls = ls.subList(0, 10);
            }
        }
        return ls;
    }
@@ -251,7 +270,14 @@
            throw new BaseException(MobileCoreCode.SYSTEM_FORM_COUNT);
        }
        String faceType = BaseUtil.ifNull(fse.getString("face_type"), "2");
        FieldSetEntity faceFse = getBaseDao().getFieldSetByFilter("product_sys_face", "table_uuid=? and face_type=?", new Object[]{tableUuid, faceType}, true);
        String faceNumber = fse.getString("face_number");
        String filter = "table_uuid=? and face_type=? AND LENGTH(IFNULL(face_number,''))>0";
        Object[] paramArr = new Object[]{tableUuid, faceType};
        if (!StringUtils.isEmpty(faceNumber)) {
            filter = "face_number=?";
            paramArr = new Object[]{faceNumber};
        }
        FieldSetEntity faceFse = getBaseDao().getFieldSetByFilter("product_sys_face", filter, paramArr, true);
        faceFse.setTableName(tableName);
        //列表,且找到了配置表单,只有列表单
        if ("1".equals(faceType) && !FieldSetEntity.isEmpty(faceFse)) {