From 69c44007184b0c496affd99ae785c747bba3dd48 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期四, 03 八月 2023 15:47:41 +0800
Subject: [PATCH] 主题库保存校验
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java | 93 ++++++++++++++++++++++++++++++++++------------
1 files changed, 69 insertions(+), 24 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 0edd622..e6dcb80 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
@@ -5,24 +5,21 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO;
import com.vci.ubcs.code.bo.CodeTemplateAttrSqlBO;
import com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant;
-import com.vci.ubcs.code.constant.MdmBtmTypeConstant;
import com.vci.ubcs.code.dto.CodeDeleteBatchDTO;
import com.vci.ubcs.code.dto.CodeOrderDTO;
import com.vci.ubcs.code.dto.datapush.BaseModelDTO;
import com.vci.ubcs.code.entity.*;
import com.vci.ubcs.code.enumpack.*;
-import com.vci.ubcs.code.mapper.CodeWupinMapper;
import com.vci.ubcs.code.mapper.CommonsMapper;
import com.vci.ubcs.code.service.*;
import com.vci.ubcs.code.vo.CodeKeyAttrRepeatVO;
+import com.vci.ubcs.code.vo.CodeReferConfigVO;
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.entity.ProcessStageAttr;
import com.vci.ubcs.flow.core.feign.IMDMIFlowAttrClient;
import com.vci.ubcs.flow.core.vo.ProcessStageAttrVO;
import com.vci.ubcs.omd.constant.BtmTypeLcStatusConstant;
@@ -41,7 +38,6 @@
import com.vci.ubcs.starter.util.UBCSSqlKeyword;
import com.vci.ubcs.starter.web.constant.QueryOptionConstant;
import com.vci.ubcs.starter.web.constant.RegExpConstant;
-import com.vci.ubcs.starter.web.constant.VciSystemVarConstants;
import com.vci.ubcs.starter.web.enumpck.BooleanEnum;
import com.vci.ubcs.starter.web.enumpck.UserSecretEnum;
import com.vci.ubcs.starter.web.enumpck.VciFieldTypeEnum;
@@ -70,7 +66,6 @@
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;
@@ -96,7 +91,7 @@
* @date 2022-2-22
*/
@Service
-public class MdmEngineServiceImpl extends ServiceImpl<CodeWupinMapper, CodeWupin> implements MdmEngineService {
+public class MdmEngineServiceImpl implements MdmEngineService {
/**
@@ -104,7 +99,6 @@
*/
@Resource
private CodeClstemplateServiceImpl templateService;
-
/**
* 鐢熸垚缂栫爜鐨勬湇鍔�
@@ -187,7 +181,8 @@
CommonsMapper commonsMapper;
@Resource
- CodeWupinMapper codeWupinMapper;
+ ICodeBasicSecService codeBasicSecService;
+
/**
* 缂栫爜瑙勫垯鐨勬湇鍔�
*/
@@ -360,15 +355,10 @@
throw new VciBaseException("鏈煡璇㈠埌鐩稿叧鏁版嵁銆�");
}
//杩橀渶瑕佷慨鏀筧llCode鐨勭敓鍛藉懆鏈�
-// Map<String, String> conditionMap = new HashMap<>();
QueryWrapper<CodeAllCode> allCodeWrapper = new QueryWrapper<>();
allCodeWrapper.eq("createcodebtm", baseModelDTO.getBtmname());
allCodeWrapper.in("createcodeoid", oids);
-// conditionMap.put("createcodeoid", QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(oids.toArray(new String[0])) + ")");
-// conditionMap.put("createcodebtm", baseModelDTO.getBtmname());
- List<CodeAllCode> codeCbos = codeAllCodeService.selectByWrapper(allCodeWrapper);
-// List<ClientBusinessObject> codeCbos = boService.queryCBO(MdmBtmTypeConstant.CODE_ALL_CODE, conditionMap);
- // 鍥炴敹闇�瑕佷笟鍔℃暟鎹垹闄�
+ List<CodeAllCode> codeCbos = codeAllCodeService.selectByWrapper(allCodeWrapper);// 鍥炴敹闇�瑕佷笟鍔℃暟鎹垹闄�
if (CodeDefaultLC.TASK_BACK.getValue().equals(baseModelDTO.getLcStatus())) {
R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(baseModelDTO.getBtmname()));
if (!listR.isSuccess() || listR.getData().size() == 0) {
@@ -381,8 +371,11 @@
for (BaseModel baseModel : baseModels) {
baseModel.setLcStatus(baseModelDTO.getLcStatus());
}
- updateBatchByBaseModel(baseModelDTO.getBtmname(), baseModels);
- }
+ R r = updateBatchByBaseModel(baseModelDTO.getBtmname(), baseModels);
+ if(!r.isSuccess()){
+ throw new VciBaseException("鏇存柊鏁版嵁鍑洪敊锛岄噸璇曪紒"+r.getMsg());
+ }
+ }
for (CodeAllCode codeCbo : codeCbos) {
codeCbo.setLcStatus(baseModelDTO.getLcStatus());
}
@@ -656,6 +649,7 @@
}
wrapperKeyAttrConditionMap(value, keyRuleVO, attrId, trim, ignoreCase, ignoreWidth, trimAll, conditionMap);
});
+ conditionMap.put("CODETEMPLATEOID","'" + orderDTO.getTemplateOid() + "'");
//娌℃湁闄愬埗鍒嗙被锛屼絾鏄竴涓ā鏉垮彧鍙兘鍦ㄤ竴涓笟鍔$被鍨嬮噷闈紝鎵�浠ョ洿鎺ユ煡璇㈣繖涓笟鍔$被鍨嬪嵆鍙�
@@ -1118,8 +1112,9 @@
itemVO.setType("refer");
itemVO.setShowField(itemVO.getField() + "name");
if (StringUtils.isNotBlank(attrVO.getReferConfig())) {
- //閰嶇疆鐨勫唴瀹�
- itemVO.setReferConfig(JSONObject.parseObject(attrVO.getReferConfig(), UIFormReferVO.class));
+ // 閰嶇疆鐨勫唴瀹�
+ // itemVO.setReferConfig(JSONObject.parseObject(attrVO.getReferConfig(), UIFormReferVO.class));
+ itemVO.setReferConfig(referConfigToUIUiTable(attrVO.getReferConfig()));
} else {
UIFormReferVO formReferVO = new UIFormReferVO();
formReferVO.setType("default");
@@ -1233,7 +1228,8 @@
fieldVO.setShowField(fieldVO.getField());
if (StringUtils.isNotBlank(attrVO.getReferConfig())) {
//閰嶇疆鐨勫唴瀹�
- fieldVO.setReferConfig(JSONObject.parseObject(attrVO.getReferConfig(), UIFormReferVO.class));
+ // fieldVO.setReferConfig(JSONObject.parseObject(attrVO.getReferConfig(), UIFormReferVO.class));
+ fieldVO.setReferConfig(referConfigToUIUiTable(attrVO.getReferConfig()));
} else {
UIFormReferVO formReferVO = new UIFormReferVO();
formReferVO.setType("default");
@@ -1266,6 +1262,51 @@
return fieldVO;
}
+ /**
+ * 灏唕eferconfig杞崲涓篔SON鏍煎紡鐨刄IFormReferVO
+ * @param codeReferConfigVO
+ * @return
+ */
+ private UIFormReferVO referConfigToUIUiTable(String codeReferConfigVO){
+ CodeReferConfigVO codeReferConfig = JSONObject.parseObject(codeReferConfigVO, CodeReferConfigVO.class);
+ // 鎷疯礉涓轰互鍓嶇殑鑰佸璞�
+ UIFormReferVO uiFormReferVO = new UIFormReferVO();
+ org.springblade.core.tool.utils.BeanUtil.copy(codeReferConfig,uiFormReferVO);
+
+ // 琛ㄦ牸鐨勮嚜瀹氫箟瀹氫箟
+ UITableCustomDefineVO uiTableConfigVO = new UITableCustomDefineVO();
+ uiTableConfigVO.setPage(new UITablePageVO(codeReferConfig.getLimit(),1));
+ // 鍒楄〃鐨勫垪鐨勪俊鎭浆鎹�
+ List<UITableFieldVO> uiTableFieldVOs = new ArrayList<>();
+ // 蹇�熸煡璇㈠垪
+ List<UITableFieldVO> queryColumns = new ArrayList<>();
+ if(!CollectionUtils.isEmpty(codeReferConfig.getCodeShowFieldConfigVOS())){
+ codeReferConfig.getCodeShowFieldConfigVOS().stream().forEach(showField ->{
+ UITableFieldVO tableColVO = new UITableFieldVO();
+ org.springblade.core.tool.utils.BeanUtil.copy(showField,tableColVO);
+ tableColVO.setSortField(showField.getAttrSortField());
+ uiTableFieldVOs.add(tableColVO);
+ if(showField.getIsQuery().equals("true")){
+ queryColumns.add(tableColVO);
+ }
+ });
+ }
+ // 鏄剧ず鐨勫垪
+ uiTableConfigVO.setCols(uiTableFieldVOs);
+ // 蹇�熸煡璇㈠垪
+ uiTableConfigVO.setQueryColumns(queryColumns);
+ //set缁欒〃鏍奸厤缃睘鎬�
+ uiFormReferVO.setTableConfig(uiTableConfigVO);
+ // 绛涢�夋潯浠�
+ HashMap<String, String> whereMap = new HashMap<>();
+ if(!codeReferConfig.getCodeSrchCondConfigVOS().isEmpty()){
+ codeReferConfig.getCodeSrchCondConfigVOS().stream().forEach(srch->{
+ whereMap.put(srch.getFilterField()+srch.getFilterType(),srch.getFilterValue());
+ });
+ }
+ uiFormReferVO.setWhere(whereMap);
+ return uiFormReferVO;
+ }
/**
* 鐩镐技椤规煡璇�
@@ -2359,7 +2400,7 @@
// conditionMap.put(CODE_CLASSIFY_OID_FIELD, QueryOptionConstant.IN + "(select oid from " + VciBaseUtil.getTableName(MdmBtmTypeConstant.CODE_CLASSIFY)
conditionMap.put("t." + CODE_CLASSIFY_OID_FIELD, QueryOptionConstant.IN + "(select oid from " +
- btmTypeClient.selectByIdCollection(Collections.singletonList(MdmBtmTypeConstant.CODE_CLASSIFY))
+ btmTypeClient.selectByIdCollection(Collections.singletonList("classify"))
.getData().get(0).getTableName() + " where lcstatus='" + FrameWorkDefaultValueConstant
.FRAMEWORK_DATA_ENABLED + "' start with parentCodeClassifyOid = '" + codeClassifyOid +
"' CONNECT BY PRIOR OID = parentCodeClassifyOid )");
@@ -3354,14 +3395,18 @@
&& ("Integer").equals(setter.getParameterTypes()[0].getSimpleName())) {
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()));
+ } else if (map.containsKey(property.getName().toUpperCase())) {
+ if(setter.getParameterTypes()[0].getSimpleName().equals("String")){
+ setter.invoke(obj, map.get(property.getName().toUpperCase()) == null ? null: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);
--
Gitblit v1.9.3