许鹏程
2024-10-08 d94ade5a7cee4d3067e4c3b05cbb2e3c9d2f68fd
绑定字段bug
已修改1个文件
48 ■■■■ 文件已修改
src/main/java/com/product/mobile/core/service/FaceMobileService.java 48 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/product/mobile/core/service/FaceMobileService.java
@@ -41,18 +41,18 @@
    @Resource
    FlowDetailService flowDetailService;
    @Autowired
    public BaseDao baseDao;
    ///获取表单总入口
    /**
     *
     *
     * @param fse传入表名,或 表UUID
     * @return
     */
    public List<FaceFieldEntity> getFaceConfig(FieldSetEntity fse) {
        String tableUuid=fse.getString("table_uuid");
        if (tableUuid==null && StringUtils.isNotEmpty(fse.getString("uuid"))
                && StringUtils.isEmpty(fse.getString("table_name"))) {
@@ -62,7 +62,7 @@
                //获取表名
                fse.setValue("table_name", detailFse.getString("table_name"));
            }
        }
        //通过审批任务的uuid来查表单信息
        if (tableUuid==null && StringUtils.isNotEmpty(fse.getString("table_name"))) {
@@ -72,26 +72,26 @@
                fse.setValue("table_uuid", tableUuid);
            }
        }
        if(tableUuid!=null && fse.getString("table_name")==null) {
            FieldSetEntity tableInfo = BaseUtil.getSingleInfoByCache("所有表信息(uuid)", new String[]{tableUuid});
            if (!FieldSetEntity.isEmpty(tableInfo)) {
                //获取表名
                fse.setValue("table_name", tableInfo.getString("table_name"));
            }
        }
        List<FaceFieldEntity> ls=getFaceFieldByTable(fse);
        if(ls==null)ls=new ArrayList<FaceFieldEntity>();
        addproperty(tableUuid,fse.getString("table_name"),ls);
        //所有表单uuid自动添加,并为hidden
        return ls;
    }
    //递归把主表和子表的字段属性添加进去,如果没有配表单,则取表数据结构进行展示
    /**
     *
     *
     * @param ls查出来的表单信息
     * @param tables 记录的所有表,对应的表单信息
     */
@@ -102,20 +102,20 @@
                if(StringUtils.isEmpty(subTableName)) {///主表字段
                    DataTableEntity dt = DataPoolCacheImpl.getInstance().getCacheData("表字段信息"
                            ,new String[] {table_uuid,ls.get(i).getField()});
                    if(!DataTableEntity.isEmpty(dt)) {
//                        if(StringUtils.isEmpty(ls.get(i).getType())) {
//                            ls.get(i).setType(dt.getFieldSetEntity(0).getString("field_type"));
//                        }
                        if(StringUtils.isEmpty(ls.get(i).getPrompt()) &&
                        if(StringUtils.isEmpty(ls.get(i).getPrompt()) &&
                                !StringUtils.isEmpty(dt.getFieldSetEntity(0).getString("field_reference"))) {
                            ls.get(i).setPrompt(dt.getFieldSetEntity(0).getString("field_reference"));
                        }
                        if(StringUtils.isEmpty(ls.get(i).getRequired()) &&
                        if(StringUtils.isEmpty(ls.get(i).getRequired()) &&
                                !StringUtils.isEmpty(dt.getFieldSetEntity(0).getString("is_required"))) {
                            ls.get(i).setRequired(dt.getFieldSetEntity(0).getString("is_required"));
                        }
                        if(StringUtils.isEmpty(ls.get(i).getName()) &&
                        if(StringUtils.isEmpty(ls.get(i).getName()) &&
                                !StringUtils.isEmpty(dt.getFieldSetEntity(0).getString("field_show_name"))) {
                            ls.get(i).setName(dt.getFieldSetEntity(0).getString("field_show_name"));
                        }
@@ -129,7 +129,7 @@
                        addproperty(tableInfo.getString("uuid"),tableInfo.getString("table_name"),ls.get(i).getSubField());
                    }
                }
            }
            DataTableEntity dt = DataPoolCacheImpl.getInstance().getCacheData("表字段信息",new String[] {table_uuid,"uuid"});
            if(!DataTableEntity.isEmpty(dt)) {
@@ -139,10 +139,10 @@
                uuid.setName("编  码");
                uuid.setType("String");
                uuid.setTable(table_name);
                uuid.setHidden("1");
                uuid.setHidden("1");
                ls.add(uuid);
            }
        }else {///以表单设计为准,如果没有配置表单,则以数据表为准,全部保留
            toConvertFace(table_uuid,table_name,ls,null);
            //返回子表
@@ -152,7 +152,7 @@
                    toConvertFace(sub[0][i].toString(),sub[1][i].toString(),new ArrayList<FaceFieldEntity>(),ls);
                }
            }
        }
    }
    /**
@@ -170,20 +170,20 @@
        for(int j=0;j<dte.getRows();j++) {
            FaceFieldEntity uuid=new FaceFieldEntity();
            FieldSetEntity f=dte.getFieldSetEntity(j);
            if("pk".equals(f.getString("field_type"))
            if("pk".equals(f.getString("field_type"))
                    ||"updated_by".equals(f.getString("field_name"))
                    ||"updated_utc_datetime".equals(f.getString("field_name"))) {
                continue;
            }
            if("uuid".equals(f.getString("field_name"))) {
                uuid.setHidden("1");
                uuid.setHidden("1");
            }
            if("userids".equals(f.getString("field_type")) ||"orgUuids".equals(f.getString("field_type")) ) {
                uuid.setMultiple("1");
            }else {
                uuid.setMultiple("0");
            }
            uuid.setComponentType("");
            uuid.setPrompt(f.getString("field_reference"));
            uuid.setName(f.getString("field_show_name"));
@@ -194,7 +194,7 @@
        }
        if(pls!=null) {
            FaceFieldEntity uuid=new FaceFieldEntity();
            uuid.setHidden("");
            uuid.setHidden("");
            uuid.setComponentType("subTable");
            uuid.setPrompt("");
            uuid.setName("");
@@ -205,7 +205,7 @@
            pls.add(uuid);
        }
    }
    public List<FaceFieldEntity> getFaceFieldByTable(FieldSetEntity fse) {
        String tableUuid = fse.getString("table_uuid");
        String tableName = fse.getString("table_name");
@@ -456,7 +456,7 @@
                    }
                }
                propertyName = StrUtil.toCamelCase(propertyName);
                if (ReflectUtil.hasField(FaceFieldEntity.class, propertyName)) {
                if (ReflectUtil.hasField(FaceFieldEntity.class, propertyName) && !"field".equals(setEntity.getString("property_name"))) {
                    ReflectUtil.setFieldValue(faceFieldEntity, propertyName, setEntity.getObject("property_value"));
                } else if (!StringUtils.isEmpty(setEntity.getObject("property_value"))) {