From 79b74fd838d1c79d1d737eaba8f81554f37bb4bb Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期五, 26 五月 2023 19:22:58 +0800
Subject: [PATCH] 代码整合
---
Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeReferConfigServiceImpl.java | 199 ++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 171 insertions(+), 28 deletions(-)
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeReferConfigServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeReferConfigServiceImpl.java
index be55775..d03683d 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeReferConfigServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeReferConfigServiceImpl.java
@@ -1,28 +1,55 @@
package com.vci.ubcs.code.service.impl;
+import com.alibaba.cloud.commons.lang.StringUtils;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.yulichang.base.MPJBaseServiceImpl;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
-import com.vci.ubcs.code.entity.CodeReferConfig;
-import com.vci.ubcs.code.entity.CodeShowFieldConfig;
-import com.vci.ubcs.code.entity.CodeSrchCondConfig;
+import com.vci.ubcs.code.constant.MdmBtmTypeConstant;
+import com.vci.ubcs.code.dto.CodeClassifyProcessTempDTO;
+import com.vci.ubcs.code.dto.CodeReferConfigDTO;
+import com.vci.ubcs.code.entity.*;
import com.vci.ubcs.code.mapper.CodeReferConfigMapper;
+import com.vci.ubcs.code.mapper.CodeShowFieldConfigMapper;
import com.vci.ubcs.code.service.CodeReferConfigService;
+import com.vci.ubcs.code.service.CodeShowFieldConfigService;
+import com.vci.ubcs.code.service.CodeSrchCondConfigService;
import com.vci.ubcs.code.vo.CodeReferConfigVO;
+import com.vci.ubcs.code.wrapper.CodeClassifyProcessTempWrapper;
import com.vci.ubcs.code.wrapper.CodeReferConfigWraper;
+import com.vci.ubcs.code.wrapper.CodeShowFieldConfigWraper;
+import com.vci.ubcs.code.wrapper.CodeSrchCondConfigWraper;
+import com.vci.ubcs.starter.exception.VciBaseException;
+import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
import com.vci.ubcs.starter.util.Map2MPJLambdaUtil;
import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
import com.vci.ubcs.starter.web.pagemodel.BladeQueryObject;
+import com.vci.ubcs.starter.web.util.BeanUtilForVCI;
+import com.vci.ubcs.starter.web.util.VciBaseUtil;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.utils.AuthUtil;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springframework.cglib.beans.BeanMap;
import org.springframework.stereotype.Service;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.PageRequest;
+import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+import static com.vci.ubcs.code.constant.FrameWorkLangCodeConstant.TS_NOT_PROCESS;
/**
* 鍙傜収閰嶇疆琛�(CodeReferconfig)琛ㄦ湇鍔″疄鐜扮被
@@ -31,9 +58,16 @@
* @since 2023-05-19 17:48:02
*/
@Service("CodeReferconfigService")
-public class CodeReferConfigServiceImpl extends ServiceImpl<CodeReferConfigMapper,CodeReferConfig> implements CodeReferConfigService {
+public class CodeReferConfigServiceImpl extends MPJBaseServiceImpl<CodeReferConfigMapper,CodeReferConfig> implements CodeReferConfigService {
+
@Resource
private CodeReferConfigMapper codeReferconfigMapper;
+
+ @Resource
+ private CodeShowFieldConfigService codeShowFieldConfigService;
+
+ @Resource
+ private CodeSrchCondConfigService codeSrchCondConfigService;
/**
* 閫氳繃ID鏌ヨ鍗曟潯鏁版嵁
@@ -42,61 +76,170 @@
* @return 瀹炰緥瀵硅薄
*/
@Override
- public CodeReferConfig queryById(String oid) {
- return this.codeReferconfigMapper.queryById(oid);
+ public CodeReferConfigVO queryById(String oid) {
+ CodeReferConfig codeReferConfig = this.codeReferconfigMapper.selectJoinOne(CodeReferConfig.class, this.getMPJLambdaWrapper().eq(CodeReferConfig::getOid, oid));
+ return CodeReferConfigWraper.build().entityVO(codeReferConfig);
}
- /**
+ @Override
+ public IPage<CodeReferConfigVO> queryByJoinPage(BladeQueryObject bladeQueryObject) {
+ CodeReferConfig codeReferConfig = new CodeReferConfig();
+ // 鏍规嵁绉熸埛杩涜鍖哄垎瀵瑰簲鐨勫弬鐓ч厤缃�
+ Map<String, Object> conditionMap = bladeQueryObject.getConditionMap();
+ conditionMap.put("tenantId",AuthUtil.getTenantId());
+ BeanMap beanMap = BeanMap.create(codeReferConfig);
+ beanMap.putAll(conditionMap);
+ // 娣诲姞榛樿鎺掑簭瀛楁,鏍规嵁鏃堕棿杩涜鎺掑簭
+ Query query = bladeQueryObject.getQuery();
+ query.setAscs("CREATETIME");
+ IPage<CodeReferConfig> codeReferConfigs = codeReferconfigMapper.selectJoinPage(codeReferConfig, Condition.getPage(query));
+ return CodeReferConfigWraper.build().pageVO(codeReferConfigs);
+ }
+
+ /**
* 鍒嗛〉鏌ヨ
*
- * @param bladeQueryObject 绛涢�夋潯浠�
+ * @param codeReferConfigVO 绛涢�夋潯浠�
* @return 鏌ヨ缁撴灉
*/
@Override
- public IPage<CodeReferConfigVO> queryByPage(BladeQueryObject bladeQueryObject) {
- MPJLambdaWrapper<CodeReferConfig> mpjLambdaWrapper = Map2MPJLambdaUtil.getMPJLambdaWrapper(bladeQueryObject.getConditionMap(), CodeReferConfig.class)
- .selectAll(CodeReferConfig.class)
- .selectCollection("PCS",CodeShowFieldConfig.class, CodeReferConfig::getCodeShowFieldConfigs)
- .selectCollection("PCSR",CodeSrchCondConfig.class, CodeReferConfig::getCodeSrchCondConfigs)
- .leftJoin(CodeShowFieldConfig.class, CodeShowFieldConfig::getReferConfigOid,CodeReferConfig::getOid)
- .leftJoin(CodeSrchCondConfig.class, CodeSrchCondConfig::getReferConfigOid, CodeReferConfig::getOid)
+ public List<CodeReferConfigVO> queryByList(CodeReferConfigVO codeReferConfigVO) {
+ codeReferConfigVO.setTenantId(AuthUtil.getTenantId());
+ //MPJLambdaWrapper<CodeReferConfig> mpjLambdaWrapper = Map2MPJLambdaUtil.getMPJLambdaWrapper(bladeQueryObject.getConditionMap(), CodeReferConfig.class)
+ MPJLambdaWrapper<CodeReferConfig> mpjLambdaWrapper = getMPJLambdaWrapper()
+ .setEntity(codeReferConfigVO)
.orderBy(true, true, CodeReferConfig::getCreateTime);
- IPage<CodeReferConfig> codeReferConfigIPage = this.codeReferconfigMapper.selectPage(Condition.getPage(bladeQueryObject.getQuery()), mpjLambdaWrapper);
- return CodeReferConfigWraper.build().pageVO(codeReferConfigIPage);
+ List<CodeReferConfig> codeReferConfigList = codeReferconfigMapper.selectJoinList(CodeReferConfig.class, mpjLambdaWrapper);
+ return CodeReferConfigWraper.build().listVO(codeReferConfigList);
}
/**
* 鏂板鏁版嵁
*
- * @param codeReferConfig 瀹炰緥瀵硅薄
+ * @param codeReferConfigVO 瀹炰緥瀵硅薄
* @return 瀹炰緥瀵硅薄
*/
@Override
- public CodeReferConfig insert(CodeReferConfig codeReferConfig) {
- this.codeReferconfigMapper.insert(codeReferConfig);
- return codeReferConfig;
+ @Transactional(rollbackFor = Exception.class)
+ public R insert(CodeReferConfigVO codeReferConfigVO) {
+ VciBaseUtil.alertNotNull(codeReferConfigVO,"闇�瑕佹坊鍔犵殑鏁版嵁瀵硅薄");
+ if (StringUtils.isBlank(codeReferConfigVO.getReferType())){
+ throw new VciBaseException("鍙傜収閰嶇疆涓嶈兘涓虹┖");
+ }
+ Long count = countCodeReferConfig(codeReferConfigVO);
+ if(count > 0){
+ throw new VciBaseException("宸插瓨鍦ㄧ浉鍚岀殑鍙傜収閰嶇疆");
+ }
+
+ CodeReferConfig CodeReferConfig = Objects.requireNonNull(BeanUtil.copy(codeReferConfigVO, CodeReferConfig.class));
+ boolean resInsertReferConfig = this.codeReferconfigMapper.insert(CodeReferConfig) > 0;
+ if (!resInsertReferConfig) {
+ return R.fail("鏂板鍙傜収閰嶇疆澶辫触锛�");
+ }
+ codeShowFieldConfigService.insertBatch(codeReferConfigVO.getCodeShowFieldConfigVOS());
+ codeSrchCondConfigService.insertBatch(codeReferConfigVO.getCodeSrchCondConfigVOS());
+ return R.data(codeReferConfigVO);
}
+
+ /**
+ * 鑾峰彇宸插瓨鍦ㄧ殑鍙傜収閰嶇疆
+ * @param codeReferConfigVO
+ * @return 涓暟
+ */
+ private Long countCodeReferConfig(CodeReferConfigVO codeReferConfigVO) {
+ String templateName = codeReferConfigVO.getName();
+ if (StringUtils.isBlank(templateName)){
+ throw new VciBaseException("鍙傜収閰嶇疆鍚嶇О涓嶈兘涓虹┖");
+ }
+ LambdaQueryWrapper<CodeReferConfig> wrapper = Wrappers.<CodeReferConfig>query()
+ .lambda().eq(CodeReferConfig::getId, codeReferConfigVO.getId())
+ .eq(CodeReferConfig::getTenantId, codeReferConfigVO.getTenantId());
+ Long count = codeReferconfigMapper.selectCount(wrapper);
+ return count;
+ }
+
+ /**
+ * 杩炶〃鏌ヨWrapper瀵硅薄鑾峰彇
+ * @return
+ */
+ private MPJLambdaWrapper<CodeReferConfig> getMPJLambdaWrapper(){
+ MPJLambdaWrapper<CodeReferConfig> mpjLambdaWrapper = new MPJLambdaWrapper<>(CodeReferConfig.class)
+ .selectAll(CodeReferConfig.class)
+ // .select(CodeShowFieldConfig::getField
+// ,CodeShowFieldConfig::getTitle
+// ,CodeShowFieldConfig::getFieldType
+// ,CodeShowFieldConfig::getSort
+// ,CodeShowFieldConfig::getAttrSortField
+// ,CodeShowFieldConfig::getWidth
+// ,CodeShowFieldConfig::getFixedPosition
+// ,CodeShowFieldConfig::getTemplet)
+// .select(
+// CodeSrchCondConfig::getFilterType,
+// CodeSrchCondConfig::getFilterField,
+// CodeSrchCondConfig::getFilterValue)
+ .selectCollection(CodeShowFieldConfig.class, CodeReferConfig::getCodeShowFieldConfigs)
+ .selectCollection(CodeSrchCondConfig.class, CodeReferConfig::getCodeSrchCondConfigs)
+ .leftJoin(CodeShowFieldConfig.class, CodeShowFieldConfig::getReferConfigOid,CodeReferConfig::getOid)
+ .leftJoin(CodeSrchCondConfig.class, CodeSrchCondConfig::getReferConfigOid, CodeReferConfig::getOid);
+ return mpjLambdaWrapper;
+ }
/**
* 淇敼鏁版嵁
*
- * @param codeReferConfig 瀹炰緥瀵硅薄
+ * @param codeReferConfigVO 瀹炰緥瀵硅薄
* @return 瀹炰緥瀵硅薄
*/
@Override
- public CodeReferConfig update(CodeReferConfig codeReferConfig) {
- this.codeReferconfigMapper.updateById(codeReferConfig);
- return this.queryById(codeReferConfig.getOid());
+ @Transactional(rollbackFor = Exception.class)
+ public R update(CodeReferConfigVO codeReferConfigVO) {
+ boolean resUpdateReferConfig = this.codeReferconfigMapper.updateById(codeReferConfigVO) > 0;
+ if (!resUpdateReferConfig) {
+ return R.fail("鍙傜収閰嶇疆淇敼澶辫触锛�");
+ }
+ this.codeShowFieldConfigService.updateBatch(codeReferConfigVO.getCodeShowFieldConfigVOS());
+ this.codeSrchCondConfigService.updateBatch(codeReferConfigVO.getCodeSrchCondConfigVOS());
+ return R.data(codeReferConfigVO);
}
/**
* 閫氳繃涓婚敭鍒犻櫎鏁版嵁
*
- * @param oid 涓婚敭
+ * @param codeReferConfigDTO
* @return 鏄惁鎴愬姛
*/
@Override
- public boolean deleteById(String oid) {
- return this.codeReferconfigMapper.deleteById(oid) > 0;
+ @Transactional(rollbackFor = Exception.class)
+ public R deleteById(CodeReferConfigDTO codeReferConfigDTO) {
+ CodeReferConfig tsDO = new CodeReferConfig();
+ BeanUtil.copyProperties(tsDO,codeReferConfigDTO);
+ CodeReferConfig codeReferConfig = codeReferconfigMapper.queryById(codeReferConfigDTO.getOid());
+ // 妫�鏌s瀛楁鏄惁涓�鑷�
+ if (!checkTs(tsDO,codeReferConfig)) {
+ return R.fail(TS_NOT_PROCESS);
+ }
+ boolean resDeleteReferConfig = this.codeReferconfigMapper.deleteById(codeReferConfigDTO.getOid()) > 0;
+ if (!resDeleteReferConfig) {
+ return R.fail("鍙傜収閰嶇疆鍒犻櫎澶辫触锛�");
+ }
+ this.codeShowFieldConfigService.deleteByReferConfigOid(codeReferConfigDTO.getOid());
+ this.codeSrchCondConfigService.deleteByReferConfigOid(codeReferConfigDTO.getOid());
+ return R.status(resDeleteReferConfig);
}
+
+ /**
+ * 妫�鏌s
+ * @param tempDO
+ * @param codeReferConfig
+ * @return
+ */
+ private boolean checkTs(CodeReferConfig tempDO, CodeReferConfig codeReferConfig){
+ Date dbTs = codeReferConfig.getTs();
+ Date currentTs = tempDO.getTs();
+ if(currentTs == null ? dbTs == null:currentTs.compareTo(dbTs)==0){
+ return true;
+ }
+ return false;
+ }
+
}
--
Gitblit v1.9.3