package com.huigou.uasp.form.application;
 import java.util.List;
import java.util.Map;

 import com.huigou.uasp.builder.vo.ParamFormVO;
 import com.huigou.uasp.form.domain.model.FormAttribute;
import com.huigou.uasp.form.domain.model.FormButtonVO;
import com.huigou.uasp.form.domain.model.PropertyDefines;
import com.huigou.uasp.form.domain.model.SafFormslist;
import com.huigou.uasp.form.domain.query.FormParameterQueryRequest;
import com.huigou.uasp.form.domain.query.SafFormsQueryRequest;



public interface SafFormslistApplication { 
 
	Map<String,Object> querySyfForms(SafFormsQueryRequest queryRequest);
 
	SafFormslist  loadSyfForms(String id);
 
    void deleteSyfFormsByIds(List<String> ids);
  
    List<Map<String, Object>> queryTableProperty(SafFormsQueryRequest queryRequest);
    
  //  String saveTableFieldAttributeList_old(String id,String tableName,List<PropertyDefines> plist);
    
    List<Map<String, Object>> queryformButtonList(SafFormsQueryRequest queryRequest);
    
    List<Map<String, Object>> queryDisplayListFields(SafFormsQueryRequest queryRequest);
    
    List<Map<String, Object>> queryDisplaySearchFields(SafFormsQueryRequest queryRequest);
    
    //查询表单配置列表数据
    List<Map<String, Object>> queryFormParameter(FormParameterQueryRequest queryRequest);
    
    String saveFormButtonLists(String id,String tableName,List<FormButtonVO> blist);
    
    String saveDisplayListFields(String formId,List<FormAttribute> blist);
    
    String saveSearchFields(String formId,List<FormAttribute> blist);
    
    String saveCustomButton(String formId,String btnName,String btnValue);
    
    String deleteCustomButton(String formId,String btnName,String btnValue);
    
     String saveOrUpdateForm(SafFormslist form);
    
	//查询待选择的数据模型
	 Map<String, Object>  queryAlternativeTableLists(SafFormsQueryRequest queryRequest);

     //查询已经选择的数据模型 
	 List<Map<String, Object>> querySelectedTableLists(SafFormsQueryRequest queryRequest);
	 
	 
	 //保存表单
	 String saveSafForms(SafFormslist safFormslist,List <Object>plist);
	 
	 //生成菜单信息
	 Map<String, Object> produceMenuList(SafFormsQueryRequest queryRequest);
	 
	  /*
	     * 是否生成页面文件
	     */
      String needGenerateFile(String formNo);
	 
	  //查询单值的属性 
	//  List<Map<String, Object>> queryDataRecordSingleFields(SafFormsQueryRequest queryRequest);
	  
	   String saveTableFieldAttributeList_old(String id,String tableName,List<PropertyDefines> plist);
	  
	   //*查询存在的细表
      List<Map<String, Object>> queryExistTables(SafFormsQueryRequest queryRequest);
    
      
      //删除表单设置 
  	  void deleteFormSettings(String type,List<String> ids);
    
    	//查询表单配置函数或过程的 内容
      Map<String, Object> queryFormFunctionOrProcduceContent(FormParameterQueryRequest queryRequest);
       //获取明细相关对象信息
      ParamFormVO getDetailTables(SafFormsQueryRequest queryRequest, ParamFormVO paraForms);
       //获取字段属性
      ParamFormVO getFieldAttributes(SafFormsQueryRequest queryRequest);
}
