From f9249db0d544a8c378db0793bc03a95d6ff8673b Mon Sep 17 00:00:00 2001 From: xiejun <xj@2023> Date: 星期一, 14 八月 2023 15:44:00 +0800 Subject: [PATCH] PDM集成swing界面相关功能开发 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java | 9 ++++ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java | 62 +++++++++++++++++++++++++++++++ Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyPanelFor410ActionListener.java | 16 +++++++- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeApplySwingController.java | 11 +++++ 4 files changed, 94 insertions(+), 4 deletions(-) diff --git a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyPanelFor410ActionListener.java b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyPanelFor410ActionListener.java index 0b977594..ff57b9d 100644 --- a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyPanelFor410ActionListener.java +++ b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/ubcs/codeapply/CodeApplyPanelFor410ActionListener.java @@ -116,9 +116,21 @@ Map<String,String> headerMap=new HashMap<>(); headerMap.put("content-type","application/json"); headerMap.put("Blade-Auth",this.owner.getTokenUserObject().getAccess_token()); - R r= HttpUtil.sendPost(url+"/addSaveCode",object.toString(),headerMap); - //R r= HttpUtil.sendPost(url+"/addSaveCode",object.toString(),headerMap); String code=""; + //鏍¢獙鍏抽敭灞炴�у瓨鍦ㄧ殑鏁版嵁鐩存帴杩斿洖缂栫爜 + R checkKeyAttrOnOrderR= HttpUtil.sendPost(url+"/checkKeyAttrOnOrderFordatas",object.toString(),headerMap); + if(checkKeyAttrOnOrderR.isSuccess()){ + List<Map> list=(List)checkKeyAttrOnOrderR.getData(); + if(!CollectionUtils.isEmpty(list)) { + code=list.get(0).get("id")!=null?list.get(0).get("id").toString():""; + this.owner.setApplyCode(code); + this.owner.getApplyTxt().requestFocusInWindow(); + this.owner.getApplyTxt().selectAll(); + this.owner.setAttrNameAndValMap(attrNameAndValMap); + return; + } + } + R r= HttpUtil.sendPost(url+"/addSaveCode",object.toString(),headerMap); if(r.isSuccess()){ code=r.getData().toString(); this.owner.setApplyCode(code); diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeApplySwingController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeApplySwingController.java index 6e08c7d..5b5112a 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeApplySwingController.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeApplySwingController.java @@ -226,5 +226,14 @@ public R addSaveCode(@RequestBody CodeOrderDTO orderDTO) throws Exception { return R.data(mdmEngineService.addSaveCode(orderDTO)); } - + /** + * 鐢宠缂栫爜淇濆瓨 + * @param orderDTO 缂栫爜鐢宠鐩稿叧鐨勪俊鎭紝闇�瑕佹湁灞炴�у拰鐮佹鐩稿叧鐨勪俊鎭� + * @return 鎵ц缁撴灉 + */ + @PostMapping("/checkKeyAttrOnOrderFordatas") + @VciBusinessLog(operateName = "鐢宠鍗曚釜缂栫爜") + public R checkKeyAttrOnOrderFordatas(@RequestBody CodeOrderDTO orderDTO) throws Exception { + return R.data(mdmEngineService.checkKeyAttrOnOrderFordatas(orderDTO)); + } } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java index 674e2fd..2815bf0 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java @@ -446,4 +446,11 @@ * @return */ R processChangeStatus(FlowStatusDTO flowDTO); -} + + /** + * 鏍¢獙鍏抽敭灞炴�� + * @param orderDTO 缂栫爜鐢宠鐨勭浉鍏崇殑淇℃伅 + */ + public List<Map> checkKeyAttrOnOrderFordatas(CodeOrderDTO orderDTO) ; + + } diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java index 726a909..da89285 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java @@ -677,6 +677,68 @@ } } + /** + * 鏍¢獙鍏抽敭灞炴�� + * + * @param classifyFullInfo 鍒嗙被鐨勫叏閮ㄤ俊鎭� + * @param templateVO 妯℃澘鐨勫唴瀹癸紝蹇呴』鍖呭惈妯℃澘灞炴�� + * @param orderDTO 缂栫爜鐢宠鐨勭浉鍏崇殑淇℃伅 + */ + public List<Map> checkKeyAttrOnOrderFordatas(CodeOrderDTO orderDTO) { + List<Map>dataList=new ArrayList<>(); + CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(orderDTO.getCodeClassifyOid()); + CodeClassifyTemplateVO templateVO = templateService.getObjectHasAttrByOid(orderDTO.getTemplateOid()); + //鍏堣幏鍙栧叧閿睘鎬х殑瑙勫垯锛屼篃鍒╃敤缁ф壙鐨勬柟寮� + CodeKeyAttrRepeatVO keyRuleVO = keyRuleService.getRuleByClassifyFullInfo(classifyFullInfo); + //娉ㄦ剰鐨勬槸keyRuleVO鍙兘涓虹┖锛岃〃绀轰笉浣跨敤瑙勫垯鎺у埗 + //鑾峰彇鎵�鏈夌殑鍏抽敭灞炴�� + Map<String, CodeClassifyTemplateAttrVO> ketAttrMap = templateVO.getAttributes().stream().filter(s -> VciBaseUtil.getBoolean(s.getKeyAttrFlag())).collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t)); + Map<String, String> conditionMap = new HashMap<>(); + boolean trimAll = keyRuleVO == null ? false : VciBaseUtil.getBoolean(keyRuleVO.getIgnoreallspaceflag()); + //鍏ㄩ儴鍘荤┖鐨勪紭鍏堢骇澶т簬鍘荤┖ + boolean trim = keyRuleVO == null ? false : VciBaseUtil.getBoolean(keyRuleVO.getIgnorespaceflag()); + boolean ignoreCase = keyRuleVO == null ? false : VciBaseUtil.getBoolean(keyRuleVO.getIgnorecaseflag()); + boolean ignoreWidth = keyRuleVO == null ? false : VciBaseUtil.getBoolean(keyRuleVO.getIgnorewidthflag()); + ketAttrMap.forEach((attrId, attrVO) -> { + String value = getValueFromOrderDTO(orderDTO, attrId); + if (value == null) { + value = ""; + } + wrapperKeyAttrConditionMap(value, keyRuleVO, attrId, trim, ignoreCase, ignoreWidth, trimAll, conditionMap); + }); + + //娌℃湁闄愬埗鍒嗙被锛屼絾鏄竴涓ā鏉垮彧鍙兘鍦ㄤ竴涓笟鍔$被鍨嬮噷闈紝鎵�浠ョ洿鎺ユ煡璇㈣繖涓笟鍔$被鍨嬪嵆鍙� + if (!CollectionUtils.isEmpty(conditionMap)) { + conditionMap.put("CODETEMPLATEOID","'" + orderDTO.getTemplateOid() + "'"); +// final String[] sql = {"select count(*) from " + VciBaseUtil.getTableName(classifyFullInfo.getTopClassifyVO().getBtmtypeid()) + " t where 1 = 1 "}; + R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(classifyFullInfo.getTopClassifyVO().getBtmTypeId())); +// String referTable = VciBaseUtil.getTableName(referVO.getReferType()); + if (!listR.isSuccess() || listR.getData().size() == 0) { + throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒"); + } + final String[] sql = {"select * from " + listR.getData().get(0).getTableName() + " t where 1 = 1 "}; + conditionMap.forEach((key, value) -> { + sql[0] += " and " + key + " = " + value; + }); + if (StringUtils.isNotBlank(orderDTO.getOid())) { + //淇敼鐨勬椂鍊欙紝闇�瑕佹帓闄よ嚜宸� + sql[0] += " and oid != '" + orderDTO.getOid() + "'"; + } else if (StringUtils.isNotBlank(orderDTO.getCopyFromVersion())) { + sql[0] += " and oid != '" + orderDTO.getCopyFromVersion() + "'"; + } + sql[0] += " and lastR = '1' and lastV = '1' "; +// if (boService.queryCountBySql(sql[0], new HashMap<>()) > 0) { + dataList=commonsMapper.selectBySql(sql[0]); + if (!CollectionUtils.isEmpty(dataList)) { +// String ruleInfoMsg = keyRuleVO == null ? "" : "鏌ヨ瑙勫垯锛氬幓闄ょ┖鏍�--{0},蹇界暐澶у皬鍐�--{1},蹇界暐鍏ㄥ崐瑙�--{2},蹇界暐鍏ㄩ儴绌烘牸--{3}"; +// String[] objs = new String[]{trim ? "鏄�" : "鍚�", ignoreCase ? "鏄�" : "鍚�", ignoreWidth ? "鏄�" : "鍚�", trimAll ? "鏄�" : "鍚�"}; +// throw new VciBaseException("鏍规嵁鎮ㄥ~鍐欑殑鍏抽敭灞炴�х殑鍐呭锛岀粨鍚堝叧閿睘鎬ф煡璇㈣鍒欙紝鍙戠幇杩欎釜鏁版嵁宸茬粡鍦ㄧ郴缁熶腑瀛樺湪浜嗐�傝淇!銆�" + ruleInfoMsg, objs); + return dataList; + } + } + return dataList; + } + /** * 灏佽鍏抽敭灞炴�х殑鏌ヨ璇彞 * -- Gitblit v1.9.3