From 1fd5515e4fff151b54a671135e163a22ee8bd3e1 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期一, 26 六月 2023 20:08:35 +0800
Subject: [PATCH] 业务室数据
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java | 102 ++++++++++++++++++++++++++++-----------------------
1 files changed, 56 insertions(+), 46 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 0bba185..b34af4d 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
@@ -3,6 +3,7 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.baomidou.mybatisplus.extension.toolkit.SqlHelper;
import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO;
@@ -55,6 +56,7 @@
import org.slf4j.LoggerFactory;
import org.springblade.core.cache.utils.CacheUtil;
import org.springblade.core.launch.constant.AppConstant;
+import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil;
@@ -77,7 +79,6 @@
import java.time.ZonedDateTime;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
-import java.util.function.Supplier;
import java.util.stream.Collectors;
import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.DATA_OID_NOT_EXIST;
@@ -138,6 +139,15 @@
*/
@Autowired
private FormulaServiceImpl formulaService;
+
+
+ /**
+ * 瀵筼md涓彁渚涚殑feign鎺ュ彛杩涜璋冪敤锛屼互鍙婂鐞嗙浉鍏抽�昏緫
+ */
+ @Autowired
+ ICodeReferBtmTypeService codeReferBtmTypeService;
+
+
/**
* 鐩镐技椤规煡璇㈣鍒�
@@ -2182,31 +2192,32 @@
deleteBatchDTO.getCodeClassifyOid(), "涓婚搴撳垎绫荤殑涓婚敭");
CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(deleteBatchDTO.getCodeClassifyOid());
//鎵句笟鍔$被鍨嬶紝鐒跺悗浣跨敤涓婚敭鍘昏幏鍙栨暟鎹簱閲岀殑鏁版嵁
- Collection<String> oidCollection = null;
+ Collection<String> oidCollection = new ArrayList<>();
for (Collection<String> strings : VciBaseUtil.switchCollectionForOracleIn(deleteBatchDTO.getOidList())) {
oidCollection.addAll(strings);
}
- List<CodeWupin> cboList = codeWupinMapper.selectBatchIds(oidCollection);
- // List<ClientBusinessObject> cboList = new ArrayList<>();
-// oidCollection.stream().forEach(oids -> {
-// Map<String, String> conditionMap = new HashMap<>();
+// List<CodeWupin> cboList = codeWupinMapper.selectBatchIds(oidCollection);
+ List<BaseModel> cboList = new ArrayList<>();
+ oidCollection.stream().forEach(oids -> {
+ Map<String, String> conditionMap = new HashMap<>();
// conditionMap.put("oid", QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(oids.toArray(new String[0])) + ")");
-// List<ClientBusinessObject> cbos = boService.queryCBO(classifyFullInfo.getTopClassifyVO().getBtmtypeid(), conditionMap);
-// cboList.addAll(cbos);
-// });
+ List<BaseModel> cbos = selectByTypeAndOid(classifyFullInfo.getTopClassifyVO().getBtmtypeid(),oids);
+// boService.queryCBO(classifyFullInfo.getTopClassifyVO().getBtmtypeid(), conditionMap);
+ cboList.addAll(cbos);
+ });
if (CollectionUtils.isEmpty(cboList)) {
throw new VciBaseException("鏁版嵁鍏ㄩ儴鍦ㄧ郴缁熶腑涓嶅瓨鍦�");
}
- List<CodeWupin> editCBOs = cboList.stream().filter(s -> !CodeDefaultLC.EDITING.getValue().equalsIgnoreCase(s.getLcStatus())).collect(Collectors.toList());
+ List<BaseModel> editCBOs = cboList.stream().filter(s -> !CodeDefaultLC.EDITING.getValue().equalsIgnoreCase(s.getLcStatus())).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(editCBOs)) {
- CodeWupin cbo = editCBOs.get(0);
+ BaseModel cbo = editCBOs.get(0);
throw new VciBaseException("缂栫爜涓簕0}绛夊叡{1}鏉℃暟鎹殑鐘舵�佷笉鏄痆{2}]锛屼笉鍏佽鍒犻櫎", new String[]{cbo.getId(), String.valueOf(editCBOs.size()), CodeDefaultLC.EDITING.getText()});
}
//鍙兘鍒犻櫎鑷繁鍒涘缓鐨勬暟鎹�
- String userId = AuthUtil.getUser().getUserName();
- for (CodeWupin clientBusinessObject : cboList) {
+ String userId = String.valueOf(AuthUtil.getUser().getUserId());
+ for (BaseModel clientBusinessObject : cboList) {
String creator = clientBusinessObject.getCreator();
if (!userId.equalsIgnoreCase(creator)) {
throw new VciBaseException("缂栫爜涓�" + clientBusinessObject.getId() + "鐨勬暟鎹笉鏄綋鍓嶇敤鎴峰垱寤猴紝涓嶈兘鍒犻櫎锛�");
@@ -2218,7 +2229,14 @@
// WebUtil.setPersistence(false);
// batchCBO.copyFromOther(
productCodeService.recycleCode(classifyFullInfo.getCurrentClassifyVO().getBtmtypeid(), deleteBatchDTO.getOidList());
- baseMapper.deleteBatchIds(cboList);
+// baseMapper.deleteBatchIds(cboList);
+ //浣跨敤浼犲叆鐨勪笟鍔$被鍨嬫煡璇㈣〃
+ R<List<BtmTypeVO>> listR = btmTypeClient.selectByIdCollection(Collections.singletonList(classifyFullInfo.getCurrentClassifyVO().getBtmtypeid()));
+ if (listR.getData().size() == 0) {
+ throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
+ }
+ commonsMapper.deleteByTaleAndOid(listR.getData().get(0).getTableName(),
+ "'"+(StringUtils.join(cboList.stream().map(BaseModel::getOid).collect(Collectors.toSet()),"','"))+"'");
// );
// WebUtil.setPersistence(true);
// boService.persistenceBatch(batchCBO);
@@ -3341,52 +3359,33 @@
* 鑾峰彇鍙傜収鐨勪俊鎭�
*
* @param referConfigVO 鍙傜収鐨勯厤缃�
- * @param pageHelper 鍒嗛〉鐨勫伐鍏�
* @return 鍒楄〃鏁版嵁
*/
@Override
- public DataGrid referDataGrid(UIFormReferVO referConfigVO, PageHelper pageHelper) {
+ public Page<BtmTypeVO> referDataGrid(UIFormReferVO referConfigVO, BaseQueryObject baseQueryObject) {
// checkReferConfig(referConfigVO);
//浣跨敤涓氬姟绫诲瀷鏌ヨ
R<BtmTypeVO> allAttributeByBtmId = btmTypeClient.getAllAttributeByBtmId(referConfigVO.getReferType());
BtmTypeVO btmTypeVO = allAttributeByBtmId.getData();
- if (referConfigVO.getWhere() == null) {
- referConfigVO.setWhere(new HashMap<>());
- }
/**
* 鍔犱笂鏌ヨ鏈�鏂扮増娆�
*/
- Map<String, String> conditionMap = new HashMap<>();
- conditionMap.put("lastr", "1");
- conditionMap.put("lastv", "1");
- referConfigVO.getWhere().putAll(conditionMap);
- if (VciBaseUtil.containsKeyUnCaseForMap(referConfigVO.getWhere(), VciQueryWrapperForDO.LC_STATUS_FIELD) &&
+ baseQueryObject.getConditionMap().put("lastr", "1");
+ baseQueryObject.getConditionMap().put("lastv", "1");
+ if (VciBaseUtil.containsKeyUnCaseForMap(baseQueryObject.getConditionMap(), VciQueryWrapperForDO.LC_STATUS_FIELD) &&
BtmTypeLcStatusConstant.FRAME_WORK_LIFE_CYCLE_NAME.equalsIgnoreCase(btmTypeVO.getLifeCycleId())) {
- referConfigVO.getWhere().put(VciQueryWrapperForDO.LC_STATUS_FIELD, FrameworkDataLCStatus.ENABLED.getValue());
+ baseQueryObject.getConditionMap().put(VciQueryWrapperForDO.LC_STATUS_FIELD, FrameworkDataLCStatus.ENABLED.getValue());
}
- if (VciBaseUtil.containsKeyUnCaseForMap(referConfigVO.getWhere(), VciQueryWrapperForDO.LC_STATUS_FIELD) &&
+ if (VciBaseUtil.containsKeyUnCaseForMap(baseQueryObject.getConditionMap(), VciQueryWrapperForDO.LC_STATUS_FIELD) &&
BtmTypeLcStatusConstant.RELEASE_LIFE_CYCLE.equalsIgnoreCase(btmTypeVO.getLifeCycleId())) {
- referConfigVO.getWhere().put(VciQueryWrapperForDO.LC_STATUS_FIELD, CodeDefaultLC.RELEASED.getValue());
+ baseQueryObject.getConditionMap().put(VciQueryWrapperForDO.LC_STATUS_FIELD, CodeDefaultLC.RELEASED.getValue());
}
- BaseQueryObject baseQueryObject = new BaseQueryObject();
- Map<String, String> where = referConfigVO.getWhere();
- where.put("domain", AppConstant.APPLICATION_NAME_CODE);
- baseQueryObject.setConditionMap(where);
- baseQueryObject.setPage(pageHelper.getPage());
- baseQueryObject.setSort(pageHelper.getSort());
- baseQueryObject.setLimit(pageHelper.getLimit());
- baseQueryObject.setOrder(pageHelper.getOrder());
- R<List<BtmTypeVO>> ref = btmTypeClient.getRef(baseQueryObject);
- DataGrid<BtmTypeVO> btmTypeVODataGrid = new DataGrid<>();
- List<BtmTypeVO> data = ref.getData();
- btmTypeVODataGrid.setData(data);
- btmTypeVODataGrid.setCode(ref.getCode());
- btmTypeVODataGrid.setLimit(pageHelper.getLimit());
- btmTypeVODataGrid.setMsg(ref.getMsg());
- btmTypeVODataGrid.setSort(pageHelper.getSort());
- btmTypeVODataGrid.setOrder(pageHelper.getOrder());
- btmTypeVODataGrid.setPage(pageHelper.getPage());
- return btmTypeVODataGrid;
+ baseQueryObject.getConditionMap().put("domain", AppConstant.APPLICATION_NAME_CODE);
+ R<Page<BtmTypeVO>> refPage = btmTypeClient.getRefPage(baseQueryObject);
+ if(refPage.getCode() != 200){
+ throw new ServiceException("涓氬姟绫诲瀷feign鎺ュ彛璋冪敤閿欒");
+ }
+ return refPage.getData();
}
/**
@@ -3469,6 +3468,17 @@
}
+ @Override
+ public boolean checkUnAttrUnEdit(String attrName) {
+ return (VciQueryWrapperForDO.OID_FIELD.equalsIgnoreCase(attrName)
+ ||"ts".equalsIgnoreCase(attrName)
+ || "lastmodifier".equalsIgnoreCase(attrName)
+ || "lastmodifytime".equalsIgnoreCase(attrName)
+ || "createtime".equalsIgnoreCase(attrName)
+ || "checkintime".equalsIgnoreCase(attrName)
+ ||"checkouttime".equalsIgnoreCase(attrName));
+ }
+
private String getTableName(String refertype){
if ("codeclassify".equals(refertype)){
return "pl_code_classify";
--
Gitblit v1.9.3