From 8238e7215367e39de004c29244d2597bb1e5519b Mon Sep 17 00:00:00 2001 From: xiejun <xiejun@vci-tech.com> Date: 星期二, 23 一月 2024 10:13:16 +0800 Subject: [PATCH] 集团码申请接口调试 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java | 96 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 92 insertions(+), 4 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java index 56b35b8..e963093 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.io.xml.DomDriver; +import com.vci.ubcs.code.applyjtcodeservice.feign.MdmApplyGroupCodeProvider; import com.vci.ubcs.code.constant.MdmDuckingConstant; import com.vci.ubcs.code.dto.datapush.classify.JsonRootDataDTO; import com.vci.ubcs.code.dto.datapush.classify.NodeClassifyDTO; @@ -21,19 +22,23 @@ import com.vci.ubcs.code.dto.datapush.result.ResultNodeObjectDTO; import com.vci.ubcs.code.entity.*; import com.vci.ubcs.code.enumpack.SysIntegrationDataFlowTypeEnum; +import com.vci.ubcs.code.feign.MdmSearchItemCodeProvider; +import com.vci.ubcs.code.mapper.CommonsMapper; import com.vci.ubcs.code.service.*; +import com.vci.ubcs.code.vo.pagemodel.*; +import com.vci.ubcs.omd.feign.IBtmTypeClient; +import com.vci.ubcs.omd.vo.BtmTypeVO; import com.vci.ubcs.starter.util.HttpUtils; import com.vci.ubcs.code.util.WsErpClientUtil; -import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateAttrVO; -import com.vci.ubcs.code.vo.pagemodel.CodeClassifyTemplateVO; -import com.vci.ubcs.code.vo.pagemodel.CodeClassifyVO; import com.vci.ubcs.starter.web.enumpck.UserSecretEnum; import com.vci.ubcs.starter.web.pagemodel.SessionInfo; import com.vci.ubcs.starter.web.util.VciBaseUtil; import com.vci.ubcs.starter.web.util.WebUtil; import lombok.extern.slf4j.Slf4j; +import org.apache.poi.util.StringUtil; import org.springblade.core.redis.cache.BladeRedis; import org.springblade.core.tool.api.R; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -62,6 +67,20 @@ public String DATA_PARAM_NAME; @Value("${dataSyncPush.dataId:itemid}") private String itemId; + + @Value("${erp.item.attrKey:xhdh}") + public String attrKey; + + /** + * 涓氬姟绫诲瀷鐨勬湇鍔� + */ + @Autowired + private IBtmTypeClient btmTypeClient; + /** + * 閫氱敤鏌ヨ + */ + @Resource + private CommonsMapper commonsMapper; @Resource private MdmEngineService mdmEngineServiceI; @@ -84,7 +103,8 @@ private IDockingSysIntParamService dockingSysIntParamService; @Resource private IDockingSysIntHeaderService dockingSysIntHeaderService; - + @Autowired(required = false) + private MdmSearchItemCodeProvider mdmSearchItemCodeProvider; @Override @@ -149,6 +169,74 @@ return R.success("鎵嬪姩鎺ㄩ�佸畬鎴�,璇锋牳瀵规槸鍚︽帹閫佹垚鍔�"); } + /*** + * 鍚屾鍨嬪彿浠e彿 + */ + @Override + public void saveItemDataSyncScheduing(String btmName) { + SearchItemParam searchItemParam=new SearchItemParam(); + searchItemParam.setSystag("CODE"); //璋冪敤绯荤粺鏍囪瘑 + searchItemParam.setLastchangedon(new Date()); + searchItemParam.setStatus("1");// + SearchItemVO searchItemVO= mdmSearchItemCodeProvider.getppModelByElem(searchItemParam); + if(searchItemVO!=null) { + searchItemVO.getCode(); + searchItemVO.getMsg(); + List<CodeClassify> codeClassifyList = codeClassifyService.selectByWrapper(Wrappers.<CodeClassify>query().lambda().in(CodeClassify::getId, btmName)); + try { + if (CollectionUtils.isEmpty(codeClassifyList)) { + throw new Throwable("鍒嗙被鏈煡璇㈠埌"); + } + CodeClassify codeClassify= codeClassifyList.get(0); + List<SearchItemDataVO> dataList = searchItemVO.getData(); + Map<String, SearchItemDataVO> dataVOMap = new HashMap<>(); + List<String> itemCodeList = new ArrayList<>(); + if (!CollectionUtils.isEmpty(dataList)) { + dataList.stream().forEach(searchItemDataVO -> { + String itemCode = StringUtils.isNotBlank(searchItemDataVO.getProjectitem()) ? searchItemDataVO.getProjectitem() : searchItemDataVO.getMmodelcode();//椤圭洰浠e彿 + dataVOMap.put(itemCode, searchItemDataVO); + itemCodeList.add(itemCode); + }); + String tableName = ""; + R<BtmTypeVO> r = btmTypeClient.getAllAttributeByBtmId(btmName); + if (!r.isSuccess()) { + throw new Throwable(r.getMsg()); + } + BtmTypeVO btmTypeVO = r.getData(); + if (btmTypeVO == null) { + throw new Throwable("鏍规嵁涓氬姟绫诲瀷鏈煡璇㈠埌涓氬姟绫诲瀷瀵硅薄锛�"); + } + tableName = btmTypeVO.getTableName(); + if (com.alibaba.nacos.common.utils.StringUtils.isBlank(tableName)) { + throw new Throwable("鏍规嵁涓氬姟绫诲瀷鏈煡璇㈠埌涓氬姟绫诲瀷鐩稿叧鑱旂殑琛�"); + } + StringBuffer sb = new StringBuffer(); + sb.append(" select * from "); + sb.append(tableName); + sb.append(" where 1=1"); + sb.append(" and lastr=1 and lastv=1"); + sb.append(" and codeclsfid = '" + codeClassify.getOid() + "'"); + List<Map<String, String>> newDataList = commonsMapper.queryByOnlySqlForMap(sb.toString()); + newDataList.stream().forEach(dataMap->{ + String value= dataMap.getOrDefault(attrKey,""); + if(dataVOMap.containsKey(attrKey)){ + SearchItemDataVO searchItemDataVO=dataVOMap.get(attrKey); + + }else{ + + + } + + }); + + } + } + catch (Throwable e){ + log.error("鏌ヨ澶辫触--->"+e); + } + } + } + /*** * 鏌ヨredis涓暟鎹紝瀵规瘮鍚庢彃鍏ockingtask -- Gitblit v1.9.3