From 1b8120cacac0037fcb1f8ae747c2f54eb735368b Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期二, 09 五月 2023 18:50:51 +0800
Subject: [PATCH] 代码整合

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeTempbuttonServiceImpl.java |  113 +++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 71 insertions(+), 42 deletions(-)

diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeTempbuttonServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeTempbuttonServiceImpl.java
index 258e9a9..034e69e 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeTempbuttonServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeTempbuttonServiceImpl.java
@@ -21,18 +21,25 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import com.vci.ubcs.code.constant.MdmBtmTypeConstant;
 import com.vci.ubcs.code.dto.CodeClassifyTemplateButtonDTO;
 import com.vci.ubcs.code.dto.CodeClassifyValueDTO;
-import com.vci.ubcs.code.entity.CodeClassifyTemplateButton;
-import com.vci.ubcs.code.entity.CodeClassifyValue;
+import com.vci.ubcs.code.entity.*;
+import com.vci.ubcs.code.enumpack.CodeButtonUseEnum;
 import com.vci.ubcs.code.mapper.CodeClassifyTemplateButtonMapper;
 import com.vci.ubcs.code.service.ICodeButtonService;
 import com.vci.ubcs.code.service.ICodeTempbuttonService;
 import com.vci.ubcs.code.vo.pagemodel.CodeButtonVO;
 import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateButtonVO;
+import com.vci.ubcs.code.wrapper.CodeTempbuttonWrapper;
+import com.vci.ubcs.common.utils.PageDO2PageVO;
 import com.vci.ubcs.starter.exception.VciBaseException;
 import com.vci.ubcs.starter.revision.service.RevisionModelUtil;
+import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
+import com.vci.ubcs.starter.util.Map2MPLLambdaUtil;
 import com.vci.ubcs.starter.web.pagemodel.DataGrid;
 import com.vci.ubcs.starter.web.pagemodel.PageHelper;
 import com.vci.ubcs.starter.web.util.BeanUtil;
@@ -85,25 +92,32 @@
 
 	/**
 	 * 鏌ヨ鎵�鏈夌殑涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽�
-	 * @param codeClassifyTemplateButtonVO 鏌ヨ鏉′欢
-	 * @param query 鍒嗛〉鍜屾帓搴�
+	 * @param conditionMap 鏌ヨ鏉′欢
+	 * @param pageHelper 鍒嗛〉鍜屾帓搴�
 	 * @return 鎵ц缁撴灉
 	 * @throws VciBaseException 鏌ヨ鏉′欢鍜屽垎椤靛嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父
 	 */
 	@Override
-	public DataGrid<CodeClassifyTemplateButtonVO> gridCodeClassifyTemplateButton(CodeClassifyTemplateButtonVO codeClassifyTemplateButtonVO, Query query) throws VciBaseException {
+	public IPage<CodeClassifyTemplateButtonVO> gridCodeClassifyTemplateButton(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException {
+		Query query = new Query();
+		if (pageHelper == null) {
+			query.setSize(-1);
+		}else {
+			query.setSize(pageHelper.getLimit());
+			query.setCurrent(pageHelper.getPage());
+		}
 		query.setDescs("createTime");
+		if(StringUtils.isBlank(conditionMap.getOrDefault("classifyTemplateOid",null))){
+			return new Page<>();
+		}
 
-		if(StringUtils.isBlank(codeClassifyTemplateButtonVO.getClassifytemplateoid())){
-			return null;
-		}
-		IPage<CodeClassifyTemplateButton> doList = codeClassifyTemplateButtonMapper.selectPage(Condition.getPage(query),Condition.getQueryWrapper(codeClassifyTemplateButtonVO));
-		DataGrid<CodeClassifyTemplateButtonVO> dataGrid=new DataGrid<CodeClassifyTemplateButtonVO>();
+		IPage<CodeClassifyTemplateButton> doList = codeClassifyTemplateButtonMapper.selectPage(Condition.getPage(query),getMPJLambdaWrapper(conditionMap));
+		IPage<CodeClassifyTemplateButtonVO> voList = new Page<>();
 		if (!CollectionUtils.isEmpty(doList.getRecords())) {
-			dataGrid.setData(codeClassifyTemplateButtonDO2VOs(doList.getRecords()));
-			dataGrid.setTotal(VciBaseUtil.getInt(String.valueOf(codeClassifyTemplateButtonMapper.selectCount(Condition.getQueryWrapper(codeClassifyTemplateButtonVO)))));
+			voList.setRecords(codeClassifyTemplateButtonDO2VOs(doList.getRecords()));
+			voList = PageDO2PageVO.pageDO2PageVO(doList,voList);
 		}
-		return dataGrid;
+		return voList;
 	}
 
 	/**
@@ -138,12 +152,12 @@
 		if(hasButtonVO && !CollectionUtils.isEmpty(voList)){
 			//鑾峰彇鎸夐挳鐨勬樉绀哄璞�
 			List<CodeButtonVO> buttonVOList = new ArrayList<>();
-			VciBaseUtil.switchCollectionForOracleIn(voList.stream().map(CodeClassifyTemplateButtonVO::getClassifybuttonoid).collect(Collectors.toList())).stream().forEach(buttonOids->{
+			VciBaseUtil.switchCollectionForOracleIn(voList.stream().map(CodeClassifyTemplateButtonVO::getClassifyButtonOid).collect(Collectors.toList())).stream().forEach(buttonOids->{
 				buttonVOList.addAll(buttonService.listCodeButtonByOids(buttonOids));
 			});
 			Map<String, CodeButtonVO> buttonVOMap = Optional.ofNullable(buttonVOList).orElseGet(() -> new ArrayList<>()).stream().collect(Collectors.toMap(s -> s.getOid(), t -> t));
 			voList.stream().forEach(vo->{
-				vo.setButtonVO(buttonVOMap.getOrDefault(vo.getClassifybuttonoid(),null));
+				vo.setButtonVO(buttonVOMap.getOrDefault(vo.getClassifyButtonOid(),null));
 			});
 		}
 		return voList;
@@ -161,7 +175,7 @@
 		if(codeClassifyTemplateButtonDO != null){
 			BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateButtonDO,vo);
 			//濡傛灉鏈塴cstatus鐨勭被鐨勮瘽
-
+			vo.setButtonUseText(CodeButtonUseEnum.getTextByValue(codeClassifyTemplateButtonDO.getButtonUse()));
 		}
 		return vo;
 	}
@@ -179,22 +193,24 @@
 	 */
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public boolean addSave(CodeClassifyTemplateButtonDTO codeClassifyTemplateButtonDTO) throws VciBaseException{
-		VciBaseUtil.alertNotNull(codeClassifyTemplateButtonDTO,"闇�瑕佹坊鍔犵殑鏁版嵁瀵硅薄",codeClassifyTemplateButtonDTO.getClassifytemplateoid(),"妯℃澘鐨勪富閿�");
+	public CodeClassifyTemplateButtonVO addSave(CodeClassifyTemplateButtonDTO codeClassifyTemplateButtonDTO) throws VciBaseException{
+		VciBaseUtil.alertNotNull(codeClassifyTemplateButtonDTO,"闇�瑕佹坊鍔犵殑鏁版嵁瀵硅薄",codeClassifyTemplateButtonDTO.getClassifyTemplateOid(),"妯℃澘鐨勪富閿�");
 		//灏咲TO杞崲涓篋O
 		CodeClassifyTemplateButton codeClassifyTemplateButtonDO = new CodeClassifyTemplateButton();
 		BeanUtilForVCI.copyPropertiesIgnoreCase(codeClassifyTemplateButtonDTO,codeClassifyTemplateButtonDO);
+		DefaultAttrAssimtUtil.addDefaultAttrAssimt(codeClassifyTemplateButtonDO, MdmBtmTypeConstant.CODE_TEMPLATE_BUTTON);
 		if(codeClassifyTemplateButtonDO.getOrderNum()== null){
 			//鏌ヨ鍏ㄩ儴
 			Long count = codeClassifyTemplateButtonMapper.selectCount(Wrappers.<CodeClassifyTemplateButton>query()
-				.lambda().eq(CodeClassifyTemplateButton::getClassifytemplateoid,codeClassifyTemplateButtonDTO.getClassifytemplateoid())
+				.lambda().eq(CodeClassifyTemplateButton::getClassifyTemplateOid,codeClassifyTemplateButtonDTO.getClassifyTemplateOid())
 			);
 			if(count == null){
 				count = 0L;
 			}
 			codeClassifyTemplateButtonDO.setOrderNum(Long.valueOf(count + 1L).intValue());
 		}
-		return codeClassifyTemplateButtonMapper.insert(codeClassifyTemplateButtonDO)>0;
+		boolean resInsertClsTempButton = codeClassifyTemplateButtonMapper.insert(codeClassifyTemplateButtonDO) > 0;
+		return resInsertClsTempButton ? codeClassifyTemplateButtonDO2VO(codeClassifyTemplateButtonDO):null;
 	}
 
 	/**
@@ -205,12 +221,14 @@
 	 */
 	@Override
 	@Transactional(rollbackFor = Exception.class)
-	public boolean editSave(CodeClassifyTemplateButtonDTO codeClassifyTemplateButtonDTO) throws VciBaseException{
+	public CodeClassifyTemplateButtonVO editSave(CodeClassifyTemplateButtonDTO codeClassifyTemplateButtonDTO) throws VciBaseException{
 		VciBaseUtil.alertNotNull(codeClassifyTemplateButtonDTO,"鏁版嵁瀵硅薄",codeClassifyTemplateButtonDTO.getOid(),"涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽富閿�");
 		//灏咲TO杞崲涓篋O
 		CodeClassifyTemplateButton codeClassifyTemplateButtonDO = selectByOid(codeClassifyTemplateButtonDTO.getOid());
 		revisionModelUtil.copyFromDTOIgnore(codeClassifyTemplateButtonDTO,codeClassifyTemplateButtonDO);
-		return codeClassifyTemplateButtonMapper.updateById(codeClassifyTemplateButtonDO)>0;
+		DefaultAttrAssimtUtil.updateDefaultAttrAssimt(codeClassifyTemplateButtonDO);
+		boolean resUpdateClsTempButton = codeClassifyTemplateButtonMapper.updateById(codeClassifyTemplateButtonDO) > 0;
+		return resUpdateClsTempButton ? codeClassifyTemplateButtonDO2VO(codeClassifyTemplateButtonDO):null;
 	}
 
 	/**
@@ -225,7 +243,7 @@
 		VciBaseUtil.alertNotNull(codeClassifyTemplateButtonDTO,"涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽暟鎹璞�",codeClassifyTemplateButtonDTO.getOid(),"涓婚搴撻噷妯℃澘鍖呭惈鐨勬寜閽殑涓婚敭");
 		CodeClassifyTemplateButton codeClassifyTemplateButtonDO = selectByOid(codeClassifyTemplateButtonDTO.getOid());
 		R baseResult = checkIsCanDeleteForDO(codeClassifyTemplateButtonDTO,codeClassifyTemplateButtonDO);
-		if(!baseResult.isSuccess()) {
+		if(baseResult.isSuccess()) {
 		}else{
 			return baseResult;
 		}
@@ -243,7 +261,7 @@
 	private R checkIsCanDeleteForDO(CodeClassifyTemplateButtonDTO codeClassifyTemplateButtonDTO, CodeClassifyTemplateButton codeClassifyTemplateButtonDO) {
 		CodeClassifyTemplateButton tsDO = new CodeClassifyTemplateButton();
 		BeanUtil.convert(codeClassifyTemplateButtonDTO,tsDO);
-		if (checkTs(tsDO)) {
+		if (!checkTs(tsDO,codeClassifyTemplateButtonDO)) {
 			return R.fail(TS_NOT_PROCESS);
 		}
 		if(!checkIsLinked(codeClassifyTemplateButtonDO.getOid())) {
@@ -256,17 +274,33 @@
 	/**
 	 * 妫�鏌s
 	 * @param tempDO
+	 * @param codeClassifyTemplateButtonDO
 	 * @return
 	 */
-	private boolean checkTs(CodeClassifyTemplateButton tempDO){
-		LambdaQueryWrapper<CodeClassifyTemplateButton> wrapper = Wrappers.<CodeClassifyTemplateButton>query()
-			.lambda().eq(CodeClassifyTemplateButton::getOid,tempDO.getOid()).select(CodeClassifyTemplateButton::getTs);
-		long dbTs = codeClassifyTemplateButtonMapper.selectById(wrapper).getTs().getTime();
-		long currentTs = tempDO.getTs().getTime();
-		if(dbTs == currentTs){
+	private boolean checkTs(CodeClassifyTemplateButton tempDO,CodeClassifyTemplateButton codeClassifyTemplateButtonDO){
+		Date dbTs = codeClassifyTemplateButtonDO.getTs();
+		Date currentTs = tempDO.getTs();
+		if(currentTs == null ?  dbTs == null:currentTs.compareTo(dbTs)==0){
 			return true;
 		}
 		return false;
+	}
+
+	/**
+	 * 鑾峰彇杩炶〃鏌ヨ鏉′欢瀵硅薄
+	 * @param conditionMap
+	 * @return
+	 */
+	private MPJLambdaWrapper<CodeClassifyTemplateButton> getMPJLambdaWrapper(Map<String,String> conditionMap){
+		CodeClassifyTemplateButton codeClassifyTemplateButton = new CodeClassifyTemplateButton();
+		BeanMap beanMap = BeanMap.create(codeClassifyTemplateButton);
+		beanMap.putAll(conditionMap);
+		MPJLambdaWrapper<CodeClassifyTemplateButton> mpjLambdaWrapper = Map2MPLLambdaUtil.getMPJLambdaWrapper(codeClassifyTemplateButton)
+			.selectAll(CodeClassifyTemplateButton.class)
+			.selectAs(CodeButton::getName, CodeClassifyTemplateButton::getClassifyButtonOidName)
+			.selectAs(CodeButton::getId, CodeClassifyTemplateButton::getClassifyButtonId)
+			.leftJoin(CodeButton.class, CodeButton::getOid, CodeClassifyTemplateButton::getClassifyButtonOid);
+		return mpjLambdaWrapper;
 	}
 
 	/**
@@ -301,18 +335,11 @@
 	 * @throws VciBaseException 鏌ヨ鏉′欢鍜屽垎椤靛嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父
 	 */
 	@Override
-	public DataGrid<CodeClassifyTemplateButtonVO> refDataGridCodeClassifyTemplateButton(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException{
+	public IPage<CodeClassifyTemplateButtonVO> refDataGridCodeClassifyTemplateButton(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException{
 		if(conditionMap == null){
 			conditionMap = new HashMap<String, String>();
 		}
-		CodeClassifyTemplateButtonVO codeClassifyTemplateButtonVO = new CodeClassifyTemplateButtonVO();
-		BeanMap beanMap = BeanMap.create(codeClassifyTemplateButtonVO);
-		beanMap.putAll(conditionMap);
-		Query query = new Query();
-		query.setSize(pageHelper.getLimit());
-		query.setCurrent(pageHelper.getPage());
-
-		return gridCodeClassifyTemplateButton(codeClassifyTemplateButtonVO,query);
+		return gridCodeClassifyTemplateButton(conditionMap, pageHelper);
 	}
 
 	/**
@@ -325,7 +352,7 @@
 		if(!CollectionUtils.isEmpty(oidCollections)){
 			Collection<Collection<String>> oidCollectionsList = VciBaseUtil.switchCollectionForOracleIn(oidCollections);
 			for(Collection<String> oids: oidCollectionsList){
-				List<CodeClassifyTemplateButton> tempDOList =  codeClassifyTemplateButtonMapper.selectBatchIds(oids);
+				List<CodeClassifyTemplateButton> tempDOList = codeClassifyTemplateButtonMapper.selectBatchIds(oids);
 				if(!CollectionUtils.isEmpty(tempDOList)){
 					codeClassifyTemplateButtonDOList.addAll(tempDOList);
 				}
@@ -333,7 +360,6 @@
 		}
 		return  codeClassifyTemplateButtonDOList;
 	}
-
 
 	/**
 	 * 鏍¢獙鏄惁琚紩鐢�
@@ -353,7 +379,10 @@
 	 */
 	private CodeClassifyTemplateButton selectByOid(String oid) throws VciBaseException{
 		VciBaseUtil.alertNotNull(oid,"涓婚敭");
-		CodeClassifyTemplateButton codeClassifyTemplateButtonDO = codeClassifyTemplateButtonMapper.selectById(oid.trim());
+		HashMap<String, String> conditionMap = new HashMap<>();
+		conditionMap.put("oid",oid);
+		MPJLambdaWrapper<CodeClassifyTemplateButton> mpjLambdaWrapper = getMPJLambdaWrapper(conditionMap);
+		CodeClassifyTemplateButton codeClassifyTemplateButtonDO = codeClassifyTemplateButtonMapper.selectOne(mpjLambdaWrapper);
 		if(codeClassifyTemplateButtonDO == null || StringUtils.isBlank(codeClassifyTemplateButtonDO.getOid())){
 			throw new VciBaseException(DATA_OID_NOT_EXIST);
 		}

--
Gitblit v1.9.3