package com.vci.web.service.uidataservice.impl; import com.vci.corba.query.data.KV; import com.vci.pagemodel.UIFormDataVO; import com.vci.query.UIDataGridQuery; import com.vci.query.UIFormQuery; import com.vci.query.UITreeQuery; import com.vci.starter.web.pagemodel.BaseResult; import com.vci.starter.web.pagemodel.DataGrid; import com.vci.starter.web.pagemodel.UIDataTree; import com.vci.starter.web.util.VciBaseUtil; import com.vci.web.service.uidataservice.UIDataBaseServiceI; import com.vci.web.util.PlatformClientUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; import java.util.Map; /** * 这是一个自定义查询类的示例服务 * @author ludc * @date 2024/12/5 13:00 */ @Service public class UIDataTestQueryServiceImpl implements UIDataBaseServiceI { @Override public DataGrid getDataForGrid(UIDataGridQuery dataGridQuery) throws Exception { // TODO: 2024/12/5 Ludc 反射方式调用,所以只能通过newPlatformClientUtil的形式,注解形式服务注入 PlatformClientUtil platformClientUtil = new PlatformClientUtil(); String sql = "select * from " + VciBaseUtil.getTableName(dataGridQuery.getBtmName()) + " where oid in ('D5DFA9D3-D2AF-4D1D-850F-73B102532740','BCE5B0E3-A49C-2453-8E62-8F4C7F4BEDF2','257BB15B-12CF-68D2-FCFE-1FA3E29DBD1E')"; KV[][] kvs = platformClientUtil.getQueryService().queryBySql(sql); List> resultMap = convertKV2ListMap(kvs); DataGrid dataGrid = new DataGrid(); dataGrid.setData(resultMap); dataGrid.setTotal(resultMap.size()); // TODO: 2024/12/5 Ludc 这儿还可以按照dataGridQuery.getTableDefineId()来查询表格定义的内容, // 然后根据配置的页面信息来处理要查询条件或列以及返回的参数 return dataGrid; } @Override public UIFormDataVO getDataForForm(UIFormQuery formQuery) throws Exception { return null; } @Override public List getDataForTree(UITreeQuery treeQuery) throws Exception { return null; } @Override public BaseResult getDataByTemp(UITreeQuery treeQuery) throws Exception { return null; } }