package com.vci.rmip.code.client.codeapply.Apply410;
|
|
import cn.hutool.json.JSONUtil;
|
import com.alibaba.fastjson.JSONObject;
|
import com.vci.base.ui.swing.components.table.AbstractVCIJTableDataProvider;
|
import com.vci.base.ui.swing.components.table.VCIJTableNode;
|
import com.vci.rmip.code.client.codeapply.Apply410.object.BaseModel;
|
import com.vci.rmip.code.client.codeapply.Apply410.object.Page;
|
import com.vci.rmip.code.client.codeapply.Apply410.object.R;
|
import com.vci.rmip.code.client.codeapply.Apply410.utils.HttpUtil;
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.vci.base.ui.swing.VCIOptionPane;
|
import com.vci.ubcs.code.vo.webserviceModel.coderule.CodeShowFieldConfigVO;
|
import com.vci.ubcs.code.vo.webserviceModel.coderule.CodeSrchCondConfigVO;
|
import com.vci.rmip.code.client.codeapply.Apply410.object.UIFormRefer;
|
import com.vci.rmip.code.client.codeapply.Apply410.utils.ConfigUtils;
|
import com.vci.ubcs.starter.web.util.VciBaseUtil;
|
import net.logstash.logback.encoder.org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
|
import java.util.*;
|
|
public class CodeDataMainPanelDataProvider extends AbstractVCIJTableDataProvider<BaseModel> {
|
private CodeDataMainPanel ownerPanel;
|
private String[] specialColumns = {};
|
private String url= ConfigUtils.getConfigValue("410.code.url","http://127.0.0.1:36014/codeApplySwingController");
|
private String[] fields = {};
|
|
public CodeDataMainPanelDataProvider(CodeDataMainPanel ownerPanel) {
|
this.ownerPanel=ownerPanel;
|
}
|
|
@Override
|
public String[] getSpecialColumns() {
|
LinkedList<String> nameList = new LinkedList<>();
|
LinkedList<String> fieldList = new LinkedList<>();
|
List<CodeShowFieldConfigVO> colsList=ownerPanel.getUiFormRefer().getCodeShowFieldConfigVOS();
|
for (CodeShowFieldConfigVO columns : colsList) {
|
String title= columns.getTitle();
|
String field=columns.getField();
|
nameList.add(title);
|
fieldList.add(field);
|
}
|
specialColumns = nameList.toArray(new String[]{});
|
fields = fieldList.toArray(new String[]{});
|
return specialColumns;
|
}
|
|
@Override
|
public int getTotal() {
|
return total;
|
}
|
|
@Override
|
public VCIJTableNode<BaseModel> getNewRowNode(BaseModel model) {
|
Map<String,String> dataMap= model.getData();
|
Map<String, String> defaultDataMap= VciBaseUtil.objectToMapString(model);
|
defaultDataMap.putAll(dataMap);
|
VCIJTableNode<BaseModel> res = new VCIJTableNode<BaseModel>(model);
|
int i=dataColumnStartIndex;
|
for (String field:fields){
|
String data=defaultDataMap.containsKey(field) ? defaultDataMap.get(field) : "" ;
|
res.setPropertyValue(getColumns()[i++], data);
|
}
|
return res;
|
}
|
|
@Override
|
public BaseModel[] getDatas(int pageIndex, int pageSize) {
|
/**系统只加载代码项 如果libName不为空,直接获取对应的代码项**/
|
Map<String,String> condtionMap=new HashMap<>();
|
Page<BaseModel> iPage= new Page<BaseModel>() {};
|
try{
|
UIFormRefer uiFormRefer= this.ownerPanel.getUiFormRefer();
|
condtionMap.put("referType", StringUtils.isBlank(uiFormRefer.getReferType())?"":uiFormRefer.getReferType());
|
condtionMap.put("page",pageIndex+"");
|
condtionMap.put("limit",pageSize+"");
|
|
List<CodeSrchCondConfigVO> codeSrchCondConfigVOS=uiFormRefer.getCodeSrchCondConfigVOS();
|
JSONObject jsonObject=new JSONObject();
|
if(!CollectionUtils.isEmpty(codeSrchCondConfigVOS)){
|
for (CodeSrchCondConfigVO codeSrchCondConfigVO : codeSrchCondConfigVOS) {
|
String field=codeSrchCondConfigVO.getFilterField();
|
String value=codeSrchCondConfigVO.getFilterValue();
|
String filterType= codeSrchCondConfigVO.getFilterType();
|
condtionMap.put("conditionMap["+field+"]",value);
|
}
|
}
|
Map<String, String> customCondtionMap=ownerPanel.getCustomCondtionMap();
|
if(customCondtionMap!=null&&customCondtionMap.size()>0){
|
for(String field : customCondtionMap.keySet()){
|
condtionMap.put("conditionMap["+field+"]",customCondtionMap.get(field));
|
}
|
}
|
Map<String,String> headerMap=new HashMap<>();
|
headerMap.put("Blade-Auth",this.ownerPanel.getTokenUserObject().getAccess_token());
|
|
R r= HttpUtil.sendGet(url+"/defaultReferDataGrid",condtionMap,headerMap);
|
|
if(r.isSuccess()){
|
Object object= r.getData();
|
if(object!=null) {
|
ObjectMapper objectMapper = new ObjectMapper();
|
iPage = objectMapper.readValue(object.toString(), Page.class);
|
}
|
}else{
|
VCIOptionPane.showMessage(this.ownerPanel,r.getMsg());
|
}
|
} catch (JsonProcessingException e) {
|
e.printStackTrace();
|
}
|
this.total= new Long(iPage.getTotal()).intValue();
|
List dataList= iPage.getRecords();
|
BaseModel [] baseModels=new BaseModel[]{};
|
if(!CollectionUtils.isEmpty(dataList)) {
|
List<BaseModel> hostInfos = new ArrayList<>();
|
for (Object entity : dataList) {
|
hostInfos.add(JSONUtil.toBean(JSONUtil.parseObj(entity),BaseModel.class));
|
}
|
baseModels = hostInfos.toArray(new BaseModel[]{});
|
}
|
return baseModels;
|
}
|
}
|