From 7df1d61319149a666e8b2801a3c89c1d80900d2e Mon Sep 17 00:00:00 2001 From: ludc Date: 星期五, 07 四月 2023 17:57:46 +0800 Subject: [PATCH] 编码规则相关代码上传 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeFixedValueServiceImpl.java | 366 --------------------------------------------------- 1 files changed, 4 insertions(+), 362 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeFixedValueServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeFixedValueServiceImpl.java index 400c525..1bf6076 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeFixedValueServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeFixedValueServiceImpl.java @@ -1,35 +1,10 @@ package com.vci.ubcs.code.service.impl; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.vci.ubcs.code.entity.CodeFixedValue; import com.vci.ubcs.code.mapper.CodeFixedValueMapper; -import com.vci.ubcs.code.entity.CodeFixedValueDO; -import com.vci.ubcs.code.service.CodeFixedValueServiceI; -import com.vci.starter.revision.service.RevisionModelUtil; -import com.vci.starter.web.constant.QueryOptionConstant; -import com.vci.starter.web.exception.VciBaseException; -import com.vci.starter.web.pagemodel.BaseResult; -import com.vci.starter.web.pagemodel.DataGrid; -import com.vci.starter.web.pagemodel.PageHelper; -import com.vci.starter.web.util.BeanUtilForVCI; -import com.vci.starter.web.util.VciBaseUtil; -import com.vci.starter.web.wrapper.VciQueryWrapperForDO; -import com.vci.web.pageModel.BatchCBO; -import com.vci.web.service.WebBoServiceI; -import com.vci.web.util.WebUtil; -import org.apache.commons.lang3.StringUtils; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import com.vci.ubcs.code.dto.CodeFixedValueDTO; -import com.vci.ubcs.code.vo.pagemodel.CodeFixedValueVO; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.context.annotation.Lazy; +import com.vci.ubcs.code.service.ICodeFixedValueService; import org.springframework.stereotype.Service; -import org.springframework.util.CollectionUtils; - -import javax.annotation.Resource; -import java.util.*; -import java.util.stream.Collectors; - -import static com.vci.frameworkcore.constant.FrameWorkLangCodeConstant.*; /** * 鍥哄畾鐮佹鐨勭爜鍊兼湇鍔� @@ -37,341 +12,8 @@ * @date 2022-01-24 */ @Service -public class CodeFixedValueServiceImpl implements CodeFixedValueServiceI { - - /** - * 鏃ュ織 - */ - private Logger logger = LoggerFactory.getLogger(getClass()); - - /** - * 鏁版嵁鎿嶄綔灞� - */ - @Resource - private CodeFixedValueMapper codeFixedValueMapper; - - /** - * 涓氬姟绫诲瀷鎿嶄綔鐨勬湇鍔� - */ - @Autowired - @Lazy - private WebBoServiceI boService; - - /** - * 瀵硅薄鐨勬搷浣� - */ - @Autowired - private RevisionModelUtil revisionModelUtil; - - - /** - * 鏌ヨ鎵�鏈夌殑鍥哄畾鐮佹鐨勭爜鍊� - * @param conditionMap 鏌ヨ鏉′欢 - * @param pageHelper 鍒嗛〉鍜屾帓搴� - * @return 鎵ц缁撴灉 - * @throws VciBaseException 鏌ヨ鏉′欢鍜屽垎椤靛嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父 - */ - @Override - public DataGrid<CodeFixedValueVO> gridCodeFixedValue(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException{ - if (pageHelper == null) { - pageHelper = new PageHelper(-1); - } - pageHelper.addDefaultAsc("ordernum"); - if(conditionMap == null){ - conditionMap = new HashMap<>(); - } - String secOid = conditionMap.getOrDefault("codefixedsecoid", ""); - if(StringUtils.isBlank(secOid)){ - return new DataGrid<>(); - } - List<CodeFixedValueDO> doList = codeFixedValueMapper.selectByCondition(conditionMap,pageHelper); - DataGrid<CodeFixedValueVO> dataGrid=new DataGrid<CodeFixedValueVO>(); - if (!CollectionUtils.isEmpty(doList)) { - dataGrid.setData(codeFixedValueDO2VOs(doList)); - dataGrid.setTotal(VciBaseUtil.getInt(String.valueOf(codeFixedValueMapper.countByCondition(conditionMap)))); - } - return dataGrid; - } - - /** - * 鎵归噺鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞� - * @param codeFixedValueDOs 鏁版嵁瀵硅薄鍒楄〃 - * @return 鏄剧ず瀵硅薄 - * @throws VciBaseException 鍙傛暟涓虹┖鎴栬�呬笉瀛樺湪鐨勬椂鍊欎細鎶涘嚭寮傚父 - */ - @Override - public List<CodeFixedValueVO> codeFixedValueDO2VOs(Collection<CodeFixedValueDO> codeFixedValueDOs) throws VciBaseException{ - List<CodeFixedValueVO> voList = new ArrayList<CodeFixedValueVO>(); - if(!CollectionUtils.isEmpty(codeFixedValueDOs)){ - for(CodeFixedValueDO s: codeFixedValueDOs){ - CodeFixedValueVO vo = codeFixedValueDO2VO(s); - if(vo != null){ - voList.add(vo); - } - } - } - return voList; - } - - /** - * 鏁版嵁瀵硅薄杞崲涓烘樉绀哄璞� - * @param codeFixedValueDO 鏁版嵁瀵硅薄 - * @return 鏄剧ず瀵硅薄 - * @throws VciBaseException 鎷疯礉灞炴�у嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父 - */ - @Override - public CodeFixedValueVO codeFixedValueDO2VO(CodeFixedValueDO codeFixedValueDO) throws VciBaseException{ - CodeFixedValueVO vo = new CodeFixedValueVO(); - if(codeFixedValueDO != null){ - BeanUtilForVCI.copyPropertiesIgnoreCase(codeFixedValueDO,vo); - //濡傛灉鏈塴cstatus鐨勭被鐨勮瘽 - - } - return vo; - } - - /** - * 澧炲姞鍥哄畾鐮佹鐨勭爜鍊� - * @param codeFixedValueDTO 鍥哄畾鐮佹鐨勭爜鍊兼暟鎹紶杈撳璞� - * @return 鎵ц缁撴灉 - * @throws VciBaseException 鍙傛暟涓虹┖锛屽敮涓�椤癸紝蹇呰緭椤逛笉閫氳繃鏃朵細鎶涘嚭寮傚父 - */ - @Override - public CodeFixedValueVO addSave(CodeFixedValueDTO codeFixedValueDTO) throws VciBaseException{ - VciBaseUtil.alertNotNull(codeFixedValueDTO,"闇�瑕佹坊鍔犵殑鏁版嵁瀵硅薄"); - //灏咲TO杞崲涓篋O - CodeFixedValueDO codeFixedValueDO = new CodeFixedValueDO(); - BeanUtilForVCI.copyPropertiesIgnoreCase(codeFixedValueDTO,codeFixedValueDO); - codeFixedValueMapper.insert(codeFixedValueDO); - return codeFixedValueDO2VO(codeFixedValueDO); - } - - /** - * 淇敼鍥哄畾鐮佹鐨勭爜鍊� - * @param codeFixedValueDTO 鍥哄畾鐮佹鐨勭爜鍊兼暟鎹紶杈撳璞� - * @return 鎵ц缁撴灉 - * @throws VciBaseException 鍙傛暟涓虹┖锛屽敮涓�椤癸紝蹇呰緭椤逛笉閫氳繃鏃朵細鎶涘嚭寮傚父 - */ - @Override - public CodeFixedValueVO editSave(CodeFixedValueDTO codeFixedValueDTO) throws VciBaseException{ - VciBaseUtil.alertNotNull(codeFixedValueDTO,"鏁版嵁瀵硅薄",codeFixedValueDTO.getOid(),"鍥哄畾鐮佹鐨勭爜鍊间富閿�"); - //灏咲TO杞崲涓篋O - CodeFixedValueDO codeFixedValueDO = selectByOid(codeFixedValueDTO.getOid()); - revisionModelUtil.copyFromDTOIgnore(codeFixedValueDTO,codeFixedValueDO); - codeFixedValueMapper.updateByPrimaryKey(codeFixedValueDO); - return codeFixedValueDO2VO(codeFixedValueDO); - } - - - /** - * 鏍¢獙鏄惁鍙互鍒犻櫎锛屽鏋滃瓨鍦ㄤ笅绾э紝骞朵笖涓嬬骇鏈夋暟鎹紩鐢ㄥ垯涓嶈兘鍒犻櫎 - * @param codeFixedValueDTO 鏁版嵁浼犺緭瀵硅薄 - * @param codeFixedValueDO 鏁版嵁搴撲腑鐨勬暟鎹璞� - * @return success涓簍rue涓哄彲浠ュ垹闄わ紝false琛ㄧず鏈夋暟鎹紩鐢紝obj涓簍rue琛ㄧず鏈変笅绾� - */ - private BaseResult checkIsCanDeleteForDO(CodeFixedValueDTO codeFixedValueDTO, CodeFixedValueDO codeFixedValueDO) { - //boService.checkTs(codeFixedValueDTO); - if(!checkIsLinked(codeFixedValueDO.getOid())) { - return BaseResult.success(); - }else{ - return BaseResult.fail(DATA_LINKED_NOT_DELETE,new String[]{""}); - } - } - - /** - * 鏍¢獙鏄惁琚紩鐢� - * @param oid 涓婚敭 - * @throws VciBaseException 琚紩鐢ㄧ殑鏃跺�欎細鎶涘嚭寮傚父 - */ - private boolean checkIsLinked(String oid) throws VciBaseException{ - //TODO 娣诲姞闇�瑕佹牎楠屽紩鐢ㄧ殑鍦版柟 - return false; - } - - /** - * 鍒犻櫎鍥哄畾鐮佹鐨勭爜鍊� - * @param codeFixedValueDTO 鍥哄畾鐮佹鐨勭爜鍊兼暟鎹紶杈撳璞★紝oid鍜宼s闇�瑕佷紶杈� - * @return 鍒犻櫎缁撴灉鍙嶉锛氾細success锛氭垚鍔燂紝fail锛氬け璐� - * @throws VciBaseException 鍙傛暟涓虹┖锛岃寮曠敤鏃舵姏鍑哄紓甯� - */ - @Override - public BaseResult deleteCodeFixedValue(CodeFixedValueDTO codeFixedValueDTO) throws VciBaseException{ - VciBaseUtil.alertNotNull(codeFixedValueDTO,"鍥哄畾鐮佹鐨勭爜鍊兼暟鎹璞�",codeFixedValueDTO.getOid(),"鍥哄畾鐮佹鐨勭爜鍊肩殑涓婚敭"); - CodeFixedValueDO codeFixedValueDO = selectByOid(codeFixedValueDTO.getOid()); - BaseResult baseResult = checkIsCanDeleteForDO(codeFixedValueDTO,codeFixedValueDO); - if(baseResult.isSuccess()) { - }else{ - return baseResult; - } - //鎵ц鍒犻櫎鎿嶄綔 - BatchCBO batchCBO = codeFixedValueMapper.deleteByPrimaryKey(codeFixedValueDO.getOid()); - return (batchCBO!=null && batchCBO.getDeleteCbos() !=null &&batchCBO.getDeleteCbos().size() > 0)?BaseResult.successMsg(DELETE_SUCCESS):BaseResult.fail(DELETE_FAIL); - } - - /** - * 涓婚敭鑾峰彇鍥哄畾鐮佹鐨勭爜鍊� - * @param oid 涓婚敭 - * @return 鍥哄畾鐮佹鐨勭爜鍊兼樉绀哄璞� - * @throws VciBaseException 鍙傛暟涓虹┖锛屾暟鎹笉瀛樺湪鏃朵細鎶涘嚭寮傚父 - */ - @Override - public CodeFixedValueVO getObjectByOid(String oid) throws VciBaseException{ - return codeFixedValueDO2VO(selectByOid(oid)); - } - - /** - * 涓婚敭鏌ヨ鏁版嵁瀵硅薄 - * @param oid 涓婚敭 - * @return 鏁版嵁瀵硅薄 - * @throws VciBaseException 鍙傛暟涓虹┖锛屽苟涓旀暟鎹笉瀛樺湪鐨勬椂鍊欎細鎶涘嚭寮傚父 - */ - private CodeFixedValueDO selectByOid(String oid) throws VciBaseException{ - VciBaseUtil.alertNotNull(oid,"涓婚敭"); - CodeFixedValueDO codeFixedValueDO = codeFixedValueMapper.selectByPrimaryKey(oid.trim()); - if(codeFixedValueDO == null || StringUtils.isBlank(codeFixedValueDO.getOid())){ - throw new VciBaseException(DATA_OID_NOT_EXIST); - } - return codeFixedValueDO; - } - - /** - * 涓婚敭鎵归噺鑾峰彇鍥哄畾鐮佹鐨勭爜鍊� - * @param oidCollections 涓婚敭闆嗗悎锛屼絾鏄彈鎬ц兘褰卞搷锛屽缓璁竴娆℃煡璇笉瓒呰繃10000涓� - * @return 鍥哄畾鐮佹鐨勭爜鍊兼樉绀哄璞� - * @throws VciBaseException 鏌ヨ鍑虹幇寮傚父鏃朵細鎶涘嚭 - */ - @Override - public Collection<CodeFixedValueVO> listCodeFixedValueByOids(Collection<String> oidCollections) throws VciBaseException{ - VciBaseUtil.alertNotNull(oidCollections,"鏁版嵁瀵硅薄涓婚敭闆嗗悎"); - List<CodeFixedValueDO> codeFixedValueDOList = listCodeFixedValueDOByOidCollections(oidCollections); - return codeFixedValueDO2VOs(codeFixedValueDOList); - } - - /** - * 浣跨敤涓婚敭闆嗗悎鏌ヨ鏁版嵁瀵硅薄 - * @param oidCollections 涓婚敭鐨勯泦鍚� - * @return 鏁版嵁瀵硅薄鍒楄〃 - */ - private List<CodeFixedValueDO> listCodeFixedValueDOByOidCollections(Collection<String> oidCollections){ - List<CodeFixedValueDO> codeFixedValueDOList = new ArrayList<CodeFixedValueDO>(); - if(!CollectionUtils.isEmpty(oidCollections)){ - Collection<Collection<String>> oidCollectionsList = VciBaseUtil.switchCollectionForOracleIn(oidCollections); - for(Collection<String> oids: oidCollectionsList){ - List<CodeFixedValueDO> tempDOList = codeFixedValueMapper.selectByPrimaryKeyCollection(oids); - if(!CollectionUtils.isEmpty(tempDOList)){ - codeFixedValueDOList.addAll(tempDOList); - } - } - } - return codeFixedValueDOList; - } +public class CodeFixedValueServiceImpl extends ServiceImpl<CodeFixedValueMapper, CodeFixedValue> implements ICodeFixedValueService { - /** - * 鍙傜収鍥哄畾鐮佹鐨勭爜鍊煎垪琛� - * @param conditionMap 鏌ヨ鏉′欢 - * @param pageHelper 鍒嗛〉鍜屾帓搴� - * @return 鍥哄畾鐮佹鐨勭爜鍊兼樉绀哄璞″垪琛紝鐢熸晥鐨勫唴瀹� - * @throws VciBaseException 鏌ヨ鏉′欢鍜屽垎椤靛嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父 - */ - @Override - public DataGrid<CodeFixedValueVO> refDataGridCodeFixedValue(Map<String, String> conditionMap, PageHelper pageHelper) throws VciBaseException{ - if(conditionMap == null){ - conditionMap = new HashMap<String, String>(); - } - return gridCodeFixedValue(conditionMap,pageHelper); - } - - /** - * 浣跨敤鐮佹鐨勪富閿幏鍙栧浐瀹氱爜鐨勭爜鍊� - * - * @param secOidCollection 鐮佹鐨勪富閿� - * @return 鐮佸�兼樉绀哄璞� - * @throws VciBaseException 鏌ヨ鐨勬椂鍊欏嚭鐜颁簡閿欒浼氭姏鍑哄紓甯� - */ - @Override - public Map<String, List<CodeFixedValueVO>> listCodeFixedValueBySecOids(Collection<String> secOidCollection) throws VciBaseException { - if(CollectionUtils.isEmpty(secOidCollection)){ - return new HashMap<>(); - } - List<CodeFixedValueVO> voList = new ArrayList<>(); - VciBaseUtil.switchCollectionForOracleIn(secOidCollection).forEach(secOids->{ - Map<String,String> conditionMap = new HashMap<>(); - conditionMap.put("codefixedsecoid", QueryOptionConstant.IN + "(" + VciBaseUtil.toInSql(secOids.toArray(new String[0])) + ")"); - PageHelper pageHelper = new PageHelper(-1); - pageHelper.addDefaultAsc("ordernum"); - List<CodeFixedValueDO> valueDOS = codeFixedValueMapper.selectByCondition(conditionMap, pageHelper); - voList.addAll(codeFixedValueDO2VOs(Optional.ofNullable(valueDOS).orElseGet(() -> new ArrayList<>()))); - }); - return voList.stream().collect(Collectors.groupingBy(CodeFixedValueVO::getCodefixedsecoid)); - } - - /** - * 鎵归噺娣诲姞鍥哄畾鐮佹鐨勭爜鍊硷紝濡傛灉淇濆瓨鐨勯泦鍚堜腑涓嶅瓨鍦ㄥ凡鍦ㄦ暟鎹簱涓殑鐮佸�煎垯鍒犻櫎銆備富瑕佹槸淇濆瓨鐮佸�肩殑搴忓彿 - * @param dtoList 鍥哄畾鐮佹鐨勭爜鍊煎垪琛� - * @param codefixedsecoid 鍥哄畾鐮佹鐨勪富閿� - * @return 鎵ц缁撴灉 - */ - @Override - public BaseResult<CodeFixedValueVO> batchSave4Order(List<CodeFixedValueDTO> dtoList, String codefixedsecoid) { - VciBaseUtil.alertNotNull(codefixedsecoid,"鍥哄畾鐮佹涓婚敭"); - Map<String,String> conditionMap = new HashMap<>(); - conditionMap.put("codefixedsecoid",codefixedsecoid); - VciQueryWrapperForDO wrapper = new VciQueryWrapperForDO(conditionMap,CodeFixedValueDO.class); - List<CodeFixedValueDO> doList = codeFixedValueMapper.selectByWrapper(wrapper); - List<CodeFixedValueDO> updateList = new ArrayList<>(); - List<String> deleteOidList = new ArrayList<>(); - dtoList.forEach(dto -> { - if (StringUtils.isNotBlank(dto.getOid())){ - List<CodeFixedValueDO> valueDOList = doList.stream().filter(value -> { - return value.getOid().equals(dto.getOid()); - }).collect(Collectors.toList()); - valueDOList.forEach(valueDO -> { - valueDO.setId(dto.getId()); - valueDO.setName(dto.getName()); - valueDO.setOrderNum(dto.getOrdernum()); - updateList.add(valueDO); - }); - }else{ - throw new VciBaseException("鍥哄畾鐮佹涓婚敭涓嶈兘涓虹┖"); - } - }); - if (doList.size() != dtoList.size()){ - List<String> oidList = dtoList.stream().map(CodeFixedValueDTO::getOid).collect(Collectors.toList()); - List<CodeFixedValueDO> deleteList = new ArrayList<>(); - for (CodeFixedValueDO value : doList) { - if (!oidList.contains(value.getOid())){ - deleteList.add(value); - } - } - deleteOidList = deleteList.stream().map(CodeFixedValueDO::getOid).collect(Collectors.toList()); - } - WebUtil.setPersistence(false); - BatchCBO batchCBO = codeFixedValueMapper.batchUpdate(updateList); - if (!CollectionUtils.isEmpty(deleteOidList)) { - BatchCBO batchDeleteByOids = codeFixedValueMapper.batchDeleteByOids(deleteOidList); - batchCBO.setDeleteCbos(batchDeleteByOids.getDeleteCbos()); - } - WebUtil.setPersistence(true); - boService.persistenceBatch(batchCBO); - return BaseResult.success(); - } - - /** - * 鏍规嵁鐮佹涓婚敭鍒犻櫎鍏跺瓨鍦ㄧ殑鐮佸�煎璞� - * @param codefixedsecoid 鍥哄畾鐮佹鐨勪富閿� - * @return 鎵ц缁撴灉 - */ - @Override - public BaseResult<CodeFixedValueVO> batchDeleteBySecOid(String codefixedsecoid) { - VciBaseUtil.alertNotNull(codefixedsecoid,"鍥哄畾鐮佹涓婚敭"); - Map<String,String> conditionMap = new HashMap<>(); - conditionMap.put("codefixedvalueoid",codefixedsecoid); - VciQueryWrapperForDO wrapper = new VciQueryWrapperForDO(conditionMap,CodeFixedValueDO.class); - List<CodeFixedValueDO> doList = codeFixedValueMapper.selectByWrapper(wrapper); - codeFixedValueMapper.batchDeleteByOids(doList.stream().map(CodeFixedValueDO::getOid).collect(Collectors.toList())); - return BaseResult.success(); - } } - -- Gitblit v1.9.3