package com.vci.ubcs.codeapply;
|
|
import java.util.*;
|
import com.alibaba.cloud.commons.lang.StringUtils;
|
import com.fasterxml.jackson.core.JsonProcessingException;
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
import com.vci.base.ui.swing.VCIOptionPane;
|
import com.vci.base.ui.swing.components.table.AbstractVCIJTableDataProvider;
|
import com.vci.base.ui.swing.components.table.VCIJTableNode;
|
import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO;
|
import com.vci.ubcs.codeapply.object.*;
|
import com.vci.ubcs.codeapply.utils.ConfigUtils;
|
import com.vci.ubcs.codeapply.utils.HttpUtil;
|
import com.vci.ubcs.codeapply.utils.ListUtil;
|
import com.vci.ubcs.starter.web.util.VciBaseUtil;
|
import org.apache.commons.collections4.CollectionUtils;
|
|
public class CodeApplyFor410SearchProvider extends AbstractVCIJTableDataProvider<BaseModel> {
|
private String[] fields = {};
|
private boolean view = true;
|
private String codeName;
|
LinkedList<String> fieldList = new LinkedList<String>();
|
private CodeApplyFor410SearchDialog dialog = null;
|
private String url= ConfigUtils.getConfigValue("410.code.url","http://127.0.0.1:36014/codeApplySwingController");
|
public CodeApplyFor410SearchProvider(CodeApplyFor410SearchDialog dialog){
|
this.dialog = dialog;
|
}
|
|
|
@Override
|
public String[] getSpecialColumns() {
|
LinkedList<String> nameList = new LinkedList<String>();
|
CodeClassifyTemplateVO codeClassifyTemplateVO=this.dialog.getOwnerPanel().getCurrentCodeClassifyTemplateVO();
|
if(codeClassifyTemplateVO!=null){
|
if(!CollectionUtils.isEmpty(codeClassifyTemplateVO.getAttributes())){
|
codeClassifyTemplateVO.getAttributes().stream().forEach(codeClassifyTemplateAttrVO -> {
|
fieldList.add(codeClassifyTemplateAttrVO.getId());
|
nameList.add(codeClassifyTemplateAttrVO.getName());
|
});
|
}
|
}
|
fields = fieldList.toArray(new String[]{});
|
return nameList.toArray(new String[]{});
|
}
|
|
@Override
|
public int getTotal() {
|
// TODO Auto-generated method stub
|
return this.total;
|
}
|
@Override
|
public VCIJTableNode<BaseModel> getNewRowNode(BaseModel dataObj) {
|
Map<String,String> dataMap= dataObj.getData();
|
Map<String, String> defaultDataMap= VciBaseUtil.objectToMapString(dataObj);
|
defaultDataMap.putAll(dataMap);
|
VCIJTableNode<BaseModel> res = new VCIJTableNode<BaseModel>(dataObj);
|
int i=dataColumnStartIndex;
|
String data="";
|
for (String field:fields){
|
if(defaultDataMap.containsKey(field+"_text")){
|
data=defaultDataMap.getOrDefault(field+"_text","");
|
}else if(defaultDataMap.containsKey(field+"Text")){
|
data=defaultDataMap.getOrDefault(field+"Text","");
|
}else{
|
data=defaultDataMap.getOrDefault(field,"");
|
}
|
|
res.setPropertyValue(getColumns()[i++], data);
|
}
|
return res;
|
}
|
|
@Override
|
public BaseModel[] getDatas(int pageIndex, int pageSize) {
|
DataGrid dataGrid=new DataGrid();
|
try{
|
CodeClassifyTemplateVO codeClassifyTemplateVO=this.dialog.getOwnerPanel().getCurrentCodeClassifyTemplateVO();
|
CodeClassify codeClassify = (CodeClassify) this.dialog.getOwnerPanel().getRightMainPanel().getTransTreeObject().getCurrentTreeNode().getObj();
|
Map<String,String> condtionMap=new HashMap<>();
|
condtionMap.put("codeClassifyOid",codeClassify.getOid());
|
condtionMap.put("templateOid",codeClassifyTemplateVO.getOid());
|
condtionMap.put("page",pageIndex+"");
|
condtionMap.put("limit",pageSize+"");
|
if(StringUtils.isNotBlank(this.dialog.getStrName())){
|
condtionMap.put("conditionMap[id]",this.dialog.getStrName());
|
}
|
//condtionMap.put("conditionMap[lcStatus]","Released");
|
R r= HttpUtil.sendGet(url+"/gridTableDataByClassifyOid",condtionMap,new HashMap<>());
|
if(r.isSuccess()){
|
Object object= r.getData();
|
if(object!=null) {
|
ObjectMapper objectMapper = new ObjectMapper();
|
dataGrid = objectMapper.readValue(object.toString(), DataGrid.class);
|
}
|
}else{
|
VCIOptionPane.showMessage(this.dialog,r.getMsg());
|
}
|
} catch (
|
JsonProcessingException e) {
|
e.printStackTrace();
|
}
|
this.total= new Long(dataGrid.getTotal()).intValue();
|
List<Map> dataList= dataGrid.getData();
|
List<BaseModel> hostInfos=new ArrayList<>();
|
//List<BaseModel> hostInfos= ListUtil.listMapParseListObj(dataList, BaseModel.class);
|
dataList.stream().forEach(map->{
|
BaseModel baseModel=ListUtil.mapParseJavaBean(map,BaseModel.class);
|
baseModel.setData(map);
|
hostInfos.add(baseModel);
|
});
|
|
//List<BaseModel> hostInfos = (List<BaseModel>) dataList.stream().map(entity -> JSONUtil.toBean(JSONUtil.parseObj(entity), BaseModel.class)).collect(Collectors.toList());
|
|
return hostInfos.toArray(new BaseModel[]{});
|
}
|
}
|