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 | 94 +++++++++++++++++++++--------------------------
1 files changed, 42 insertions(+), 52 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 2b8523f..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
@@ -20,6 +20,7 @@
import com.vci.ubcs.code.vo.pagemodel.UITableFieldVO;
import com.vci.ubcs.code.vo.pagemodel.UITablePageVO;
import com.vci.ubcs.code.vo.pagemodel.*;
+import com.vci.ubcs.flow.core.dto.FlowStatusDTO;
import com.vci.ubcs.flow.core.feign.IMDMIFlowAttrClient;
import com.vci.ubcs.flow.core.vo.ProcessStageAttrVO;
import com.vci.ubcs.omd.constant.BtmTypeLcStatusConstant;
@@ -179,9 +180,6 @@
*/
@Resource
CommonsMapper commonsMapper;
-
- @Resource
- ICodeBasicSecService codeBasicSecService;
/**
* 缂栫爜瑙勫垯鐨勬湇鍔�
@@ -425,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
@@ -552,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, "");
@@ -649,11 +653,10 @@
}
wrapperKeyAttrConditionMap(value, keyRuleVO, attrId, trim, ignoreCase, ignoreWidth, trimAll, conditionMap);
});
- conditionMap.put("CODETEMPLATEOID","'" + orderDTO.getTemplateOid() + "'");
//娌℃湁闄愬埗鍒嗙被锛屼絾鏄竴涓ā鏉垮彧鍙兘鍦ㄤ竴涓笟鍔$被鍨嬮噷闈紝鎵�浠ョ洿鎺ユ煡璇㈣繖涓笟鍔$被鍨嬪嵆鍙�
-
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());
@@ -805,10 +808,6 @@
} else {
fullPath = classifyFullInfo.getCurrentClassifyVO().getOid();
}
-
-// BeanUtils.
-// BeanUtils.copyProperties(orderDTO.getData(),cbo);
-// cbo.setMaterialtype(Short.valueOf("1001"));
orderDTO.getData().forEach((key, value) -> {
if (!edit || (!checkUnAttrUnEdit(key) &&
!VciQueryWrapperForDO.LC_STATUS_FIELD.equalsIgnoreCase(key))) {
@@ -819,9 +818,6 @@
}
}
});
-// BeanMap beanMap = BeanMap.create(cbo);
-// beanMap.putAll(orderDTO.getData());
-
try {
Map<String, String> data = new HashMap<>();
data.put(cbo.getData().containsKey(CODE_CLASSIFY_OID_FIELD.toUpperCase())?CODE_CLASSIFY_OID_FIELD.toUpperCase():CODE_CLASSIFY_OID_FIELD, classifyFullInfo.getCurrentClassifyVO().getOid());
@@ -1303,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());
});
@@ -2396,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 {
@@ -2451,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()) {
@@ -2497,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("鎿嶄綔鎴愬姛锛�");
}
@@ -2617,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.澶勭悊缁勫悎瑙勫垯銆傜粍鍚堣鍒欎笉鑳戒娇鐢ㄧ紪鐮佺殑灞炴�э紝鍥犱负缂栫爜鐨勭敓鎴愬彲鑳芥槸闇�瑕佸睘鎬х殑
@@ -2645,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);
@@ -3569,7 +3542,7 @@
throw new ServiceException(Func.isNotBlank(listR.getMsg()) ? listR.getMsg() : "涓氬姟绫诲瀷feign鎺ュ彛璋冪敤閿欒锛�");
}
if (listR.getData().isEmpty()) {
- throw new VciBaseException(Func.isNotBlank(listR.getMsg()) ? listR.getMsg() : "浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
+ throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
}
String namesql = "";
if (StringUtils.isNotBlank(baseQueryObject.getConditionMap().get("name"))) {
@@ -3601,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 {
@@ -3842,4 +3815,21 @@
return toBo;
}
+
+ /**
+ * 娴佺▼涓彉鏇寸姸鎬佸��
+ * @param flowDTO
+ * @return
+ */
+ @Override
+ public R processChangeStatus(FlowStatusDTO flowDTO) {
+ flowDTO.getOids().forEach(s -> {
+ BaseModelDTO baseModel = new BaseModelDTO();
+ baseModel.setOid(s);
+ baseModel.setBtmname(flowDTO.getBtmType());
+ baseModel.setLcStatus(String.valueOf(flowDTO.getVariableMap().getOrDefault("statusValue","Auditing")));
+ changeStatus(baseModel);
+ });
+ return R.success("鎴愬姛");
+ }
}
--
Gitblit v1.9.3