From 2c7ae50c22dc230e631a9bbddd261d8c4d4f7306 Mon Sep 17 00:00:00 2001 From: fengyuan_yang <1976974459@qq.com> Date: Tue, 24 Dec 2024 17:57:20 +0800 Subject: [PATCH] =?UTF-8?q?2024-12-24=20=E6=8E=A5=E5=8F=A3=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/BomManagementServiceImpl.java | 1 + .../impl/WorkGuidelinesServiceImpl.java | 64 +++++++++++++------ .../mapper/part/BomManagementMapper.xml | 2 +- 3 files changed, 48 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/spring/modules/part/service/impl/BomManagementServiceImpl.java b/src/main/java/com/spring/modules/part/service/impl/BomManagementServiceImpl.java index a45c4e4c..189dd6c5 100644 --- a/src/main/java/com/spring/modules/part/service/impl/BomManagementServiceImpl.java +++ b/src/main/java/com/spring/modules/part/service/impl/BomManagementServiceImpl.java @@ -1232,6 +1232,7 @@ public class BomManagementServiceImpl extends ServiceImpl queryMultiLevelStructureTable(BomDetailEntity data) { List multiLevelStructureList = bomManagementMapper.queryBomMultiLevelStructureList(data); + return multiLevelStructureList; } } diff --git a/src/main/java/com/spring/modules/part/service/impl/WorkGuidelinesServiceImpl.java b/src/main/java/com/spring/modules/part/service/impl/WorkGuidelinesServiceImpl.java index 28f4a4b6..d446f39c 100644 --- a/src/main/java/com/spring/modules/part/service/impl/WorkGuidelinesServiceImpl.java +++ b/src/main/java/com/spring/modules/part/service/impl/WorkGuidelinesServiceImpl.java @@ -1,9 +1,12 @@ package com.spring.modules.part.service.impl; import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.spring.common.utils.PageUtils; +import com.spring.ifs.api.IfsServer; +import com.spring.ifs.bean.RoutingServiceBean; import com.spring.modules.base.utils.HttpClientUtil; import com.spring.modules.base.utils.ResponseData; import com.spring.modules.part.entity.*; @@ -16,6 +19,9 @@ import com.spring.modules.part.mapper.WorkGuidelinesMapper; import com.spring.modules.part.service.BomSearch3Service; import com.spring.modules.part.service.WorkGuidelinesService; import com.spring.modules.part.vo.*; +import com.spring.modules.sys.dao.SysUserDao; +import com.spring.modules.sys.entity.SysUserEntity; +import ifs.fnd.ap.Server; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; @@ -25,6 +31,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; +import java.util.Map; @Service public class WorkGuidelinesServiceImpl implements WorkGuidelinesService { @@ -35,12 +42,33 @@ public class WorkGuidelinesServiceImpl implements WorkGuidelinesService { @Autowired private RoutingManagementMapper routingManagementMapper; + @Autowired + private IfsServer ifsServer; + + @Autowired + private SysUserDao sysUserDao; + + @Autowired + private RoutingServiceBean routingServiceBean; + @Value("${ifs-api.api-url}") private String apiUrl; @Value("${ifs-control.control-flag}") private Boolean dataUrl; + /** + * 获取ifsServer + */ + private Server getIfsServer(String username) { + SysUserEntity ifsUser = sysUserDao.selectOne(new QueryWrapper().eq("username", username)); + if (ifsUser == null || !org.apache.commons.lang3.StringUtils.isNotBlank(ifsUser.getIfsUsername()) || !org.apache.commons.lang3.StringUtils.isNotBlank(ifsUser.getIfsPassword())) { + throw new RuntimeException("获取用户的IFS账号密码为空值!"); + } + Server srv = ifsServer.getIfsServer(ifsUser.getIfsUsername(), ifsUser.getIfsPassword()); + return srv; + } + /** * routing 替代列表查询 * @param data @@ -92,6 +120,7 @@ public class WorkGuidelinesServiceImpl implements WorkGuidelinesService { if (dataUrl) { // 判断是否为正式替代 + Server srv = getIfsServer(data.getCreateBy()); RoutingDetailEntity routingDetailEntity = new RoutingDetailEntity(); BeanUtils.copyProperties(data, routingDetailEntity); List checkList = routingManagementMapper.checkRoutingDetailOnlyOne(routingDetailEntity); @@ -118,16 +147,15 @@ public class WorkGuidelinesServiceImpl implements WorkGuidelinesService { routingIfsGuideLine.setIfsRowId(componentEntity.getIfsRowId()); routingIfsGuideLine.setIfsRowVersion(componentEntity.getIfsRowVersion()); routingIfsGuideLines.add(routingIfsGuideLine); - String saveRoutingGuidelineURL = apiUrl + "/routing/ifs/syncRoutingIfsGuideLinesToIfs"; - ResponseData saveRoutingGuidelineResponse = HttpClientUtil.doPostByRawWithPLM(saveRoutingGuidelineURL, routingIfsGuideLines); - if (!"200".equals(saveRoutingGuidelineResponse.getCode())) { - throw new RuntimeException("IFS RoutingGuideline新增异常:" + saveRoutingGuidelineResponse.getMsg()); + Map addRoutingGuidelineResponse = routingServiceBean.syncRoutingGuideLines(srv, routingIfsGuideLines); + if (!"200".equals(addRoutingGuidelineResponse.get("resultCode"))) { + throw new RuntimeException("IFS RoutingGuideline新增异常:" + addRoutingGuidelineResponse.get("resultMsg")); } - String s = String.valueOf(saveRoutingGuidelineResponse.getObj()); - List routingGuideline = JSON.parseArray(s, RoutingIfsGuideLine.class); - if (!routingGuideline.isEmpty()) { - for (RoutingIfsGuideLine routingIfsTool : routingGuideline) { - routingManagementMapper.updateIfsGuidelineRowKeyAndRevision(routingIfsTool); + String RoutingGuidelineObj = String.valueOf(addRoutingGuidelineResponse.get("obj")); + List ifsGuidelines = JSON.parseArray(RoutingGuidelineObj, RoutingIfsGuideLine.class); + if (!ifsGuidelines.isEmpty()) { + for (RoutingIfsGuideLine ifsGuideline : ifsGuidelines) { // 修改ifs关键字 + routingManagementMapper.updateIfsGuidelineRowKeyAndRevision(ifsGuideline); } } else { throw new RuntimeException("IFS RoutingGuideline新增接口返回值异常!"); @@ -147,18 +175,18 @@ public class WorkGuidelinesServiceImpl implements WorkGuidelinesService { if (dataUrl) { // 判断是否为正式替代 + Server srv = getIfsServer(data.getUpdateBy()); RoutingDetailEntity routingDetailEntity = new RoutingDetailEntity(); BeanUtils.copyProperties(data, routingDetailEntity); List checkList = routingManagementMapper.checkRoutingDetailOnlyOne(routingDetailEntity); if ("Y".equals(checkList.get(0).getOfficialFlag())) { RoutingIfsGuideLine routingIfsGuideLine = workGuidelinesMapper.getRoutingGuidelineToIfs(data.getId()); - String updateRoutingGuidelineURL = apiUrl + "/routing/ifs/modifyRoutingIfsGuideLineToIfs"; - ResponseData updateRoutingGuidelineResponse = HttpClientUtil.doPostByRawWithPLM(updateRoutingGuidelineURL, routingIfsGuideLine); - if (!"200".equals(updateRoutingGuidelineResponse.getCode())) { - throw new RuntimeException("IFS RoutingGuideline修改异常:" + updateRoutingGuidelineResponse.getMsg()); + Map updateRoutingGuidelineResponse = routingServiceBean.modifyRoutingGuideLine(srv, routingIfsGuideLine); + if (!"200".equals(updateRoutingGuidelineResponse.get("resultCode"))) { + throw new RuntimeException("IFS RoutingGuideline修改异常:" + updateRoutingGuidelineResponse.get("resultMsg")); } // 更新 ifs_row_id ifs_row_version - String s = String.valueOf(updateRoutingGuidelineResponse.getObj()); + String s = String.valueOf(updateRoutingGuidelineResponse.get("obj")); RoutingIfsGuideLine ifsGuidelines = JSON.parseObject(s, RoutingIfsGuideLine.class); if (ifsGuidelines != null) { data.setIfsRowId(ifsGuidelines.getIfsRowId()); @@ -190,10 +218,10 @@ public class WorkGuidelinesServiceImpl implements WorkGuidelinesService { } if (dataUrl) { if ("Y".equals(checkList.get(0).getOfficialFlag())) { - String deleteRoutingGuidelineURL = apiUrl + "/routing/ifs/removeRoutingIfsGuideLinesToIfs"; - ResponseData deleteRoutingGuidelineResponse = HttpClientUtil.doPostByRawWithPLM(deleteRoutingGuidelineURL, routingIfsGuideLines); - if (!"200".equals(deleteRoutingGuidelineResponse.getCode())) { - throw new RuntimeException("IFS RoutingGuideline删除异常:" + deleteRoutingGuidelineResponse.getMsg()); + Server srv = getIfsServer(data.getUpdateBy()); + Map deleteRoutingGuidelineResponse = routingServiceBean.removeRoutingGuideLines(srv, routingIfsGuideLines); + if (!"200".equals(deleteRoutingGuidelineResponse.get("resultCode"))) { + throw new RuntimeException("IFS RoutingGuideline删除异常:" + deleteRoutingGuidelineResponse.get("resultMsg")); } } } diff --git a/src/main/resources/mapper/part/BomManagementMapper.xml b/src/main/resources/mapper/part/BomManagementMapper.xml index ab0568bd..fb129b9a 100644 --- a/src/main/resources/mapper/part/BomManagementMapper.xml +++ b/src/main/resources/mapper/part/BomManagementMapper.xml @@ -940,7 +940,7 @@ a.alternative_no, a.by_prod_line_item_no, a.component_line_item_no, - a.item_cost_distribution, + 0 as itemCostDistribution, a.component_part_no, a.by_prod_part_no FROM plm_bom_manuf_struct_cost_distrib as a