Source/UBCS/ubcs-codeApply/pom.xml
@@ -12,7 +12,9 @@ <vciplt.version>2022.RELEASE</vciplt.version> <old.spring.version>3.2.0.RELEASE</old.spring.version> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version> <java.version>1.7</java.version> <maven.compiler.source>7</maven.compiler.source> <maven.compiler.target>7</maven.compiler.target> </properties> <artifactId>ubcs-codeApply</artifactId> <dependencies> @@ -66,4 +68,18 @@ <url>http://nexus.vci-tech.com:9000/repository/maven-snapshots/</url> </snapshotRepository> </distributionManagement> <!-- <build>--> <!-- <plugins>--> <!-- <plugin>--> <!-- <groupId>org.apache.maven.plugins</groupId>--> <!-- <artifactId>maven-compiler-plugin</artifactId>--> <!-- <version>3.10.1</version>--> <!-- <configuration>--> <!-- <source>1.7</source>--> <!-- <target>1.7</target>--> <!-- </configuration>--> <!-- </plugin>--> <!-- </plugins>--> <!-- </build>--> </project> Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/CodeApplyFor410Dialog.java
@@ -32,7 +32,7 @@ private Map<String, String> attrNameAndValMap = new LinkedHashMap();//存储属性名称(包含内部名称和外部名称)和对应的值 private String tokenUrl= ConfigUtils.getConfigValue("410.code.token.url","http://127.0.0.1:37000/ubcs-auth/oauth/token"); private String[] fields; private String[] Values; private String[] values; /** * 存储分类的Map,key:分类名称,value:分类值 */ @@ -50,6 +50,9 @@ public CodeApplyFor410Dialog(JDialog dialog, String clsfName, String deptName) { this(dialog, "pdmUser", clsfName, deptName,new String[]{}); } public CodeApplyFor410Dialog(JDialog dialog, String clsfName, String deptName,String[] fields,String[] values) { this(dialog, "pdmUser", clsfName, deptName,new String[]{},fields,values); } public CodeApplyFor410Dialog(Frame frame, String clsfName, String deptName,String[] fields,String[] values){ this.setModal(true); parentComponet = frame; @@ -57,7 +60,7 @@ this.clsfName = clsfName; this.deptName = deptName; this.fields=fields; this.Values=values; this.values=values; //this.libName = libName; init(); @@ -89,6 +92,23 @@ this.deptName = deptName; // this.libName = libName; init(); } catch (Exception e) { e.printStackTrace(); } } public CodeApplyFor410Dialog(JDialog dialog, String userName, String clsfName, String deptName, String[] libName,String[] fields,String[] values) { super(dialog, true); VCISwingUtil.setClientMainFrame(new Frame()); try { this.setModal(true); parentComponet = dialog; this.userName = userName; this.clsfName = clsfName; this.deptName = deptName; this.fields = fields; this.values = values; init(); } catch (Exception e) { e.printStackTrace(); @@ -152,7 +172,14 @@ private void bulidPal() throws Exception { this.setDefaultCloseOperation(DISPOSE_ON_CLOSE); this.setTitle("代码申请"); mainPal = new CodeApplyPanelFor410(this,tokenUserObject, true, clsfName, deptName,libName); Map<String , String> displayValues = new HashMap<>(); if(fields != null && fields.length > 0 && values !=null && values.length > 0){ for (int i = 0; i < fields.length; i++) { displayValues.put(fields[i] , values[i]); } } mainPal = new CodeApplyPanelFor410(this,tokenUserObject, true, clsfName, deptName,libName,displayValues); VCIJPanel btnPal = new VCIJPanel(); btnPal.add(okBtn); Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/CodeApplyFor410MainPanel.java
@@ -32,7 +32,6 @@ import java.util.*; import java.util.List; import java.util.regex.Pattern; import java.util.stream.Collectors; public class CodeApplyFor410MainPanel extends VCIJPanel { @@ -87,6 +86,10 @@ private RMDataTransmitObject transmitForRMData = null; private CodeRuleVO codeRuleVO=null; /** * 存储属性和值的Map,key,用于默认值的显示 */ private Map<String,String> displayValues = new HashMap<>(); /** * 属性ID与属性对应的控件之间的映射MAP */ private LinkedHashMap<String, JComponent> attrIdToCtrlMaps = new LinkedHashMap<String, JComponent>(); @@ -117,11 +120,12 @@ this.currentCodeClassifyTemplateVO=currentCodeClassifyTemplateVO; } public CodeApplyFor410MainPanel(TransmitTreeObject transTreeObject,TokenUserObject tokenUserObject,String deptName,CodeClassifyTemplateVO currentCodeClassifyTemplateVO) { public CodeApplyFor410MainPanel(TransmitTreeObject transTreeObject,TokenUserObject tokenUserObject,String deptName,CodeClassifyTemplateVO currentCodeClassifyTemplateVO,Map displayValues) { this.transTreeObject = transTreeObject; this.tokenUserObject = tokenUserObject; this.deptName = deptName; this.currentCodeClassifyTemplateVO=currentCodeClassifyTemplateVO; this.displayValues = displayValues; } /** @@ -590,10 +594,10 @@ if(codeClassifyValueList.size()>1) { secCombo.addItem(new CodeClassifyValue()); } codeClassifyValueList.stream().forEach(codeClassifyValue -> { for (CodeClassifyValue codeClassifyValue : codeClassifyValueList) { secCombo.addItem(codeClassifyValue); valueOidList.add(codeClassifyValue.getOid()); }); } } secIdTOListValueOidMap.put(secObj.getOid(),valueOidList); /**代码项下拉事件**/ @@ -632,11 +636,11 @@ if(fixedValueVOList.size() >1) { secCombo.addItem(new CodeFixedValue()); } fixedValueVOList.stream().forEach(codeFixedValueVO -> { for (CodeFixedValueVO codeFixedValueVO : fixedValueVOList) { CodeFixedValue codeFixedValue=new CodeFixedValue(); BeanUtilForVCI.copyPropertiesIgnoreCase(codeFixedValueVO,codeFixedValue); secCombo.addItem(codeFixedValue); }); } /**当系统选择的是指定码段值时,组别代号的码段系统不显示 Begin**/ /*FixCodeValObject selObj = (FixCodeValObject) secCombo.getSelectedItem(); if(isSpecialRuleFlag && (secObj.getName().equals(specialControlSecName) && secValMap.containsKey(selObj.getValue())) || secValMap.containsKey(getControlSecSelectValue())) { @@ -742,10 +746,16 @@ transmit.setRmTypeObject(codeClassify); if(currentCodeClassifyTemplateVO!=null) { transmit.setTemplateId(templateId); Map<String, CodeClassifyTemplateAttrVO> tempPropObjMapsByInnerName = currentCodeClassifyTemplateVO.getAttributes().stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t)); Map<String, CodeClassifyTemplateAttrVO> tempPropObjMapsByInnerName = new HashMap<>(); for (CodeClassifyTemplateAttrVO attribute : currentCodeClassifyTemplateVO.getAttributes()) { tempPropObjMapsByInnerName.put(attribute.getId().toLowerCase(Locale.ROOT),attribute); } transmit.setClassifyCode(codeClassify.getId()); transmit.setTempPropObjMapsByInnerName(tempPropObjMapsByInnerName); Map<String, CodeClassifyTemplateAttrVO> tempPropObjsMap = currentCodeClassifyTemplateVO.getAttributes().stream().collect(Collectors.toMap(s -> s.getOid().toLowerCase(Locale.ROOT), t -> t)); Map<String, CodeClassifyTemplateAttrVO> tempPropObjsMap = new HashMap<>(); for (CodeClassifyTemplateAttrVO attribute : currentCodeClassifyTemplateVO.getAttributes()) { tempPropObjsMap.put(attribute.getOid().toLowerCase(Locale.ROOT),attribute); } transmit.setTempPropObjsMap(tempPropObjsMap); transmit.setTemplateObject(currentCodeClassifyTemplateVO); transmit.setTempPropObjsList(this.currentCodeClassifyTemplateVO.getAttributes()); @@ -785,7 +795,7 @@ if (index >= realAttrs.length) { break; } CodeClassifyTemplateAttrVO attrObj = realAttrs[index]; final CodeClassifyTemplateAttrVO attrObj = realAttrs[index]; /***如果模板配置了引用模板,属性名称列表添加链接进行处理 BEGIN**/ //ADD BY liujw @@ -951,10 +961,19 @@ for (int i = 0; i < objs.length; i++) { objs[i] = new AttrRangObjectWarper(keyValues[i]); model.addElement(objs[i]); specMap.put(objs[i].toString(), comboBoxIndex++); } cbx.setModel(model); if(displayValues.containsKey(attrObj.getId())){ // cbx.setSelectedItem(displayValues.get(attrObj.getId())); // cbx.setSelectedIndex(3); for (int i = 0; i < objs.length; i++) { if(objs[i].getKeyValue().getKey().equals(displayValues.get(attrObj.getId()))){ cbx.setSelectedIndex(i); } } cbx.setEnabled(false); } compt = cbx; } } else if(StringUtils.isNotBlank(attrObj.getReferConfig())){//参照的需要设置成下拉框,并且只读 @@ -968,34 +987,69 @@ cbx.setModel(model); compt = cbx; } else { // 不存在取值范围则按类型生成不同的控件 if (attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTBoolean)) { // Boolean类型 if (attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTBoolean.toString())) { // Boolean类型 VCIJComboBox cbx = new VCIJComboBox(); DefaultComboBoxModel model = new DefaultComboBoxModel(); model.addElement("0"); model.addElement("1"); cbx.setModel(model); if(displayValues.containsKey(attrObj.getId())){ cbx.setSelectedIndex(Integer.parseInt(displayValues.get(attrObj.getId()))); cbx.setEnabled(false); return cbx; } compt = cbx; } else if (attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTDate)) { // 日期类型 compt = new VCIJCalendarPanel("yyyy-MM-dd", attrObj.getRequireFlag().equals("true"), true, false); } else if (attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTDateTime)) { // 日期类型 compt = new VCIJCalendarPanel("yyyy-MM-dd HH:mm:ss", } else if (attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTDate.toString())) { // 日期类型 VCIJCalendarPanel aTrue = new VCIJCalendarPanel("yyyy-MM-dd", attrObj.getRequireFlag().equals("true"), true, false); }else if (attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTTime)) { // 日期类型 compt = new VCIJCalendarPanel("HH:mm:ss", if(displayValues.containsKey(attrObj.getId())){ aTrue.setDateString(displayValues.get(attrObj.getId())); aTrue.setEnabled(false); return aTrue; } compt = aTrue; } else if (attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTDateTime.toString())) { // 日期类型 VCIJCalendarPanel aTrue = new VCIJCalendarPanel("yyyy-MM-dd HH:mm:ss", attrObj.getRequireFlag().equals("true"), true, false); if(displayValues.containsKey(attrObj.getId())){ aTrue.setDateString(displayValues.get(attrObj.getId())); aTrue.setEnabled(false); return aTrue; } compt = aTrue; }else if (attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTTime.toString())) { // 日期类型 VCIJCalendarPanel aTrue = new VCIJCalendarPanel("HH:mm:ss", attrObj.getRequireFlag().equals("true"), true, false); if(displayValues.containsKey(attrObj.getId())){ aTrue.setDateString(displayValues.get(attrObj.getId())); aTrue.setEnabled(false); return aTrue; } compt = aTrue; } else if (attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTDouble)||attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTLong)) { // Real类型 else if (attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTDouble.toString())||attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTLong.toString())) { // Real类型 RealTextField txt = new RealTextField(""); txt.setRequired(attrObj.getRequireFlag().equals("true")); if(displayValues.containsKey(attrObj.getId())){ txt.setText(displayValues.get(attrObj.getId())); txt.setEditable(false); } compt = txt; } else if (attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTInteger)) { // Integer类型 } else if (attrObj.getAttributeDataType().equals(VciFieldTypeEnum.VTInteger.toString())) { // Integer类型 IntegerTextField txt = new IntegerTextField(""); txt.setRequired(attrObj.getRequireFlag().equals("true")); if(displayValues.containsKey(attrObj.getId())){ txt.setText(displayValues.get(attrObj.getId())); txt.setEditable(false); } compt = txt; } else{ VCIJTextField txt = new VCIJTextField(this,attrObj.getRequireFlag().equals("true")); if(displayValues.containsKey(attrObj.getId())){ txt.setText(displayValues.get(attrObj.getId())); txt.setEditable(false); } compt = txt; textCompts.add(txt); } @@ -1153,7 +1207,8 @@ private void getComptAttrValue( CodeClassifyTemplateAttrVO tempPropObj, LinkedHashMap<String, JComponent> attrIdToCtrlMaps) { Map<String,String> dataMap=new HashMap<>(); Map<String,String> condtionMap=new HashMap<>(); attrIdToCtrlMaps.forEach((key,compt)->{ for(String key: attrIdToCtrlMaps.keySet()){ JComponent compt = attrIdToCtrlMaps.get(key); String value = ""; if (compt instanceof JTextComponent) { value = ((JTextComponent) compt).getText(); @@ -1170,7 +1225,7 @@ } dataMap.put(key,value); condtionMap.put("dataMap["+key+"]",value); }); } condtionMap.put("componentRuleValue",tempPropObj.getComponentRule()); Map<String,String> headerMap=new HashMap<>(); headerMap.put("Blade-Auth",this.tokenUserObject.getAccess_token()); @@ -1263,7 +1318,7 @@ dialog.setVisible(true); } private void doSearch(VCIJComboxBox comboxBox,CodeBasicSecVO secObj){ private void doSearch(final VCIJComboxBox comboxBox, CodeBasicSecVO secObj){ if(StringUtils.isBlank(secObj.getReferConfig())){ VCIOptionPane.showMessage(this,"参照配置信息不正确,请核对!"); return; @@ -1552,7 +1607,10 @@ LinkedList<String> listValues = new LinkedList<String>(); // 各属性的类型 LinkedList<String> listDataTypes = new LinkedList<String>(); Map<String,CodeClassifyTemplateAttrVO> codeClassifyTemplateAttrVOMap=transmitForRMData.getTempPropObjsList().stream().collect(Collectors.toMap(s -> s.getId(), t -> t)); Map<String,CodeClassifyTemplateAttrVO> codeClassifyTemplateAttrVOMap = new HashMap<>(); for (CodeClassifyTemplateAttrVO codeClassifyTemplateAttrVO : transmitForRMData.getTempPropObjsList()) { codeClassifyTemplateAttrVOMap.put(codeClassifyTemplateAttrVO.getId(),codeClassifyTemplateAttrVO); } Iterator<String> keys = attrIdToCtrlMaps.keySet().iterator(); JComponent compt = null; JComponent firstCompt = null; Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/CodeApplyFor410SearchProvider.java
@@ -13,6 +13,7 @@ import com.vci.rmip.code.client.codeapply.Apply410.object.R; import com.vci.rmip.code.client.codeapply.Apply410.utils.HttpUtil; import com.vci.rmip.code.client.codeapply.Apply410.utils.ListUtil; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO; import com.vci.rmip.code.client.codeapply.Apply410.utils.ConfigUtils; import com.vci.ubcs.starter.web.util.VciBaseUtil; @@ -36,10 +37,10 @@ CodeClassifyTemplateVO codeClassifyTemplateVO=this.dialog.getOwnerPanel().getCurrentCodeClassifyTemplateVO(); if(codeClassifyTemplateVO!=null){ if(!CollectionUtils.isEmpty(codeClassifyTemplateVO.getAttributes())){ codeClassifyTemplateVO.getAttributes().stream().forEach(codeClassifyTemplateAttrVO -> { for (CodeClassifyTemplateAttrVO codeClassifyTemplateAttrVO : codeClassifyTemplateVO.getAttributes()) { fieldList.add(codeClassifyTemplateAttrVO.getId()); nameList.add(codeClassifyTemplateAttrVO.getName()); }); } } } fields = fieldList.toArray(new String[]{}); @@ -61,11 +62,11 @@ String data=""; for (String field:fields){ if(defaultDataMap.containsKey(field+"_text")){ data=defaultDataMap.getOrDefault(field+"_text",""); data=defaultDataMap.get(field+"_text") ; }else if(defaultDataMap.containsKey(field+"Text")){ data=defaultDataMap.getOrDefault(field+"Text",""); data=defaultDataMap.get(field+"Text") ; }else{ data=defaultDataMap.getOrDefault(field,""); data=defaultDataMap.get(field); } res.setPropertyValue(getColumns()[i++], data); @@ -108,11 +109,11 @@ List<Map> dataList= dataGrid.getData(); List<BaseModel> hostInfos=new ArrayList<>(); //List<BaseModel> hostInfos= ListUtil.listMapParseListObj(dataList, BaseModel.class); dataList.stream().forEach(map->{ for (Map map : dataList) { 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()); Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/CodeApplyPanelFor410.java
@@ -59,6 +59,10 @@ * 存储属性和值的Map,key:属性名称,value:属性值 */ private String deptName = null; /** * 存储属性和值的Map,key,用于默认值的显示 */ private Map displayValues = new HashMap<String,String>(); private String[] libName = new String[]{};//代码项名称 private VCIBaseTree leftTree = null; @@ -78,7 +82,7 @@ * @param deptName * @param libName */ public CodeApplyPanelFor410(CodeApplyFor410Dialog owner , TokenUserObject tokenUserObject, boolean isIntegrate, String clsfName, String deptName, String[] libName){ public CodeApplyPanelFor410(CodeApplyFor410Dialog owner , TokenUserObject tokenUserObject, boolean isIntegrate, String clsfName, String deptName, String[] libName,Map displayValues){ this.tokenUserObject = tokenUserObject; this.owner =owner; rightMainPanel = new CodeApplyFor410MainPanel(transmitTreeObject,tokenUserObject,getCurrentCodeClassifyTemplateVO()); @@ -86,6 +90,7 @@ this.clsfName = clsfName; this.deptName = deptName; this.libName = libName; this.displayValues = displayValues; init(); initActionListener(); } @@ -188,9 +193,9 @@ VCIOptionPane.showMessage(this,r.getMsg()); } if(!CollectionUtils.isEmpty(codeClassifyList)){ codeClassifyList.stream().forEach(codeClassify -> { for (CodeClassify codeClassify : codeClassifyList) { codeItemCombo.addItem(codeClassify); }); } codeItemCombo.setSelectedIndex(0); } initLeftPanel(); @@ -293,7 +298,7 @@ initBtnStatus(res); } } rightMainPanel = new CodeApplyFor410MainPanel(transmitTreeObject,tokenUserObject,deptName,getCurrentCodeClassifyTemplateVO()); rightMainPanel = new CodeApplyFor410MainPanel(transmitTreeObject,tokenUserObject,deptName,getCurrentCodeClassifyTemplateVO(),displayValues); scrollPane.setViewportView(rightMainPanel); rightMainPanel.buildMainPanel(1); int location = jspLeftToRight.getDividerLocation(); @@ -358,7 +363,7 @@ transmitTreeObject.setCurrentTreeNode(selectedTreeNode); if(selectedTreeNode.isRoot() && selectedTreeNode.getObj() instanceof String) return; scrollPane = new JScrollPane(); rightMainPanel = new CodeApplyFor410MainPanel(transmitTreeObject,tokenUserObject,deptName,getCurrentCodeClassifyTemplateVO()); rightMainPanel = new CodeApplyFor410MainPanel(transmitTreeObject,tokenUserObject,deptName,getCurrentCodeClassifyTemplateVO(),displayValues); scrollPane.setViewportView(rightMainPanel); rightMainPanel.buildMainPanel(1); VCIJPanel rightPanel = new VCIJPanel(); Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/CodeApplyPanelFor410ActionListener.java
@@ -25,6 +25,7 @@ private LinkedHashMap<String, Runnable> actionMaps = new LinkedHashMap<String, Runnable>(); boolean codeAlreadExist = false; private String url= ConfigUtils.getConfigValue("410.code.url","http://127.0.0.1:36014/codeApplySwingController"); private String classifyGroupCode= ConfigUtils.getConfigValue("410.code.codeApply.classifyGroupCode"); public CodeApplyPanelFor410ActionListener(CodeApplyPanelFor410 owner){ this.owner = owner; this.initActionMap(); @@ -103,12 +104,12 @@ codeOrderDTO.setTemplateOid(codeClassifyTemplateVO.getOid()); codeOrderDTO.setCodeRuleOid(codeRuleVO.getOid()); List<CodeOrderSecDTO> secDTOList=new ArrayList<>(); keyValueList.stream().forEach(keyValue -> { for (KeyValue keyValue : keyValueList) { CodeOrderSecDTO codeOrderSecDTO=new CodeOrderSecDTO(); codeOrderSecDTO.setSecOid(keyValue.getKey()); codeOrderSecDTO.setSecValue(keyValue.getValue()); secDTOList.add(codeOrderSecDTO); }); } codeOrderDTO.setLcStatus("Released"); codeOrderDTO.setSecDTOList(secDTOList); codeOrderDTO.setData(dataMap); @@ -119,6 +120,9 @@ String code=""; //校验关键属性存在的数据直接返回编码 R checkKeyAttrOnOrderR= HttpUtil.sendPost(url+"/checkKeyAttrOnOrderFordatas",object.toString(),headerMap); //查询当前申请编码的类型 R checkGroupCode= HttpUtil.sendGet(url+"/checkGroupCode?oid="+codeClassify.getOid()+ "&classifyGroupCode="+classifyGroupCode,null,headerMap); if(checkKeyAttrOnOrderR.isSuccess()){ List<Map> list=(List)checkKeyAttrOnOrderR.getData(); if(!CollectionUtils.isEmpty(list)) { @@ -127,6 +131,15 @@ this.owner.getApplyTxt().requestFocusInWindow(); this.owner.getApplyTxt().selectAll(); this.owner.setAttrNameAndValMap(attrNameAndValMap); if(checkGroupCode.isSuccess()){ if(checkGroupCode.getData().equals("true")){ VCIOptionPane.showMessage(this.owner, "当前分类的企业编码为:"+list.get(0).get("GROUPCODE")); }else{ VCIOptionPane.showMessage(this.owner, "当前编码分类未找到相应的集团,请检查!!"); } }else { VCIOptionPane.showMessage(this.owner, "远程调用失败,请重试!"); } return; } } @@ -139,6 +152,20 @@ this.owner.setAttrNameAndValMap(attrNameAndValMap); }else{ VCIOptionPane.showMessage(this.owner,r.getMsg()); } if(checkGroupCode.isSuccess()){ if(checkGroupCode.getData().equals("false")){ Map<String,String> applyMap = new HashMap<>(); applyMap.put("oids",codeClassify.getOid()); applyMap.put("btmName",codeClassify.getBtmname()); Object applyGroupCodeData = JSONObject.toJSON(applyMap); R applyResult= HttpUtil.sendPost(url+"/DockingPreApplyCode/applyGroupCode",applyGroupCodeData.toString(),headerMap); if(!applyResult.isSuccess()){ VCIOptionPane.showMessage(this.owner, r.getMsg()); } } }else { VCIOptionPane.showMessage(this.owner, "远程调用失败,请注意!"); } } @@ -161,7 +188,8 @@ CodeApplyFor410MainPanel rightMainPanel2 = this.owner.getRightMainPanel(); LinkedHashMap<String, JComponent> attrInnerNameToCtrlMaps = rightMainPanel2.getAttrInnerNameToCtrlMaps(); if(attrInnerNameToCtrlMaps!=null&&attrInnerNameToCtrlMaps.size()>0){ attrInnerNameToCtrlMaps.forEach((key,component)->{ for(String key : attrInnerNameToCtrlMaps.keySet()){ JComponent component = attrInnerNameToCtrlMaps.get(key); if(component instanceof JTextComponent){ if(((JTextComponent) component).isEnabled()) ((JTextComponent) component).setText(""); @@ -169,7 +197,7 @@ if(((VCIJComboBox) component).isEnabled()) ((VCIJComboBox) component).setSelectedIndex(0); } }); } } String applyCode = this.owner.getApplyCode(); if(StringUtils.isBlank(applyCode)) { Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/CodeDataMainPanelDataProvider.java
@@ -20,7 +20,6 @@ import org.apache.commons.collections4.CollectionUtils; import java.util.*; import java.util.stream.Collectors; public class CodeDataMainPanelDataProvider extends AbstractVCIJTableDataProvider<BaseModel> { private CodeDataMainPanel ownerPanel; @@ -37,12 +36,12 @@ LinkedList<String> nameList = new LinkedList<>(); LinkedList<String> fieldList = new LinkedList<>(); List<CodeShowFieldConfigVO> colsList=ownerPanel.getUiFormRefer().getCodeShowFieldConfigVOS(); colsList.stream().forEach(columns->{ 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; @@ -61,7 +60,7 @@ VCIJTableNode<BaseModel> res = new VCIJTableNode<BaseModel>(model); int i=dataColumnStartIndex; for (String field:fields){ String data=defaultDataMap.getOrDefault(field,""); String data=defaultDataMap.containsKey(field) ? defaultDataMap.get(field) : "" ; res.setPropertyValue(getColumns()[i++], data); } return res; @@ -81,19 +80,18 @@ List<CodeSrchCondConfigVO> codeSrchCondConfigVOS=uiFormRefer.getCodeSrchCondConfigVOS(); JSONObject jsonObject=new JSONObject(); if(!CollectionUtils.isEmpty(codeSrchCondConfigVOS)){ codeSrchCondConfigVOS.stream().forEach(codeSrchCondConfigVO -> { 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){ customCondtionMap.forEach((field, value) -> { condtionMap.put("conditionMap["+field+"]",value); }); 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()); @@ -116,7 +114,10 @@ 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()); 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; Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/RMDataReferTempDialogActionListener.java
@@ -65,8 +65,8 @@ if(treeNode.getObj() instanceof Tree) { Tree tree =(Tree)treeNode.getObj(); Map<String,String> attibuteMap= tree.getAttributes(); String fieldValue=attibuteMap.getOrDefault(valueField,""); String textValue=attibuteMap.getOrDefault(textField,""); String fieldValue=attibuteMap.containsKey(valueField) ? attibuteMap.get(valueField) : ""; String textValue=attibuteMap.containsKey(textField) ? attibuteMap.get(textField) : ""; KeyValue keyValue=new KeyValue(); keyValue.setKey(fieldValue); keyValue.setValue(textValue); @@ -85,8 +85,8 @@ BaseModel baseModel=list.get(0); Map<String, String> defaultDataMap= VciBaseUtil.objectToMapString(list.get(0)); defaultDataMap.putAll(baseModel.getData()); String fieldValue=defaultDataMap.getOrDefault(valueField,""); String textValue=defaultDataMap.getOrDefault(textField,""); String fieldValue=defaultDataMap.containsKey(valueField) ? defaultDataMap.get(valueField) : ""; String textValue=defaultDataMap.containsKey(textField) ? defaultDataMap.get(textField) : ""; KeyValue keyValue=new KeyValue(); keyValue.setKey(fieldValue); keyValue.setValue(textValue); Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/object/IPage.java
@@ -1,49 +1,48 @@ package com.vci.rmip.code.client.codeapply.Apply410.object; import java.io.Serializable; import java.util.List; import java.util.function.Function; import java.util.stream.Collectors; public interface IPage<T> extends Serializable { List<OrderItem> orders(); default boolean optimizeCountSql() { return true; } // default boolean optimizeCountSql() { // return true; // } default boolean optimizeJoinOfCountSql() { return true; } // default boolean optimizeJoinOfCountSql() { // return true; // } // // default boolean searchCount() { // return true; // } // // default long offset() { // long current = this.getCurrent(); // return current <= 1L ? 0L : Math.max((current - 1L) * this.getSize(), 0L); // } default boolean searchCount() { return true; } // default Long maxLimit() { // return null; // } // // default long getPages() { // if (this.getSize() == 0L) { // return 0L; // } else { // long pages = this.getTotal() / this.getSize(); // if (this.getTotal() % this.getSize() != 0L) { // ++pages; // } // // return pages; // } // } default long offset() { long current = this.getCurrent(); return current <= 1L ? 0L : Math.max((current - 1L) * this.getSize(), 0L); } default Long maxLimit() { return null; } default long getPages() { if (this.getSize() == 0L) { return 0L; } else { long pages = this.getTotal() / this.getSize(); if (this.getTotal() % this.getSize() != 0L) { ++pages; } return pages; } } default IPage<T> setPages(long pages) { return this; } // default IPage<T> setPages(long pages) { // return this; // } List<T> getRecords(); @@ -61,11 +60,11 @@ IPage<T> setCurrent(long current); default <R> IPage<T> convert(Function<? super T, ? extends R> mapper) { List<T> collect = (List)this.getRecords().stream().map(mapper).collect(Collectors.toList()); return this.setRecords(collect); } default String countId() { return null; } // default <R> IPage<T> convert(Function<? super T, ? extends R> mapper) { // List<T> collect = (List)this.getRecords().stream().map(mapper).collect(Collectors.toList()); // return this.setRecords(collect); // } // default String countId() { // return null; // } } Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/object/OrderItem.java
@@ -1,7 +1,7 @@ package com.vci.rmip.code.client.codeapply.Apply410.object; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; public class OrderItem { @@ -18,11 +18,21 @@ } public static List<OrderItem> ascs(String... columns) { return (List) Arrays.stream(columns).map(OrderItem::asc).collect(Collectors.toList()); List<OrderItem> orderItems = new ArrayList<>(); for (String column : columns) { orderItems.add(asc(column)); } return orderItems; // (List) Arrays.stream(columns).map(OrderItem::asc).collect(Collectors.toList()); } public static List<OrderItem> descs(String... columns) { return (List)Arrays.stream(columns).map(OrderItem::desc).collect(Collectors.toList()); List<OrderItem> orderItems = new ArrayList<>(); for (String column : columns) { orderItems.add(desc(column)); } return orderItems; // (List)Arrays.stream(columns).map(OrderItem::desc).collect(Collectors.toList()); } private static OrderItem build(String column, boolean asc) { Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/object/Page.java
@@ -3,7 +3,6 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.function.Predicate; public class Page<T> { private static final long serialVersionUID = 8545996863226528798L; @@ -113,25 +112,25 @@ return this.maxLimit; } private String[] mapOrderToArray(Predicate<OrderItem> filter) { List<String> columns = new ArrayList(this.orders.size()); this.orders.forEach((i) -> { if (filter.test(i)) { columns.add(i.getColumn()); } // private String[] mapOrderToArray(Predicate<OrderItem> filter) { // List<String> columns = new ArrayList(this.orders.size()); // this.orders.forEach((i) -> { // if (filter.test(i)) { // columns.add(i.getColumn()); // } // // }); // return (String[])columns.toArray(new String[0]); // } }); return (String[])columns.toArray(new String[0]); } private void removeOrder(Predicate<OrderItem> filter) { for(int i = this.orders.size() - 1; i >= 0; --i) { if (filter.test(this.orders.get(i))) { this.orders.remove(i); } } } // private void removeOrder(Predicate<OrderItem> filter) { // for(int i = this.orders.size() - 1; i >= 0; --i) { // if (filter.test(this.orders.get(i))) { // this.orders.remove(i); // } // } // // } public Page<T> addOrder(OrderItem... items) { this.orders.addAll(Arrays.asList(items)); Source/UBCS/ubcs-codeApply/src/main/resources/properties/conf.properties
@@ -26,5 +26,4 @@ 410.code.token.tenantId=000000 410.code.token.authorization=Basic c3dvcmQ6c3dvcmRfc2VjcmV0 410.code.token.contentType=application/x-www-form-urlencoded 410.code.codeApply.classifyGroupCode=wupin#appendix#renyuanku Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeApplySwingController.java
@@ -237,4 +237,15 @@ public R checkKeyAttrOnOrderFordatas(@RequestBody CodeOrderDTO orderDTO) throws Exception { return R.data(mdmEngineService.checkKeyAttrOnOrderFordatas(orderDTO)); } /** * 集团/企业码段判断 * @param parameter 传入数据 ,classifyGroupCode:配置的中的分类顶节点,oid:选择节点的oid--,nowApplyCode:当前申请编码的分类 * @return 执行结果 */ @GetMapping("/checkGroupCode") @VciBusinessLog(operateName = "集团/企业码段判断") public R checkGroupCode(Map<String,String> parameter) throws Exception { return R.data(mdmEngineService.checkGroupCode(parameter)); } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/CodeClassifyMapper.java
@@ -161,4 +161,12 @@ * @param classifyList */ void batchUpdateLcStatus(@Param("records") List<CodeClassify> classifyList); /** * 向上查询树形结构 * * @param oid 分类的主键 * @return 数据集合 */ List<CodeClassify> selectAllParents(@Param("oid") String oid); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java
@@ -454,4 +454,10 @@ */ public List<Map> checkKeyAttrOnOrderFordatas(CodeOrderDTO orderDTO) ; } /** * 根据当前申请编码的分类,逐层往上校验是否符合属于配置的中的分类子节点的分 * 类,如果符合,则该分类申请的编码为集团码返回true,反之则为企业编码返回false * @param parameter 传入数据,classifyGroupCode:配置的中的分类顶节点,oid:选择节点的oid */ R checkGroupCode(Map<String, String> parameter); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -746,7 +746,29 @@ return dataList; } /** /** * 根据当前申请编码的分类,逐层往上校验是否符合属于配置的中的分类子节点的分 * 类,如果符合,则该分类申请的编码为集团码返回true,反之则为企业编码返回false * @param parameter 传入数据,classifyGroupCode:配置的中的分类顶节点,oid:选择节点的oid */ @Override public R checkGroupCode(Map<String, String> parameter) { List<CodeClassify> codeClassifyList = classifyService.selectAllLevelParents(parameter.get("oid")); Set<String> configGroupCode = Arrays.stream(parameter.get("classifyGroupCode").split("#")).collect(Collectors.toSet()); // Boolean checkGroupFlag = false;//是否查询到配置的顶层分类中 for (int i = codeClassifyList.size()-1; i >= 0; i--) { if(configGroupCode.contains(codeClassifyList.get(i).getId())){ // checkGroupFlag = true; return R.data("true"); } // if(checkGroupFlag && parameter.get("nowApplyCode").equals(codeClassifyList.get(i).getId())){ // return R.data(true); // } } return R.data("false"); } /** * 封装关键属性的查询语句 * * @param value 当前的值 Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml
@@ -510,4 +510,11 @@ </foreach> ;END; </update> <select id="selectAllParents" resultMap="plCodeClassifyResultMap"> select * from PL_CODE_CLASSIFY p start with p.OID =#{oid} connect by p.oid = prior p.PARENTCODECLASSIFYOID </select> </mapper>