Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/pagemodel/DockingSystemConfigVO.java
@@ -1,6 +1,7 @@ package com.vci.ubcs.code.vo.pagemodel; import com.vci.ubcs.starter.revision.model.BaseModel; import io.swagger.annotations.ApiModelProperty; import java.util.List; @@ -62,22 +63,20 @@ */ private String description; /** * 接口类型 */ private String interfaceType; /** * 接口类型显示文本 */ private String interfaceTypeText; /** * 参数类型 */ private String paramType; /** * 参数类型显示文本 @@ -88,11 +87,11 @@ */ private String requestMethod; /** * 请求方式显示文本 */ private String requestMethodText; /** * 分类oid */ @@ -123,17 +122,16 @@ */ private String requestUrl; /** * 返回值类型 */ private String returnType; /** * 返回值类型显示文本 */ private String returnTypeText; /** * 来源系统主键 */ @@ -237,14 +235,30 @@ * 分类名称 */ private String classifyName; /*** * 集团码是否参与申请/更新/发送 */ private String isGroupCodeFlag; /** * 内容类型 */ private String contentType; public void setContentType(String contentType) { this.contentType = contentType; } public String getContentType() { return contentType; } /*** * 参数信息对象 */ private List<DockingSysIntParamVO> sysIntParamVOs; /*** * header信息对象 */ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/Scheduling/SearchDataSyncForERPScheduling.java
@@ -1,5 +1,6 @@ package com.vci.ubcs.code.Scheduling; import com.alibaba.nacos.shaded.com.google.protobuf.ServiceException; import com.vci.ubcs.code.service.ICodeDuckingSyncService; import com.vci.ubcs.code.service.UniversalInterfaceI; import com.vci.ubcs.starter.web.enumpck.BooleanEnum; @@ -31,11 +32,11 @@ @Value("${erp.item.isStart:false}") public boolean ERP_ITEM_ISSTARE; /** * 是否初始化完成了 */ public static volatile String FINISH_INIT = "false"; /** * 在初始化完成后执行 */ @@ -46,7 +47,7 @@ //默认每十分钟执行方法 @Scheduled(cron = "${erp.item.cronTime:0 0/10 * * * ?}") public void scheduled() { public void scheduled() throws ServiceException { log.info("执行从ERP项目代号/型号代号数据 start:"); log.info("执行主数据集成数据推送 end: "+ "开关是否开启:" +ERP_ITEM_ISSTARE); if(ERP_ITEM_ISSTARE && BooleanEnum.TRUE.getValue().equalsIgnoreCase(FINISH_INIT)) { Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeApplyOrgPersonController.java
@@ -9,6 +9,8 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; /** * 申请人员部门控制器 * @@ -18,15 +20,18 @@ @RestController @RequestMapping("/codeApplyOrgPersonController") public class CodeApplyOrgPersonController { /** * 日志 */ private Logger logger = LoggerFactory.getLogger(getClass()); /** * 接口集成服务 */ @Autowired private UniversalInterfaceI universalInterfaceI; /**** * 人员数据同步 * @param personData @@ -34,7 +39,8 @@ * @throws Throwable */ @PostMapping("/syncDataForPerson") public ResultOrgData syncDataForPerson(@RequestBody PersonData personData) { public ResultOrgData syncDataForPerson(@RequestBody PersonData personData, HttpServletRequest request) { this.setHttpToThreadLocal(request); String result=""; try { return universalInterfaceI.syncDataForPerson(personData); @@ -52,7 +58,8 @@ * @throws Throwable */ @PostMapping("/syncDataForOrg") public ResultOrgData syncDataForOrg(@RequestBody OrgData orgData) { public ResultOrgData syncDataForOrg(@RequestBody OrgData orgData, HttpServletRequest request) { this.setHttpToThreadLocal(request); String result=""; try { return universalInterfaceI.syncDataForOrg(orgData); @@ -62,4 +69,15 @@ return new ResultOrgData(); } } /** * 设置request,到ThreadLocal中 * @param request */ public void setHttpToThreadLocal(HttpServletRequest request){ ThreadLocal<HttpServletRequest> threadLocal = new ThreadLocal<>(); threadLocal.set(request); universalInterfaceI.setThreadLocal(threadLocal); } } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSyncUniversalController.java
@@ -156,7 +156,6 @@ return result; } /**** * 人员集成接口 * @param personData 数据信息 @@ -186,7 +185,6 @@ threadLocal.set(request); universalInterfaceI.setThreadLocal(threadLocal); } /*** * Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingManagementController.java
@@ -41,6 +41,7 @@ @RequestMapping("/dockingManagement") @Api(value = "接口管理", tags = "编码相关接口管理信息") public class DockingManagementController { /*** * 集成系统管理服务 */ @@ -50,6 +51,7 @@ * 集成接口配置服务 */ private final IDockingSystemConfigService dockingSystemConfigService; /*** * 待集管理配置服务 */ @@ -93,7 +95,6 @@ return R.status(res); } /** * 修改 系统集成的系统信息 * @param dockingSystemDTO 系统集成的系统信息数据传输对象 @@ -104,7 +105,6 @@ DockingSystemVO dockingSystemVO = dockingSystemService.editSave(dockingSystemDTO); return R.data(dockingSystemVO); } /** * 删除系统集成的系统信息 @@ -120,6 +120,7 @@ } return R.success("操作成功"); } /** * 系统集成基础信息列表 * @param queryObject 基础查询对象,包含查询条件,分页,排序等 @@ -169,6 +170,7 @@ return R.fail("保存失败!"); } } /** * 删除系统集成系统配置信息 * @param oids 系统集成基础信息数据传输对象,oid和ts需要传输 @@ -183,6 +185,7 @@ } return R.success("操作成功"); } /*** * 接口信息是否启用/停用 * @param sysInfoStatusDTO @@ -222,7 +225,6 @@ IPage<DockingDataVO> pages = dokingSysManaentService.gridDockingData(condtionMap,query); return R.data(pages); } /** * data列表 @@ -311,6 +313,7 @@ } /** *批量处理 * 必须要有分类oid和dataoid Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/feign/MdmSearchItemCodeProvider.java
@@ -29,6 +29,6 @@ * @param searchItemParam * @return 执行结果 */ @PostMapping(value = "/getppModelByElem",headers = {"Authorization=${erp.item.bearer:bearer: Bearer 7fc32939-0a59-da71-a6e6-6b0d37b53e8a}","X-ECC-Current-Tenant=10000","Content-Type=application/json","Accept-Language=zh-CHS"}) @PostMapping(value = "/getppModelByElem",headers = {"Authorization=${erp.item.bearer:Bearer 7fc32939-0a59-da71-a6e6-6b0d37b53e8a}","X-ECC-Current-Tenant=10000","Content-Type=application/json","Accept-Language=zh-CHS"}) String getppModelByElem(@RequestBody SearchItemParam searchItemParam); } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/ICodeDuckingSyncService.java
@@ -1,6 +1,7 @@ package com.vci.ubcs.code.service; import com.alibaba.nacos.shaded.com.google.protobuf.ServiceException; import org.springblade.core.tool.api.R; import javax.servlet.http.HttpServletRequest; @@ -49,6 +50,6 @@ */ R sendData(String oids); void saveItemDataSyncScheduing(String endDate); void saveItemDataSyncScheduing(String endDate) throws ServiceException; } Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemConfigService.java
@@ -6,7 +6,6 @@ import com.vci.ubcs.code.dto.UpdateSysInfoStatusDTO; import com.vci.ubcs.code.entity.DockingSystemConfig; import com.vci.ubcs.code.vo.pagemodel.DockingSystemConfigVO; import com.vci.ubcs.code.vo.pagemodel.DockingSystemVO; import com.vci.ubcs.starter.exception.VciBaseException; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeDuckingSyncServiceImpl.java
@@ -3,6 +3,7 @@ import com.alibaba.cloud.commons.lang.StringUtils; import com.alibaba.fastjson.JSONObject; import com.alibaba.nacos.shaded.com.google.protobuf.ServiceException; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.thoughtworks.xstream.XStream; @@ -50,6 +51,7 @@ import com.vci.ubcs.starter.web.util.BeanUtilForVCI; import com.vci.ubcs.starter.web.util.VciBaseUtil; import com.vci.ubcs.starter.web.util.WebUtil; import com.xkcoding.http.support.Http; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.map.CaseInsensitiveMap; import org.springblade.core.redis.cache.BladeRedis; @@ -59,6 +61,7 @@ import org.springblade.core.tool.utils.Func; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.HttpMethod; import org.springframework.http.MediaType; import org.springframework.mock.web.MockHttpServletRequest; import org.springframework.stereotype.Service; @@ -111,34 +114,53 @@ @Value("${erp.item.btmName:XHDH}") public String btmName; @Value("${erp.item.bearer:bearer: Bearer 7fc32939-0a59-da71-a6e6-6b0d37b53e8a}") private String ERPXHDHAUTH; @Value("${erp.item.url:http://127.0.0.1:8080/api/pp/pp/v1.0}") private String ERPXHDHURL; @Value("${erp.item.tenant:10000}") private String ERPXHDHTENANT; /** * 业务类型的服务 */ @Autowired private IBtmTypeClient btmTypeClient; /** * 通用查询 */ @Resource private CommonsMapper commonsMapper; @Resource private MdmEngineService mdmEngineServiceI; /** * 批量处理的服务 */ @Resource private MdmIOService mdmIOService; @Resource private IPasswordFreeLoginService passwordFreeLoginService; @Resource private IDockingLogeService dockingLogeService; @Resource private IDockingDataService dockingDataService; @Resource private IDockingTaskService dockingTaskService; @Resource private IDockingSystemConfigService dockingSystemConfigService; @Resource private ICodeClassifyService codeClassifyService; @@ -269,7 +291,7 @@ * 同步型号代号 */ @Override public void saveItemDataSyncScheduing(String endDate) { public void saveItemDataSyncScheduing(String endDate) throws ServiceException { String paramString=""; String backString="成功"; String msg="成功"; @@ -293,17 +315,15 @@ Map<String,String>searchDataMap= VciBaseUtil.objectToMapString(searchItemParam); try { paramString=JSONObject.toJSON(searchItemParam).toString(); String res= mdmSearchItemCodeProvider.getppModelByElem(searchItemParam); SearchItemVO searchItemVO = JSONObject.toJavaObject(JSONObject.parseObject(res), SearchItemVO.class); /**SearchItemVO searchItemVO=new SearchItemVO(); List<SearchItemDataVO> data=new ArrayList<>(); SearchItemDataVO searchItemDataVO1=initData("1","","pro-00001"); SearchItemDataVO searchItemDataVO2=initData("0","item-00001",""); data.add(searchItemDataVO1); data.add(searchItemDataVO2); //searchItemVO.setData(data); searchItemVO.setCode("200");**/ //searchItemVO.setMsg(""); // TODO: 改为使用HttpUtils方式进行申请,因为现在申请用之前的方式会报错 LinkedMultiValueMap<String, String> headers = new LinkedMultiValueMap<>(); headers.add("Authorization",ERPXHDHAUTH); headers.add("X-ECC-Current-Tenant",ERPXHDHTENANT); headers.add("Accept-Language","zh-CHS"); headers.add("Content-Type",MediaType.APPLICATION_JSON.toString()); String res = HttpUtils.request(ERPXHDHURL+"/getppModelByElem",paramString,headers, HttpMethod.POST,MediaType.APPLICATION_JSON); // String res= mdmSearchItemCodeProvider.getppModelByElem(searchItemParam); SearchItemVO searchItemVO = JSONObject.toJavaObject(JSONObject.parseObject(res), SearchItemVO.class); if (searchItemVO != null) { BladeUser finalUser; paramString = JSONObject.toJSON(searchItemVO).toString(); @@ -449,7 +469,6 @@ } } catch (Throwable e) { e.printStackTrace(); ; log.error("查询失败--->" + e); success = false; backString = "查询失败--->" + e; @@ -466,7 +485,7 @@ } } }else{ throw new Throwable("接口未返回信息"); throw new Throwable("接口未返回信息"); } }catch (Throwable e1){ e1.printStackTrace(); @@ -481,8 +500,9 @@ } catch (Throwable e) { e.printStackTrace(); log.error(e.getMessage()); throw new VciBaseException(e.getMessage()); throw new ServiceException(e.getMessage()); } throw new ServiceException(e1.getMessage()); } } @@ -1079,7 +1099,12 @@ for (DockingSysIntHeader dockingSysIntHeader : dockingSysIntHeaderList) { headers.add(dockingSysIntHeader.getHeaderKey(), dockingSysIntHeader.getHeaderValue()); } backString = HttpUtils.postByMediaType(url, params, headers,MediaType.valueOf(dockingSystemConfig.getContentType())); backString = HttpUtils.postByMediaType( url, params, headers, Func.isNotBlank(dockingSystemConfig.getContentType()) ? MediaType.valueOf(dockingSystemConfig.getContentType()):MediaType.APPLICATION_FORM_URLENCODED ); } if(backString.startsWith("\"")){ backString=backString.substring(backString.indexOf("\"")+1); Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java
@@ -544,7 +544,7 @@ * @param dockingSystemConfigDTO * @throws Throwable */ private void callInterface(String sendString , DockingSystemConfigDTO dockingSystemConfigDTO) throws Throwable{ private void callInterface(String sendString , DockingSystemConfigDTO dockingSystemConfigDTO) throws Throwable{ String paramString = ""; String backString = "";