From d23181c2f673a6f911a61572099cebb84a84d2d8 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期五, 18 八月 2023 10:22:33 +0800
Subject: [PATCH] 用户管理 新增bug
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java | 61 +++++++++++-------------------
1 files changed, 22 insertions(+), 39 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 a194dc7..e3cfd10 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
@@ -423,6 +423,9 @@
cbo.setCreator(String.valueOf(AuthUtil.getUser().getUserId()));
cbo.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId()));
cbo.setTenantId(AuthUtil.getTenantId());
+ if(StringUtils.isNotBlank(orderDTO.getLcStatus())||StringUtils.isNotBlank(orderDTO.getData().get("lcStatus"))){
+ cbo.setLcStatus(StringUtils.isNotBlank(orderDTO.getLcStatus())?orderDTO.getLcStatus():orderDTO.getData().get("lcStatus"));
+ }
// //TODO:鍥犱负榛樿鐨勫睘鎬ч兘涓嶆嫹璐濓紝鐩墠闆嗗洟鐮佸彨name锛屽苟娌℃湁浠嶥TO鎷疯礉鍒癱bo閲屻�傚鍔犱竴涓崟鐙鐞嗭紝浠ュ悗鍐嶇湅瑕佷笉瑕佽皟鏁�
cbo.setName(orderDTO.getName() == null ? "" : orderDTO.getName());
// //end -- modify by lihang @20220407
@@ -550,7 +553,10 @@
String value = null;
if (VciQueryWrapperForDO.BASIC_FIELD_MAP.containsKey(attrId)) {
value = WebUtil.getStringValueFromObject(WebUtil.getValueFromField(WebUtil.getFieldForObject(attrId, orderDTO.getClass()).getName(), orderDTO));
- } else {
+ if(StringUtils.isBlank(value)){
+ value = orderDTO.getData().getOrDefault(attrId, "");
+ }
+ } else {
//璇存槑鏄嚜琛岄厤缃殑
//鍓嶇蹇呴』瑕佷紶閫掑皬鍐欑殑灞炴��
value = orderDTO.getData().getOrDefault(attrId, "");
@@ -1293,7 +1299,7 @@
uiFormReferVO.setTableConfig(uiTableConfigVO);
// 绛涢�夋潯浠�
HashMap<String, String> whereMap = new HashMap<>();
- if(!codeReferConfig.getCodeSrchCondConfigVOS().isEmpty()){
+ if(!CollectionUtils.isEmpty(codeReferConfig.getCodeSrchCondConfigVOS())){
codeReferConfig.getCodeSrchCondConfigVOS().stream().forEach(srch->{
whereMap.put(srch.getFilterField()+srch.getFilterType(),srch.getFilterValue());
});
@@ -2386,8 +2392,8 @@
if (conditionMap == null) {
conditionMap = new HashMap<>();
}
- //pageHelper.addDefaultDesc("createTime");
- pageHelper.addDefaultDesc("id");
+ pageHelper.addDefaultDesc("createTime");
+// pageHelper.addDefaultDesc("id");
if (!classifyService.checkHasChild(codeClassifyOid)) {
conditionMap.put("t." + CODE_CLASSIFY_OID_FIELD, codeClassifyOid);
} else {
@@ -2441,27 +2447,22 @@
List<BaseModel> updateList = new ArrayList<>();
// 搴旇閮芥槸涓�涓垎绫讳笅鐨勪笟鍔℃暟鎹紝鎵剧涓�鏉$殑灏辫
CodeClassifyFullInfoBO topClassifyFullInfo = classifyService.getClassifyFullInfo(orderDTOList.get(0).getCodeClassifyOid());
-// Map<String,String> cboOidMap = new HashMap<>();
if (CollectionUtils.isEmpty(orderDTOMap.keySet())) {
throw new VciBaseException(DATA_OID_NOT_EXIST);
}
List<BaseModel> cboList = selectByTypeAndOid(topClassifyFullInfo.getTopClassifyVO().getBtmTypeId(), VciBaseUtil.array2String(orderDTOMap.keySet().toArray(new String[0])));
-// cboOidMap.put("oid",QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(orderDTOMap.keySet().toArray(new String[0])) + ")");
-// List<ClientBusinessObject> cboList = boService.queryCBO(classifyFullInfo.getTopClassifyVO().getBtmtypeid(), cboOidMap);
- if (CollectionUtils.isEmpty(cboList)) {
+ if (CollectionUtils.isEmpty(cboList)) {
throw new VciBaseException(DATA_OID_NOT_EXIST);
}
-// BatchCBO batchCBO = new BatchCBO();
-// CodeClassifyTemplateVO firstTemplateVO = templateService.getObjectHasAttrByOid(orderDTOMap.values().stream().findFirst().get().getTemplateOid());
- Map<String, BaseModel> cboMap = cboList.stream().filter(cbo -> cbo != null).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getOid(), t -> t));
+ Map<String, BaseModel> cboMap = cboList.stream().filter(cbo -> cbo != null).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getOid(), t -> t));
orderDTOMap.keySet().stream().forEach(oid -> {
CodeOrderDTO orderDTO = orderDTOMap.get(oid);
CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(orderDTO.getCodeClassifyOid());
CodeClassifyTemplateVO firstTemplateVO = templateService.getObjectHasAttrByOid(orderDTOMap.values().stream().findFirst().get().getTemplateOid());
BaseModel cbo = cboMap.get(oid);
String code = cbo.getId();
- if (!cbo.getTs().toString().contains(orderDTO.getTs().toString())) {
+ if (!cbo.getTs().toString().contains(VciDateUtil.date2Str(orderDTO.getTs(), VciDateUtil.DateTimeFormat))) {
throw new VciBaseException("鏁版嵁涓嶆槸鏈�鏂扮殑锛屽彲鑳戒粬浜哄凡缁忎慨鏀癸紝璇峰埛鏂板悗鍐嶈瘯");
}
if (!CodeDefaultLC.EDITING.getValue().equalsIgnoreCase(cbo.getLcStatus()) && !orderDTO.isEditInProcess()) {
@@ -2487,21 +2488,13 @@
//浼佷笟鐮佸拰闆嗗洟鐮佺殑涓嶄慨鏀�
cbo.setDescription(StringUtils.isBlank(orderDTO.getDescription()) ? "" : orderDTO.getDescription());
cbo.setName(orderDTO.getName());
-// try {
-// cbo.setAttributeValue("id",code);
cbo.setId(code);
cbo.setDescription(StringUtils.isBlank(orderDTO.getDescription()) ? "" : orderDTO.getDescription());
-// cbo.setAttributeValueWithNoCheck("description", StringUtils.isBlank(orderDTO.getDescription())?"":orderDTO.getDescription());
-// cbo.setAttributeValue("name", orderDTO.getName());
cbo.setName(orderDTO.getName());
-// } catch (VCIError e) {
-// e.printStackTrace();
-// }
-// batchCBO.getUpdateCbos().add(cbo);
+
updateList.add(cbo);
batchSaveSelectChar(firstTemplateVO, cboList);
});
-// boService.persistenceBatch(batchCBO);
updateBatchByBaseModel(topClassifyFullInfo.getTopClassifyVO().getBtmTypeId(), updateList);
return R.success("鎿嶄綔鎴愬姛锛�");
}
@@ -2607,17 +2600,10 @@
orderDTO.getCodeClassifyOid(), "涓婚搴撳垎绫荤殑涓婚敭");
//闇�瑕佸崌鐗�
-// ClientBusinessObjectOperation cboOperation = new ClientBusinessObjectOperation();
BaseModel cbo = null;
-// try {
-// //cbo = cboOperation.createBusinessObjectVersion(oldCbo,VciBaseUtil.getCurrentUserId());
cbo = reviseBusinessObject(oldCbo);
-// } catch (VCIError e) {
-// throw new VciBaseException("鍒濆鍖栫浉鍏崇殑鍐呭鍑虹幇浜嗛敊璇�", new String[0], e);
-// }
//1. 鍒ゆ柇蹇呰緭椤�
- //CodeClassifyTemplateVO templateVO = templateService.getObjectHasAttrByOid(orderDTO.getTemplateOid());
- checkRequiredAttrOnOrder(templateVO, orderDTO);
+ checkRequiredAttrOnOrder(templateVO, orderDTO);
//2.鍏堟敞鍏ワ紝鍐嶇粍鍚堬紝鏈�鍚庢牎楠�
switchClassifyLevelOnOrder(templateVO, classifyFullInfo, orderDTO);
//3.澶勭悊缁勫悎瑙勫垯銆傜粍鍚堣鍒欎笉鑳戒娇鐢ㄧ紪鐮佺殑灞炴�э紝鍥犱负缂栫爜鐨勭敓鎴愬彲鑳芥槸闇�瑕佸睘鎬х殑
@@ -2635,20 +2621,17 @@
//浼佷笟鐮佸拰闆嗗洟鐮佺殑涓嶄慨鏀�
cbo.setDescription(StringUtils.isBlank(orderDTO.getDescription()) ? "" : orderDTO.getDescription());
cbo.setName(orderDTO.getName());
-// try {
cbo.setDescription(StringUtils.isBlank(orderDTO.getDescription()) ? "" : orderDTO.getDescription());
-// cbo.setAttributeValueWithNoCheck("description", StringUtils.isBlank(orderDTO.getDescription())?"":orderDTO.getDescription());
cbo.setName(orderDTO.getName());
-// } catch (VCIError e) {
-// e.printStackTrace();
-// }
//鏁版嵁鐨勬椂鍊欙紝缂栫爜鏄笉鍙樼殑
cbo.setCreateTime(cbo.getCreateTime());
cbo.setLastModifyTime(cbo.getLastModifyTime());
-// List<ClientBusinessObject> cboList = new ArrayList<>();
-// cboList.add(cbo);
+ cbo.setTenantId(AuthUtil.getTenantId());
+ oldCbo.setLastV("0");
+ oldCbo.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId()));
+ oldCbo.setLastModifyTime(new Date());
try {
-// cboOperation.saveRevisionBuinessObject(cbo);
+ updateBatchByBaseModel(oldCbo.getBtmname(), Collections.singletonList(oldCbo));
insertBatchByType(cbo.getBtmname(), Collections.singletonList(cbo));
} catch (Exception vciError) {
throw new VciBaseException("鏁版嵁鏇存敼淇濆瓨鍑洪敊浜�", new String[0], vciError);
@@ -3591,8 +3574,8 @@
List<Map> maps = commonsMapper.selectBySql("select * from ( select rownum rn, t.* from (select * from " + listR.getData().get(0).getTableName() + SPACE
+ (StringUtils.isNotBlank(listR.getData().get(0).getRevisionRuleId()) ? (" where lastr = " + VciBaseUtil.toInSql(baseQueryObject.getConditionMap().get("lastr").toString())
+ " and lastv =" + VciBaseUtil.toInSql(baseQueryObject.getConditionMap().get("lastv").toString())) + " and" : "where") + SPACE + "1=1 "
- + lcstatusSql + namesql + codesql + ") t where rownum <=" + num1 + ") where rn >=" + num2
- );
+ + lcstatusSql + namesql + codesql + ") t "+ (baseQueryObject.getLimit()==-1?")": ("where rownum <=" + num1 + ") where rn >=" + num2)
+ ));
List<BaseModel> baseModels = new ArrayList<>();
//灏嗘煡璇㈠埌鐨勬暟鎹浆鎹负basemodel锛屼娇鐢ㄧ殑鍙嶅皠鏂瑰紡鏉ヨ繘琛屽垱寤虹殑
try {
--
Gitblit v1.9.3