From 8ebca469a8b028e07f77a5a7058c9fcac3ced323 Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期三, 12 七月 2023 19:08:21 +0800
Subject: [PATCH] 流程中业务数据
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java | 120 ++++++++++++++++++++++-------------------------------------
1 files changed, 45 insertions(+), 75 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 3fb88ff..0443438 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
@@ -66,6 +66,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
+
import javax.annotation.Resource;
import java.beans.BeanInfo;
import java.beans.Introspector;
@@ -415,6 +416,11 @@
// //榛樿鐨勫睘鎬ч兘涓嶇敤浠庡墠绔嫹璐�
// //璁剧疆缂栫爜闇�瑕佺殑榛樿灞炴�х殑鍐呭
copyValueToCBO(classifyFullInfo, cbo, orderDTO, templateVO, false);
+ cbo.setOid(VciBaseUtil.getPk());
+ cbo.setCreateTime(new Date());
+ cbo.setLastModifyTime(new Date());
+ cbo.setCreator(AuthUtil.getUser().getUserName());
+ cbo.setLastModifier(AuthUtil.getUser().getUserName());
// //TODO:鍥犱负榛樿鐨勫睘鎬ч兘涓嶆嫹璐濓紝鐩墠闆嗗洟鐮佸彨name锛屽苟娌℃湁浠嶥TO鎷疯礉鍒癱bo閲屻�傚鍔犱竴涓崟鐙鐞嗭紝浠ュ悗鍐嶇湅瑕佷笉瑕佽皟鏁�
cbo.setName(orderDTO.getName() == null ? "" : orderDTO.getName());
// //end -- modify by lihang @20220407
@@ -798,35 +804,27 @@
// 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))) {
-// try {
-// cbo.setAttributeValue(key, value);
-// } catch (Exception e) {
-// logger.error("璁剧疆灞炴�х殑鍊奸敊璇�", e);
-// }
-// }
-// });
+ orderDTO.getData().forEach((key, value) -> {
+ if (!edit || (!checkUnAttrUnEdit(key) &&
+ !VciQueryWrapperForDO.LC_STATUS_FIELD.equalsIgnoreCase(key))) {
+ try {
+ cbo.getData().put(cbo.getData().containsKey(key.toUpperCase())?key.toUpperCase():key, value);
+ } catch (Exception e) {
+ logger.error("璁剧疆灞炴�х殑鍊奸敊璇�", e);
+ }
+ }
+ });
// BeanMap beanMap = BeanMap.create(cbo);
// beanMap.putAll(orderDTO.getData());
try {
-
- BeanUtilForVCI.copyPropertiesIgnoreNull(BeanUtilForVCI.convertMap(BaseModel.class, orderDTO.getData()), cbo);
- Map<String, String> data = new HashMap<>();
- data.put(CODE_CLASSIFY_OID_FIELD, classifyFullInfo.getCurrentClassifyVO().getOid());
- data.put(CODE_TEMPLATE_OID_FIELD, templateVO.getOid());
- data.put(CODE_FULL_PATH_FILED, fullPath);
- cbo.setData(data);
- cbo.setOid(VciBaseUtil.getPk());
- cbo.setCreateTime(new Date());
+ 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());
+ data.put(cbo.getData().containsKey(CODE_TEMPLATE_OID_FIELD.toUpperCase())?CODE_TEMPLATE_OID_FIELD.toUpperCase():CODE_TEMPLATE_OID_FIELD, templateVO.getOid());
+ data.put(cbo.getData().containsKey(CODE_FULL_PATH_FILED.toUpperCase())?CODE_FULL_PATH_FILED.toUpperCase():CODE_FULL_PATH_FILED, fullPath);
+ cbo.getData().putAll(data);
cbo.setLastModifyTime(new Date());
- cbo.setCreator(AuthUtil.getUser().getUserName());
cbo.setLastModifier(AuthUtil.getUser().getUserName());
-// cbo.setCodeclsfid(classifyFullInfo.getCurrentClassifyVO().getOid());
-// cbo.setTemplateOid(templateVO.getOid());
-// cbo.setCodeclsfpath(fullPath);
cbo.setTs(new Date());
if (!edit && StringUtils.isBlank(orderDTO.getLcStatus())) {
//TODO 鍏堝啓鍥哄畾锛屽悗闈㈢敓鍛藉懆鏈熷ソ浜嗗湪缂栧啓
@@ -2107,17 +2105,10 @@
if (CollectionUtils.isEmpty(cbos)) {
throw new VciBaseException(DATA_OID_NOT_EXIST);
}
-// QueryWrapper<CodeWupin> btmWrapper = new QueryWrapper<>();
-// btmWrapper.eq("OID",orderDTO.getOid());
-// CodeWupin cbo = codeWupinMapper.selectOne(btmWrapper);
BaseModel cbo = cbos.get(0);
-// CodeClstemplateVO templateVO = templateService.getObjectHasAttrByOid(orderDTO.getTemplateOid());
-// CodeRuleVO ruleVO = ruleService.getObjectHasSecByOid(orderDTO.getCodeRuleOid());
-
- if (cbo != null) {
+ if (cbo == null) {
throw new VciBaseException(DATA_OID_NOT_EXIST);
}
-// ClientBusinessObject cbo = cbos.get(0);
if (!cbo.getTs().toString().contains(VciDateUtil.date2Str(orderDTO.getTs(), VciDateUtil.DateTimeFormat))) {
throw new VciBaseException("鏁版嵁涓嶆槸鏈�鏂扮殑锛屽彲鑳戒粬浜哄凡缁忎慨鏀癸紝璇峰埛鏂板悗鍐嶈瘯");
}
@@ -2127,9 +2118,16 @@
//娉ㄦ剰妯℃澘涓嶈兘浣跨敤鏁版嵁瀛樺偍鐨勬椂鍊欑殑妯℃澘锛屽洜涓哄彲鑳戒細鍙樺寲
- //1. 鍒ゆ柇蹇呰緭椤�
+ String codeClassifyOid=cbo.getData().get(CODE_CLASSIFY_OID_FIELD.toUpperCase());
+ orderDTO.setCodeClassifyOid(codeClassifyOid);
+// CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(orderDTO.getCodeClassifyOid());
+// CodeClassifyTemplateVO templateVO= this.getUsedTemplateByClassifyOid(orderDTO.getCodeClassifyOid());
+
+
CodeClassifyTemplateVO templateVO = templateService.getObjectHasAttrByOid(orderDTO.getTemplateOid());
- checkRequiredAttrOnOrder(templateVO, orderDTO);
+ orderDTO.setTemplateOid(templateVO.getOid());
+ //1. 鍒ゆ柇蹇呰緭椤�
+ checkRequiredAttrOnOrder(templateVO, orderDTO);
//2.鍏堟敞鍏ワ紝鍐嶇粍鍚堬紝鏈�鍚庢牎楠�
switchClassifyLevelOnOrder(templateVO, classifyFullInfo, orderDTO);
//3.澶勭悊缁勫悎瑙勫垯銆傜粍鍚堣鍒欎笉鑳戒娇鐢ㄧ紪鐮佺殑灞炴�э紝鍥犱负缂栫爜鐨勭敓鎴愬彲鑳芥槸闇�瑕佸睘鎬х殑
@@ -2146,46 +2144,18 @@
copyValueToCBO(classifyFullInfo, cbo, orderDTO, templateVO, true);
//浼佷笟鐮佸拰闆嗗洟鐮佺殑涓嶄慨鏀�
cbo.setDescription(orderDTO.getDescription());
- cbo.setName(orderDTO.getName());
+// cbo.setName(orderDTO.getName());
try {
cbo.setDescription(StringUtils.isBlank(orderDTO.getDescription()) ? "" : orderDTO.getDescription());
cbo.setName(orderDTO.getName());
-//// cbo.setAttributeValueWithNoCheck("description", orderDTO.getDescription());
-// cbo.setAttributeValue("name", orderDTO.getName());
} catch (Exception e) {
e.printStackTrace();
}
+// cbo.getData().putAll(orderDTO.getData());
cbo.setLastModifyTime(new Date());
cbo.setLastModifier(String.valueOf(AuthUtil.getUser().getUserId()));
updateBatchByBaseModel(classifyFullInfo.getTopClassifyVO().getBtmtypeid(), Collections.singletonList(cbo));
-// codeWupinMapper.updateById(cbo);
-//
-// List<CodeWupinEntity> cboList = new ArrayList<>();
-//
-// //澶囨敞
-// cbo.setDescription(orderDTO.getDescription());
-// cboList.add(cbo);
-////
-//// cboList.add(cbo);
-// List<String> codeList = productCodeService.productCodeAndSaveData(classifyFullInfo, templateVO, ruleVO, orderDTO.getSecDTOList(),cboList);
-//
-//
-// List<String> charList = new ArrayList<>();
-// for (CodeWupinEntity wupinEntity : cboList) {
-// charList.add(wupinEntity.getId());
-// }
-// batchSaveSelectChar(templateVO, charList);
-// return codeList.size() > 0 ? codeList.get(0) : "";
-
-
- //淇敼鐨勬椂鍊欙紝缂栫爜鏄笉鍙樼殑
-// BatchCBO batchCBO = new BatchCBO();
-// batchCBO.getUpdateCbos().add(cbo);
-// List<ClientBusinessObject> cboList = new ArrayList<>();
-// cboList.add(cbo);
-// boService.persistenceBatch(batchCBO);
batchSaveSelectChar(templateVO, Collections.singletonList(cbo));
-// batchSaveSelectChar(templateVO, Arrays.asList(cbo.getId()));
}
/**
@@ -3104,12 +3074,12 @@
uiInfoVO.setLeaf(classifyService.countChildrenByClassifyOid(codeClassifyOid) == 0);
if (StringUtils.isNotBlank(functionId) && !"~".equalsIgnoreCase(functionId)) {
List<Menu> buttonVOS = iSysClient.getMenuButtonByType(uiInfoVO.getTemplateVO().getBtmTypeId()).getData();
-// List<SmOperationVO> operationVOS = operationService.listButtonByFunctionId(functionId);
-// if (operationVOS == null) {
-// operationVOS = new ArrayList<>();
-// }
-// //鏌ヨ鎵╁睍鎸夐挳
-// List<CodeButtonVO> buttonVOS = listButtonInToolbarByClassifyOid(codeClassifyOid);
+ // List<SmOperationVO> operationVOS = operationService.listButtonByFunctionId(functionId);
+ // if (operationVOS == null) {
+ // operationVOS = new ArrayList<>();
+ // }
+ // //鏌ヨ鎵╁睍鎸夐挳
+ // List<CodeButtonVO> buttonVOS = listButtonInToolbarByClassifyOid(codeClassifyOid);
List<SmOperationVO> operationVOS = new ArrayList<>();
if (!CollectionUtils.isEmpty(buttonVOS)) {
for (int i = 0; i < buttonVOS.size(); i++) {
@@ -3411,18 +3381,18 @@
if (StringUtils.isNotBlank(baseQueryObject.getConditionMap().get("lcstatus"))) {
lcstatusSql = "lcstatus =" + VciBaseUtil.toInSql(baseQueryObject.getConditionMap().get("lcstatus"));
}
- String where = "";
+// String where = "";
- if (StringUtils.isNotBlank(codesql) || StringUtils.isNotBlank(lcstatusSql) || StringUtils.isNotBlank(namesql)) {
- where="where ";
- }
+// if (StringUtils.isNotBlank(codesql) || StringUtils.isNotBlank(lcstatusSql) || StringUtils.isNotBlank(namesql)) {
+// where = "where ";
+// }
String num1 = baseQueryObject.getPage() * baseQueryObject.getLimit() + "";
String num2 = ((baseQueryObject.getPage()) - 1) * baseQueryObject.getLimit() + 1 + "";
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
+ + " and lastv =" + VciBaseUtil.toInSql(baseQueryObject.getConditionMap().get("lastv").toString())) + " and" : "where") + SPACE + "1=1 and "
+ lcstatusSql + namesql + codesql + ") t where rownum <=" + num1 + ") where rn >=" + num2
);
List<BaseModel> baseModels = new ArrayList<>();
@@ -3466,7 +3436,7 @@
}
int total = commonsMapper.queryCountBySql("select count(*) 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
+ + "and lastv = " + VciBaseUtil.toInSql(baseQueryObject.getConditionMap().get("lastv").toString())) + " and" : "where") + SPACE + "1=1 and "
+ lcstatusSql + namesql + codesql
);
IPage<BaseModel> objectDataGrid = new Page<>();
--
Gitblit v1.9.3