From 54f35ae7866dac5c497372b68d03309c7eae9424 Mon Sep 17 00:00:00 2001 From: dangsn <dangsn@chicecm.com> Date: 星期三, 02 八月 2023 18:15:07 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeDataMainPanelDataProvider.java | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 104 insertions(+), 8 deletions(-) diff --git a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeDataMainPanelDataProvider.java b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeDataMainPanelDataProvider.java index 1e15362..9faf71a 100644 --- a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeDataMainPanelDataProvider.java +++ b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeDataMainPanelDataProvider.java @@ -1,27 +1,123 @@ package com.vci.ubcs.codeapply; +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 org.apache.poi.ss.formula.functions.T; +import com.vci.ubcs.codeapply.object.BaseModel; +import com.vci.ubcs.codeapply.object.Page; +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.ubcs.codeapply.object.R; +import com.vci.ubcs.codeapply.object.UIFormRefer; +import com.vci.ubcs.codeapply.utils.ConfigUtils; +import com.vci.ubcs.codeapply.utils.HttpUtil; +import com.vci.ubcs.starter.web.util.VciBaseUtil; +import net.logstash.logback.encoder.org.apache.commons.lang3.StringUtils; +import org.apache.commons.collections4.CollectionUtils; -public class CodeDataMainPanelDataProvider extends AbstractVCIJTableDataProvider<T> { +import java.util.*; +import java.util.stream.Collectors; + +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() { - return new String[0]; + LinkedList<String> nameList = new LinkedList<>(); + LinkedList<String> fieldList = new LinkedList<>(); + List<CodeShowFieldConfigVO> colsList=ownerPanel.getUiFormRefer().getCodeShowFieldConfigVOS(); + colsList.stream().forEach(columns->{ + 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 0; + return total; } @Override - public VCIJTableNode<T> getNewRowNode(T t) { - return null; + 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.getOrDefault(field,""); + res.setPropertyValue(getColumns()[i++], data); + } + return res; } @Override - public T[] getDatas(int i, int i1) { - return new T[0]; + 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)){ + codeSrchCondConfigVOS.stream().forEach(codeSrchCondConfigVO -> { + 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){ + customCondtionMap.forEach((field, value) -> { + condtionMap.put("conditionMap["+field+"]",value); + }); + + } + Map<String,String> headers=new HashMap<>(); + + R r= HttpUtil.sendGet(url+"/defaultReferDataGrid",condtionMap,new HashMap<>()); + + 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 = (List<BaseModel>) dataList.stream().map(entity -> JSONUtil.toBean(JSONUtil.parseObj(entity), BaseModel.class)).collect(Collectors.toList()); + baseModels = hostInfos.toArray(new BaseModel[]{}); + } + return baseModels; } } -- Gitblit v1.9.3