From 3e5bba6ac8fd2a26445bf93208a5ee1745405548 Mon Sep 17 00:00:00 2001
From: yuxc <653031404@qq.com>
Date: 星期三, 02 八月 2023 12:20:07 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java | 108 +++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 86 insertions(+), 22 deletions(-)
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 7fc0b61..7c0751b 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
@@ -70,6 +70,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
+import org.springframework.web.bind.annotation.RequestBody;
import javax.annotation.Resource;
import java.beans.BeanInfo;
@@ -358,8 +359,6 @@
if (baseModels.size() == 0) {
throw new VciBaseException("鏈煡璇㈠埌鐩稿叧鏁版嵁銆�");
}
- // 寰呭畬鍠�
- List<BtmTypeVO> cboList = null; // btmTypeClient.selectList(wrapper);
//杩橀渶瑕佷慨鏀筧llCode鐨勭敓鍛藉懆鏈�
// Map<String, String> conditionMap = new HashMap<>();
QueryWrapper<CodeAllCode> allCodeWrapper = new QueryWrapper<>();
@@ -375,19 +374,19 @@
if (!listR.isSuccess() || listR.getData().size() == 0) {
throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
}
- commonsMapper.deleteByTaleAndOid(listR.getData().get(0).getTableName(), VciBaseUtil.toInSql(baseModelDTO.getOid()));
+ // 鐩存帴鍒犻櫎锛屼笉缁欑姸鎬�
+ commonsMapper.deleteByTaleAndOid(listR.getData().get(0).getTableName(), VciBaseUtil.toInSql(baseModelDTO.getOid()));
+ // commonsMapper.updateByTaleAndOid(listR.getData().get(0).getTableName(), VciBaseUtil.toInSql(baseModelDTO.getOid()),CodeDefaultLC.TASK_BACK.getValue());
} else {
for (BaseModel baseModel : baseModels) {
baseModel.setLcStatus(baseModelDTO.getLcStatus());
}
updateBatchByBaseModel(baseModelDTO.getBtmname(), baseModels);
- // lifeCycleService.transCboStatus(cboList, baseModelDTO.getLcStatus());
}
for (CodeAllCode codeCbo : codeCbos) {
codeCbo.setLcStatus(baseModelDTO.getLcStatus());
}
codeAllCodeService.updateBatchById(codeCbos);
- // lifeCycleService.transCboStatus(codeCbos, baseModelDTO.getLcStatus());
}
/**
@@ -426,10 +425,13 @@
// //璁剧疆缂栫爜闇�瑕佺殑榛樿灞炴�х殑鍐呭
copyValueToCBO(classifyFullInfo, cbo, orderDTO, templateVO, false);
cbo.setOid(VciBaseUtil.getPk());
+ cbo.setRevisionOid(VciBaseUtil.getPk());
+ cbo.setNameOid(VciBaseUtil.getPk());
cbo.setCreateTime(new Date());
cbo.setLastModifyTime(new Date());
cbo.setCreator(AuthUtil.getUser().getUserName());
cbo.setLastModifier(AuthUtil.getUser().getUserName());
+ cbo.setTenantId(AuthUtil.getTenantId());
// //TODO:鍥犱负榛樿鐨勫睘鎬ч兘涓嶆嫹璐濓紝鐩墠闆嗗洟鐮佸彨name锛屽苟娌℃湁浠嶥TO鎷疯礉鍒癱bo閲屻�傚鍔犱竴涓崟鐙鐞嗭紝浠ュ悗鍐嶇湅瑕佷笉瑕佽皟鏁�
cbo.setName(orderDTO.getName() == null ? "" : orderDTO.getName());
// //end -- modify by lihang @20220407
@@ -740,7 +742,7 @@
conditionMap.put(queryKey, queryValue);
} else {
//涓虹┖鐨勬椂鍊欎笉浠h〃涓嶆牎楠岋紝鍙槸涓嶅幓闄ょ浉鍏崇殑淇℃伅
- conditionMap.put("t." + attrId, value);
+ conditionMap.put("t." + attrId, "'" +value+ "'");
}
}
}
@@ -1409,7 +1411,16 @@
public DataGrid<Map<String, String>> queryGrid(String btmType, CodeClassifyTemplateVO templateVO, Map<String, String> conditionMap, PageHelper pageHelper) {
CodeTemplateAttrSqlBO sqlBO = getSqlByTemplateVO(btmType, templateVO, conditionMap, pageHelper);
// List<Map> maps = boService.queryByOnlySqlForMap(sqlBO.getSqlHasPage());
- List<Map<String, String>> maps = commonsMapper.queryByOnlySqlForMap(sqlBO.getSqlHasPage());
+ List<Map<String, String>> maps = null;
+ try {
+ maps = commonsMapper.queryByOnlySqlForMap(sqlBO.getSqlHasPage());
+ }catch (Exception e){
+ String errorMessage = e.getMessage();
+ if (errorMessage.contains("鏃犳硶瑙f瀽鐨勬垚鍛樿闂〃杈惧紡")) {
+ throw new ServiceException("缂哄皯"+errorMessage.substring(errorMessage.indexOf("[t.") + 1, errorMessage.indexOf("]"))+"瀛楁");
+ }
+ throw new ServiceException(e.getMessage());
+ }
DataGrid<Map<String, String>> dataGrid = new DataGrid<>();
List<Map<String, String>> dataList = new ArrayList<>();
@@ -2045,13 +2056,21 @@
sql.append("t.");
}
if (value.startsWith(QueryOptionConstant.IN)) {
- sql.append(selectKey)
+ if(value.startsWith(QueryOptionConstant.IN+"('") && value.endsWith("')")){
+ sql.append(selectKey)
+ .append(SPACE)
+ .append("in")
+ .append(SPACE)
+ .append(value.replace(QueryOptionConstant.IN, ""));
+ }else{
+ sql.append(selectKey)
.append(SPACE)
.append("in")
.append(SPACE)
.append("(")
.append(value.replace(QueryOptionConstant.IN, ""))
.append(")");
+ }
} else if (value.startsWith(QueryOptionConstant.NOTIN)) {
sql.append(selectKey)
.append(SPACE)
@@ -2690,7 +2709,7 @@
cbosB.stream().forEach(map -> {
Map<String, String> data = new HashMap<>();
for (Object o : map.keySet()) {
- data.put(((String) o).toLowerCase(Locale.ROOT), String.valueOf(map.get(o)));
+ data.put(((String) o).toLowerCase(Locale.ROOT), map.get(o)==null?"":String.valueOf(map.get(o)));
}
cbos.add(data);
});
@@ -3279,7 +3298,7 @@
throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲瀛楁淇℃伅锛岃妫�鏌ワ紒");
}
Set<String> existFild = allAttributeByBtmId.getData().getAttributes().stream().map(btmTypeAttributeVO -> {
- return btmTypeAttributeVO.getId();
+ return btmTypeAttributeVO.getId().toLowerCase();
}).collect(Collectors.toSet());
//灏哹ean杞负map,mybatis缁熶竴澶勭悊
List<Map<String, String>> maps = new ArrayList<>();
@@ -3336,13 +3355,17 @@
setter.invoke(obj, ((BigDecimal) map.get(property.getName().toUpperCase())).intValue());
map.remove(property.getName().toUpperCase());
} else if (map.get(property.getName().toUpperCase()) != null) {
- setter.invoke(obj, map.get(property.getName().toUpperCase()));
+ if(setter.getParameterTypes()[0].getSimpleName().equals("String")){
+ setter.invoke(obj, String.valueOf(map.get(property.getName().toUpperCase())));
+ }else{
+ setter.invoke(obj, map.get(property.getName().toUpperCase()));
+ }
map.remove(property.getName().toUpperCase());
}
}
}
for (Object key : map.keySet()) {
- map.put(key, String.valueOf(map.get(key)));
+ map.put(key, map.get(key) == null ? null : String.valueOf(map.get(key)));
}
((BaseModel) obj).setData(map);
@@ -3366,7 +3389,7 @@
if (!listR.isSuccess() || listR.getData().size() == 0) {
throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
}
- String userName = String.valueOf(AuthUtil.getUser().getUserId());
+// String userName = String.valueOf(AuthUtil.getUser().getUserId());
BaseModel bo = new BaseModel();
// bo.setOid(VciBaseUtil.getPk());
// bo.setRevisionid(VciBaseUtil.getPk());
@@ -3376,16 +3399,16 @@
bo.setFirstR("1");
bo.setFirstV("1");
bo.setLastV("1");
- bo.setCreator(userName);
- bo.setCreateTime(new Date());
- bo.setLastModifier(userName);
- bo.setLastModifyTime(new Date());
bo.setRevisionRule(listR.getData().get(0).getRevisionRuleId());
- bo.setVersionRule(String.valueOf(listR.getData().get(0).getVersionRule()));
+ bo.setVersionRule("".equals(listR.getData().get(0).getVersionRule())?"0":listR.getData().get(0).getVersionRule());
if (StringUtils.isNotBlank(listR.getData().get(0).getRevisionRuleId())) {
R<List<RevisionRuleVO>> revisionRuleVO = revisionRuleClient
- .selectByIdCollection(Collections.singletonList(listR.getData().get(0).getRevisionRuleId()));
- bo.setRevisionValue(revisionRuleVO.getData().get(0).getStartCode());
+ .selectByIdCollection(Collections.singletonList(listR.getData().get(0).getRevisionRuleId().toLowerCase()));
+ if(revisionRuleVO.getData().size() != 0 ){
+ bo.setRevisionValue(revisionRuleVO.getData().get(0).getStartCode());
+ }else{
+ bo.setRevisionValue("1");
+ }
}
bo.setRevisionSeq(1);
bo.setVersionSeq(1);
@@ -3398,7 +3421,7 @@
bo.setId("");
bo.setName("");
bo.setDescription("");
- bo.setOwner(userName);
+ bo.setOwner("1");
// bo.setCheckinby(userName);
bo.setCopyFromVersion("");
// this.initTypeAttributeValue(bo,btmTypeVO);
@@ -3653,7 +3676,48 @@
} else {
if (StringUtils.isNotBlank(referConfigVO.getParentFieldName()) && StringUtils.isNotBlank(queryObject.getParentOid())) {
queryObject.getConditionMap().put(referConfigVO.getParentFieldName(), queryObject.getParentOid());
- }
+ //鏌ヨ鍏ㄩ儴鐨勪俊鎭�
+ String parentOidSql = "";
+ if (StringUtils.isNotBlank(referConfigVO.getParentValue())) {
+ String temp = referConfigVO.getParentValue();
+ if (temp.startsWith(QueryOptionConstant.IN)) {
+ temp = temp.substring((QueryOptionConstant.IN).length()).trim();
+ parentOidSql = " in " + "('" + queryObject.getParentOid() + "')";
+ } else if (temp.startsWith(QueryOptionConstant.NOTIN)) {
+ parentOidSql = " not in " + "('" + queryObject.getParentOid() + "')";
+ } else if (temp.startsWith(QueryOptionConstant.NOTEQUAL)) {
+ temp = temp.substring((QueryOptionConstant.NOTEQUAL).length()).trim();
+ parentOidSql = QueryOptionConstant.NOTEQUAL + " " + ((temp.startsWith("'") && temp.endsWith("'")) ? temp : "'" + temp + "'");
+ } else if (temp.startsWith(QueryOptionConstant.MORETHAN)) {
+ temp = temp.substring((QueryOptionConstant.MORETHAN).length()).trim();
+ parentOidSql = QueryOptionConstant.MORETHAN + " " + ((temp.startsWith("'") && temp.endsWith("'")) ? temp : "'" + temp + "'");
+ } else if (temp.startsWith(QueryOptionConstant.MORE)) {
+ temp = temp.substring((QueryOptionConstant.MORE).length()).trim();
+ parentOidSql = QueryOptionConstant.MORE + " " + ((temp.startsWith("'") && temp.endsWith("'")) ? temp : "'" + temp + "'");
+ } else if (temp.startsWith(QueryOptionConstant.LESSTHAN)) {
+ temp = temp.substring((QueryOptionConstant.LESSTHAN).length()).trim();
+ parentOidSql = QueryOptionConstant.LESSTHAN + " " + ((temp.startsWith("'") && temp.endsWith("'")) ? temp : "'" + temp + "'");
+ } else if (temp.startsWith(QueryOptionConstant.LESS)) {
+ temp = temp.substring((QueryOptionConstant.LESS).length()).trim();
+ parentOidSql = QueryOptionConstant.LESS + " " + ((temp.startsWith("'") && temp.endsWith("'")) ? temp : "'" + temp + "'");
+ } else if (temp.startsWith(QueryOptionConstant.ISNOTNULL)) {
+ parentOidSql = " is not null";
+ } else if (temp.startsWith(QueryOptionConstant.ISNULL)) {
+ parentOidSql = " is null";
+ } else if (temp.contains("*")) {
+ parentOidSql = " like " + ((temp.startsWith("'") && temp.endsWith("'")) ? temp : "'" + temp + "'").replace("*", "%");
+ } else {
+ parentOidSql = " = " + ((temp.startsWith("'") && temp.endsWith("'")) ? temp : "'" + temp + "'");
+ }
+
+ }
+ //鏌ヨ鍏ㄩ儴鐨勪俊鎭�
+ queryObject.getConditionMap().put("oid", QueryOptionConstant.IN + "(select oid from " +
+ getTableName(referConfigVO.getReferType()) +
+ " START WITH " + referConfigVO.getParentFieldName() + " " +
+ parentOidSql +
+ " CONNECT BY PRIOR " + oidFieldName + " = " + referConfigVO.getParentFieldName() + ")");
+ }
}
LambdaQueryWrapper<CodeClassify> lqw = new LambdaQueryWrapper<>();
String sql = queryObject.getConditionMap().get("oid").substring(3);
--
Gitblit v1.9.3