|
|
|
@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|
|
|
import com.spring.common.utils.DateUtils; |
|
|
|
import com.spring.common.utils.PageUtils; |
|
|
|
import com.spring.ifs.api.IfsServer; |
|
|
|
import com.spring.ifs.bean.BomServiceBean; |
|
|
|
import com.spring.modules.base.utils.DataUtils; |
|
|
|
import com.spring.modules.base.utils.HttpClientUtil; |
|
|
|
import com.spring.modules.base.utils.ResponseData; |
|
|
|
@ -15,6 +17,9 @@ import com.spring.modules.part.mapper.BomManagementMapper; |
|
|
|
import com.spring.modules.part.mapper.PartInformationMapper; |
|
|
|
import com.spring.modules.part.service.BomManagementService; |
|
|
|
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.apache.commons.lang3.StringUtils; |
|
|
|
import org.springframework.beans.BeanUtils; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
@ -32,9 +37,19 @@ public class BomManagementServiceImpl extends ServiceImpl<BomManagementMapper, B |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private BomManagementMapper bomManagementMapper; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private PartInformationMapper partInformationMapper; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private IfsServer ifsServer; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private SysUserDao sysUserDao; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private BomServiceBean bomServiceBean; |
|
|
|
|
|
|
|
@Value("${ifs-api.api-url}") |
|
|
|
private String apiUrl; |
|
|
|
|
|
|
|
@ -42,6 +57,18 @@ public class BomManagementServiceImpl extends ServiceImpl<BomManagementMapper, B |
|
|
|
private Boolean dataUrl; |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* 获取ifsServer |
|
|
|
*/ |
|
|
|
private Server getIfsServer(String username) { |
|
|
|
SysUserEntity ifsUser = sysUserDao.selectOne(new QueryWrapper<SysUserEntity>().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.getUsername(), ifsUser.getPassword()); |
|
|
|
return srv; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* bom列表查询 |
|
|
|
* @param data |
|
|
|
@ -67,7 +94,7 @@ public class BomManagementServiceImpl extends ServiceImpl<BomManagementMapper, B |
|
|
|
if (dataUrl) { |
|
|
|
// 判断是否为正式的bomHeader |
|
|
|
if ("Y".equals(bomHeader.getOfficialFlag())) { |
|
|
|
// 同步ifs |
|
|
|
Server srv = getIfsServer(data.getUpdateBy()); |
|
|
|
BomIfsHeader bomIfsHeader = new BomIfsHeader(); |
|
|
|
bomIfsHeader.setContract(data.getSite()); |
|
|
|
bomIfsHeader.setPartNo(data.getPartNo()); |
|
|
|
@ -76,18 +103,12 @@ public class BomManagementServiceImpl extends ServiceImpl<BomManagementMapper, B |
|
|
|
bomIfsHeader.setEffPhaseInDate(DateUtils.format(data.getEffPhaseInDate())); |
|
|
|
bomIfsHeader.setEffPhaseOutDate(DateUtils.format(data.getEffPhaseOutDate())); |
|
|
|
bomIfsHeader.setNoteText(data.getNoteText()); |
|
|
|
String updateBomHeaderURL = apiUrl + "/bom/ifs/modifyBomHeaderToIfs"; |
|
|
|
ResponseData updateBomHeaderResponse = HttpClientUtil.doPostByRawWithPLM(updateBomHeaderURL, bomIfsHeader); |
|
|
|
if (!"200".equals(updateBomHeaderResponse.getCode())) { |
|
|
|
throw new RuntimeException("ifs BomHeader修改异常:" + updateBomHeaderResponse.getMsg()); |
|
|
|
Map<String, String> updateBomHeaderResponse = bomServiceBean.modifyBomHeader(srv, bomIfsHeader); |
|
|
|
if (!"200".equals(updateBomHeaderResponse.get("resultCode"))) { |
|
|
|
throw new RuntimeException("ifs BomHeader修改异常:" + updateBomHeaderResponse.get("resultMsg")); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
// 修改明细表内容 |
|
|
|
//bomManagementMapper.updateBomDetail(data); |
|
|
|
// 修改子明细内容 |
|
|
|
// bomManagementMapper.deleteBomComponent(data); |
|
|
|
// bomManagementMapper.saveBomComponent(data.getInformationList()); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
@ -99,8 +120,8 @@ public class BomManagementServiceImpl extends ServiceImpl<BomManagementMapper, B |
|
|
|
public void bomManagementEdit(BomAllFieldEntity data) { |
|
|
|
// 修改主表 |
|
|
|
bomManagementMapper.updateBomHeader(data); |
|
|
|
|
|
|
|
if (dataUrl) { |
|
|
|
Server srv = getIfsServer(data.getUpdateBy()); |
|
|
|
BomHeaderEntity bomHeader = bomManagementMapper.selectOne(new QueryWrapper<BomHeaderEntity>().eq("site", data.getSite()).eq("part_no", data.getPartNo()).eq("eng_chg_level", data.getEngChgLevel()).eq("bom_type", data.getBomType())); |
|
|
|
// 判断是否为正式的bomHeader |
|
|
|
if ("Y".equals(bomHeader.getOfficialFlag())) { |
|
|
|
@ -113,18 +134,12 @@ public class BomManagementServiceImpl extends ServiceImpl<BomManagementMapper, B |
|
|
|
bomIfsHeader.setEffPhaseInDate(DateUtils.format(data.getEffPhaseInDate())); |
|
|
|
bomIfsHeader.setEffPhaseOutDate(data.getEffPhaseOutDate() == null ? "" : DateUtils.format(data.getEffPhaseOutDate())); |
|
|
|
bomIfsHeader.setNoteText(data.getNoteText()); |
|
|
|
String updateBomHeaderURL = apiUrl + "/bom/ifs/modifyBomHeaderToIfs"; |
|
|
|
ResponseData updateBomHeaderResponse = HttpClientUtil.doPostByRawWithPLM(updateBomHeaderURL, bomIfsHeader); |
|
|
|
if (!"200".equals(updateBomHeaderResponse.getCode())) { |
|
|
|
throw new RuntimeException("ifs BomHeader修改异常:" + updateBomHeaderResponse.getMsg()); |
|
|
|
Map<String, String> updateBomHeaderResponse = bomServiceBean.modifyBomHeader(srv, bomIfsHeader); |
|
|
|
if (!"200".equals(updateBomHeaderResponse.get("resultCode"))) { |
|
|
|
throw new RuntimeException("ifs BomHeader修改异常:" + updateBomHeaderResponse.get("resultMsg")); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
// 修改明细表内容 |
|
|
|
//bomManagementMapper.updateBomDetail(data); |
|
|
|
// 修改子明细内容 |
|
|
|
// bomManagementMapper.deleteBomComponent(data); |
|
|
|
// bomManagementMapper.saveBomComponent(data.getInformationList()); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
@ -298,7 +313,7 @@ public class BomManagementServiceImpl extends ServiceImpl<BomManagementMapper, B |
|
|
|
if (dataUrl) { |
|
|
|
// 判断是否为正式替代 |
|
|
|
if ("Y".equals(bomDetailList.get(0).getOfficialFlag())) { |
|
|
|
// ifs修改bomDetail |
|
|
|
Server srv = getIfsServer(data.getUpdateBy()); |
|
|
|
BomIfsAlternative bomIfsDetail = new BomIfsAlternative(); |
|
|
|
bomIfsDetail.setContract(bomDetailList.get(0).getSite()); |
|
|
|
bomIfsDetail.setPartNo(bomDetailList.get(0).getPartNo()); |
|
|
|
@ -307,14 +322,12 @@ public class BomManagementServiceImpl extends ServiceImpl<BomManagementMapper, B |
|
|
|
bomIfsDetail.setAlternativeNo(data.getAlternativeNo()); |
|
|
|
bomIfsDetail.setAlternativeDesc(data.getAlternativeDescription()); |
|
|
|
bomIfsDetail.setNoteText("".equals(data.getDetailNoteText()) ? "" : data.getDetailNoteText()); |
|
|
|
String updateBomDetailURL = apiUrl + "/bom/ifs/modifyBomAlternativeToIfs"; |
|
|
|
ResponseData updateBomDetailResponse = HttpClientUtil.doPostByRawWithPLM(updateBomDetailURL, bomIfsDetail); |
|
|
|
if (!"200".equals(updateBomDetailResponse.getCode())) { |
|
|
|
throw new RuntimeException("IFS BomAlternative修改异常:" + updateBomDetailResponse.getMsg()); |
|
|
|
Map<String, String> updateBomDetailResponse = bomServiceBean.modifyBomAlternative(srv, bomIfsDetail); |
|
|
|
if (!"200".equals(updateBomDetailResponse.get("resultCode"))) { |
|
|
|
throw new RuntimeException("IFS BomAlternative修改异常:" + updateBomDetailResponse.get("resultMsg")); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// 修改替代 |
|
|
|
bomManagementMapper.updateBomDetail(data); |
|
|
|
// 查询替代列表 |
|
|
|
@ -345,7 +358,7 @@ public class BomManagementServiceImpl extends ServiceImpl<BomManagementMapper, B |
|
|
|
List<BomDetailEntity> bomDetailList = bomManagementMapper.checkBomDetailOnlyOne(data); |
|
|
|
if ("Y".equals(bomDetailList.get(0).getOfficialFlag())) { |
|
|
|
if (dataUrl) { |
|
|
|
// ifs 删除 bomDetail |
|
|
|
Server srv = getIfsServer(data.getUpdateBy()); |
|
|
|
BomIfsAlternative bomIfsDetail = new BomIfsAlternative(); |
|
|
|
bomIfsDetail.setContract(data.getSite()); |
|
|
|
bomIfsDetail.setPartNo(data.getPartNo()); |
|
|
|
@ -353,10 +366,9 @@ public class BomManagementServiceImpl extends ServiceImpl<BomManagementMapper, B |
|
|
|
bomIfsDetail.setBomType(data.getBomType()); |
|
|
|
bomIfsDetail.setAlternativeNo(data.getAlternativeNo()); |
|
|
|
bomIfsDetail.setAlternativeDesc(data.getAlternativeDescription()); |
|
|
|
String deleteBomDetailURL = apiUrl + "/bom/ifs/removeBomAlternativeToIfs"; |
|
|
|
ResponseData deleteBomDetailResponse = HttpClientUtil.doPostByRawWithPLM(deleteBomDetailURL, bomIfsDetail); |
|
|
|
if (!"200".equals(deleteBomDetailResponse.getCode())) { |
|
|
|
throw new RuntimeException("IFS BomAlternative删除异常:" + deleteBomDetailResponse.getMsg()); |
|
|
|
Map<String, String> deleteBomDetailResponse = bomServiceBean.removeBomAlternative(srv, bomIfsDetail); |
|
|
|
if (!"200".equals(deleteBomDetailResponse.get("resultCode"))) { |
|
|
|
throw new RuntimeException("IFS BomAlternative删除异常:" + deleteBomDetailResponse.get("resultMsg")); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
@ -368,7 +380,6 @@ public class BomManagementServiceImpl extends ServiceImpl<BomManagementMapper, B |
|
|
|
bomManagementMapper.deleteBomComponent(bomData); |
|
|
|
// 删除BOM 副产品成本分配数据 |
|
|
|
bomManagementMapper.deleteManufStructCostDistribByAlternative(data); |
|
|
|
|
|
|
|
// 查询替代列表 |
|
|
|
BomHeaderEntity bomHeader = new BomHeaderEntity(); |
|
|
|
BeanUtils.copyProperties(data,bomHeader); |
|
|
|
@ -391,7 +402,6 @@ public class BomManagementServiceImpl extends ServiceImpl<BomManagementMapper, B |
|
|
|
@Transactional |
|
|
|
public Map<String, Object> updateAlternativeStatus (BomDetailEntity data) { |
|
|
|
BomHeaderEntity bomHeader = bomManagementMapper.selectOne(new QueryWrapper<BomHeaderEntity>().eq("site", data.getSite()).eq("part_no", data.getPartNo()).eq("eng_chg_level", data.getEngChgLevel()).eq("bom_type", data.getBomType())); |
|
|
|
|
|
|
|
// 如果是Build,则校验日期是否重叠 |
|
|
|
if ("Tentative".equals(data.getStatus())) { |
|
|
|
List<BomHeaderEntity> historyBom = bomManagementMapper.selectList(new QueryWrapper<BomHeaderEntity>().eq("site", data.getSite()).eq("part_no", data.getPartNo()).eq("bom_type", data.getBomType())); |
|
|
|
@ -477,7 +487,7 @@ public class BomManagementServiceImpl extends ServiceImpl<BomManagementMapper, B |
|
|
|
if (dataUrl) { |
|
|
|
// 判断是否为正式替代 |
|
|
|
if ("Y".equals(checkList.get(0).getOfficialFlag())) { |
|
|
|
// 同步ifs |
|
|
|
Server srv = getIfsServer(data.getUpdateBy()); |
|
|
|
BomIfsAlternative bomIfsDetail = new BomIfsAlternative(); |
|
|
|
bomIfsDetail.setContract(checkList.get(0).getSite()); |
|
|
|
bomIfsDetail.setPartNo(checkList.get(0).getPartNo()); |
|
|
|
@ -486,16 +496,14 @@ public class BomManagementServiceImpl extends ServiceImpl<BomManagementMapper, B |
|
|
|
bomIfsDetail.setAlternativeNo(checkList.get(0).getAlternativeNo()); |
|
|
|
bomIfsDetail.setAlternativeDesc(checkList.get(0).getAlternativeDescription()); |
|
|
|
if ("Buildable".equals(data.getStatus())) { // 状态修改为buildable |
|
|
|
String buildBomDetailURL = apiUrl + "/bom/ifs/buildBomAlternativeToIfs"; |
|
|
|
ResponseData buildBomDetailResponse = HttpClientUtil.doPostByRawWithPLM(buildBomDetailURL, bomIfsDetail); |
|
|
|
if (!"200".equals(buildBomDetailResponse.getCode())) { |
|
|
|
throw new RuntimeException("ifs BomAlternative Build异常:" + buildBomDetailResponse.getMsg()); |
|
|
|
Map<String, String> buildBomDetailResponse = bomServiceBean.buildBomAlternative(srv, bomIfsDetail); |
|
|
|
if (!"200".equals(buildBomDetailResponse.get("resultCode"))) { |
|
|
|
throw new RuntimeException("ifs BomAlternative Build异常:" + buildBomDetailResponse.get("resultMsg")); |
|
|
|
} |
|
|
|
} else if ("Obsolete".equals(data.getStatus())) { // 状态修改为Obsolete |
|
|
|
String retireBomDetailURL = apiUrl + "/bom/ifs/retireBomAlternativeToIfs"; |
|
|
|
ResponseData retireBomDetailResponse = HttpClientUtil.doPostByRawWithPLM(retireBomDetailURL, bomIfsDetail); |
|
|
|
if (!"200".equals(retireBomDetailResponse.getCode())) { |
|
|
|
throw new RuntimeException("ifs BomAlternative Retire异常:" + retireBomDetailResponse.getMsg()); |
|
|
|
Map<String, String> retireBomDetailResponse = bomServiceBean.retireBomAlternative(srv, bomIfsDetail); |
|
|
|
if (!"200".equals(retireBomDetailResponse.get("resultCode"))) { |
|
|
|
throw new RuntimeException("ifs BomAlternative Retire异常:" + retireBomDetailResponse.get("resultMsg")); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
@ -659,7 +667,7 @@ public class BomManagementServiceImpl extends ServiceImpl<BomManagementMapper, B |
|
|
|
bomManagementMapper.saveBomComponent(data); |
|
|
|
if (dataUrl) { |
|
|
|
if ("Y".equals(bomDetailList.get(0).getOfficialFlag())) { |
|
|
|
// 同步ifs |
|
|
|
Server srv = getIfsServer(data.getCreateBy()); |
|
|
|
BomIfsItem bomIfsItem = new BomIfsItem(); |
|
|
|
bomIfsItem.setContract(data.getSite()); |
|
|
|
bomIfsItem.setPartNo(data.getPartNo()); |
|
|
|
@ -675,21 +683,18 @@ public class BomManagementServiceImpl extends ServiceImpl<BomManagementMapper, B |
|
|
|
bomIfsItem.setLineSequence(data.getLineSequence().toString()); |
|
|
|
bomIfsItem.setNoteText(data.getNoteText()); |
|
|
|
bomIfsItem.setOperationNo(data.getOperationNo().toString()); |
|
|
|
String getBomComponentURL = apiUrl + "/bom/ifs/getBomIfsItems"; |
|
|
|
ResponseData getBomComponentResponse = HttpClientUtil.doPostByRawWithPLM(getBomComponentURL, bomIfsItem); |
|
|
|
if (!"200".equals(getBomComponentResponse.getCode())) { // 新增 |
|
|
|
Map<String, String> getBomComponentResponse = bomServiceBean.getBomItems(srv, bomIfsItem); |
|
|
|
if (!"200".equals(getBomComponentResponse.get("resultCode"))) { // 新增 |
|
|
|
LinkedList<BomIfsItem> bomIfsItems = new LinkedList<>(); |
|
|
|
bomIfsItems.add(bomIfsItem); |
|
|
|
String addBomComponentURL = apiUrl + "/bom/ifs/syncBomIfsItemsToIfs"; |
|
|
|
ResponseData addBomComponentResponse = HttpClientUtil.doPostByRawWithPLM(addBomComponentURL, bomIfsItems); |
|
|
|
if (!"200".equals(addBomComponentResponse.getCode())) { |
|
|
|
throw new RuntimeException("ifs BomItem新增异常:" + addBomComponentResponse.getMsg()); |
|
|
|
Map<String, String> addBomComponentResponse = bomServiceBean.syncBomItems(srv, bomIfsItems); |
|
|
|
if (!"200".equals(addBomComponentResponse.get("resultCode"))) { |
|
|
|
throw new RuntimeException("ifs BomItem新增异常:" + addBomComponentResponse.get("resultMsg")); |
|
|
|
} |
|
|
|
} else { // 修改 |
|
|
|
String updateBomComponentURL = apiUrl + "/bom/ifs/modifyBomIfsItemToIfs"; |
|
|
|
ResponseData updateBomComponentResponse = HttpClientUtil.doPostByRawWithPLM(updateBomComponentURL, bomIfsItem); |
|
|
|
if (!"200".equals(updateBomComponentResponse.getCode())) { |
|
|
|
throw new RuntimeException("ifs BomItem修改异常:" + updateBomComponentResponse.getMsg()); |
|
|
|
Map<String, String> updateBomComponentResponse = bomServiceBean.modifyBomItem(srv, bomIfsItem); |
|
|
|
if (!"200".equals(updateBomComponentResponse.get("resultCode"))) { |
|
|
|
throw new RuntimeException("ifs BomItem修改异常:" + updateBomComponentResponse.get("resultMsg")); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
@ -751,12 +756,11 @@ public class BomManagementServiceImpl extends ServiceImpl<BomManagementMapper, B |
|
|
|
@Override |
|
|
|
@Transactional |
|
|
|
public Map<String, Object> updateBomComponent(BomComponentEntity data) { |
|
|
|
|
|
|
|
if (dataUrl) { |
|
|
|
// 判断替代是否为正式 |
|
|
|
List<BomDetailEntity> bomDetailList = bomManagementMapper.queryBomDetailOfficialFlag(data); |
|
|
|
if (!bomDetailList.isEmpty() && "Y".equals(bomDetailList.get(0).getOfficialFlag())) { |
|
|
|
// 同步ifs |
|
|
|
Server srv = getIfsServer(data.getUpdateBy()); |
|
|
|
BomIfsItem bomIfsItem = new BomIfsItem(); |
|
|
|
bomIfsItem.setContract(data.getSite()); |
|
|
|
bomIfsItem.setPartNo(data.getPartNo()); |
|
|
|
@ -772,10 +776,9 @@ public class BomManagementServiceImpl extends ServiceImpl<BomManagementMapper, B |
|
|
|
bomIfsItem.setLineSequence(data.getLineSequence().toString()); |
|
|
|
bomIfsItem.setNoteText(data.getNoteText()); |
|
|
|
bomIfsItem.setOperationNo(data.getOperationNo().toString()); |
|
|
|
String updateBomComponentURL = apiUrl + "/bom/ifs/modifyBomIfsItemToIfs"; |
|
|
|
ResponseData updateBomComponentResponse = HttpClientUtil.doPostByRawWithPLM(updateBomComponentURL, bomIfsItem); |
|
|
|
if (!"200".equals(updateBomComponentResponse.getCode())) { |
|
|
|
throw new RuntimeException("IFS BomItem修改异常:" + updateBomComponentResponse.getMsg()); |
|
|
|
Map<String, String> updateBomComponentResponse = bomServiceBean.modifyBomItem(srv, bomIfsItem); |
|
|
|
if (!"200".equals(updateBomComponentResponse.get("resultCode"))) { |
|
|
|
throw new RuntimeException("IFS BomItem修改异常:" + updateBomComponentResponse.get("resultMsg")); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
@ -826,17 +829,15 @@ public class BomManagementServiceImpl extends ServiceImpl<BomManagementMapper, B |
|
|
|
bomManagementMapper.deletemanufStructCostDistribByComponentPartNo(inData); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if (dataUrl) { |
|
|
|
if (!bomDetailList.isEmpty() && "Y".equals(bomDetailList.get(0).getOfficialFlag())) { |
|
|
|
String deleteBomComponentURL = apiUrl + "/bom/ifs/removeBomIfsItemsToIfs"; |
|
|
|
ResponseData deleteBomComponentResponse = HttpClientUtil.doPostByRawWithPLM(deleteBomComponentURL, bomIfsItems); |
|
|
|
if (!"200".equals(deleteBomComponentResponse.getCode())) { |
|
|
|
throw new RuntimeException("ifs BomItem删除异常:" + deleteBomComponentResponse.getMsg()); |
|
|
|
Server srv = getIfsServer(data.getUpdateBy()); |
|
|
|
Map<String, String> deleteBomComponentResponse = bomServiceBean.removeBomItems(srv, bomIfsItems); |
|
|
|
if (!"200".equals(deleteBomComponentResponse.get("resultCode"))) { |
|
|
|
throw new RuntimeException("ifs BomItem删除异常:" + deleteBomComponentResponse.get("resultMsg")); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// 查询bom子明细列表 |
|
|
|
BomDetailEntity bomDetail = new BomDetailEntity(); |
|
|
|
BeanUtils.copyProperties(data.getInformationList().get(0),bomDetail); |
|
|
|
@ -1090,6 +1091,7 @@ public class BomManagementServiceImpl extends ServiceImpl<BomManagementMapper, B |
|
|
|
bomManagementMapper.updateBomDetailOfficialFlag(data); |
|
|
|
|
|
|
|
if (dataUrl) { |
|
|
|
Server srv = getIfsServer(data.getUpdateBy()); |
|
|
|
// 判断是否已同步BomHeader |
|
|
|
BomHeaderEntity bomHeader = bomManagementMapper.selectOne(new QueryWrapper<BomHeaderEntity>().eq("site", data.getSite()).eq("part_no", data.getPartNo()).eq("eng_chg_level", data.getEngChgLevel()).eq("bom_type", data.getBomType())); |
|
|
|
BomIfsHeader bomIfsHeader = new BomIfsHeader(); |
|
|
|
@ -1100,19 +1102,16 @@ public class BomManagementServiceImpl extends ServiceImpl<BomManagementMapper, B |
|
|
|
bomIfsHeader.setEffPhaseInDate(DateUtils.format(bomHeader.getEffPhaseInDate())); |
|
|
|
bomIfsHeader.setEffPhaseOutDate(DateUtils.format(bomHeader.getEffPhaseOutDate())); |
|
|
|
bomIfsHeader.setNoteText(bomHeader.getNoteText()); |
|
|
|
String getBomHeaderURL = apiUrl + "/bom/ifs/getBomHeader"; |
|
|
|
ResponseData getBomHeaderResponse = HttpClientUtil.doPostByRawWithPLM(getBomHeaderURL, bomIfsHeader); |
|
|
|
if (!"200".equals(getBomHeaderResponse.getCode())) { // 未同步 |
|
|
|
String addBomHeaderURL = apiUrl + "/bom/ifs/syncBomHeaderToIfs"; |
|
|
|
ResponseData addBomHeaderResponse = HttpClientUtil.doPostByRawWithPLM(addBomHeaderURL, bomIfsHeader); |
|
|
|
if (!"200".equals(addBomHeaderResponse.getCode())) { |
|
|
|
throw new RuntimeException("IFS BomHeader新增异常:" + addBomHeaderResponse.getMsg()); |
|
|
|
Map<String, String> getBomHeaderResponse = bomServiceBean.getBomHeader(srv, bomIfsHeader); |
|
|
|
if (!"200".equals(getBomHeaderResponse.get("resultCode"))) { // 新增 |
|
|
|
Map<String, String> addBomHeaderResponse = bomServiceBean.syncBomHeader(srv, bomIfsHeader); |
|
|
|
if (!"200".equals(addBomHeaderResponse.get("resultCode"))) { |
|
|
|
throw new RuntimeException("IFS BomHeader新增异常:" + addBomHeaderResponse.get("resultMsg")); |
|
|
|
} |
|
|
|
} else { // 修改 |
|
|
|
String updateBomHeaderURL = apiUrl + "/bom/ifs/modifyBomHeaderToIfs"; |
|
|
|
ResponseData updateBomHeaderResponse = HttpClientUtil.doPostByRawWithPLM(updateBomHeaderURL, bomIfsHeader); |
|
|
|
if (!"200".equals(updateBomHeaderResponse.getCode())) { |
|
|
|
throw new RuntimeException("IFS BomHeader修改异常:" + updateBomHeaderResponse.getMsg()); |
|
|
|
Map<String, String> updateBomHeaderResponse = bomServiceBean.modifyBomHeader(srv, bomIfsHeader); |
|
|
|
if (!"200".equals(updateBomHeaderResponse.get("resultCode"))) { |
|
|
|
throw new RuntimeException("IFS BomHeader修改异常:" + updateBomHeaderResponse.get("resultMsg")); |
|
|
|
} |
|
|
|
} |
|
|
|
// 判断是否已同步bomDetail |
|
|
|
@ -1124,28 +1123,24 @@ public class BomManagementServiceImpl extends ServiceImpl<BomManagementMapper, B |
|
|
|
bomIfsAlternative.setAlternativeNo(data.getAlternativeNo()); |
|
|
|
bomIfsAlternative.setAlternativeDesc(data.getAlternativeDescription()); |
|
|
|
bomIfsAlternative.setNoteText(data.getDetailNoteText()); |
|
|
|
String getBomDetailURL = apiUrl + "/bom/ifs/getBomAlternative"; |
|
|
|
ResponseData getBomDetailResponse = HttpClientUtil.doPostByRawWithPLM(getBomDetailURL, bomIfsAlternative); |
|
|
|
if (!"200".equals(getBomDetailResponse.getCode())) { // 未同步 |
|
|
|
String addBomDetailURL = apiUrl + "/bom/ifs/syncBomAlternativeToIfs"; |
|
|
|
ResponseData addBomDetailResponse = HttpClientUtil.doPostByRawWithPLM(addBomDetailURL, bomIfsAlternative); |
|
|
|
if (!"200".equals(addBomDetailResponse.getCode())) { |
|
|
|
throw new RuntimeException("IFS BomAlternative新增异常:" + addBomDetailResponse.getMsg()); |
|
|
|
Map<String, String> getBomDetailResponse = bomServiceBean.getBomAlternative(srv, bomIfsAlternative); |
|
|
|
if (!"200".equals(getBomDetailResponse.get("resultCode"))) { // 新增 |
|
|
|
Map<String, String> addBomDetailResponse = bomServiceBean.syncBomAlternative(srv, bomIfsAlternative); |
|
|
|
if (!"200".equals(addBomDetailResponse.get("resultCode"))) { |
|
|
|
throw new RuntimeException("IFS BomAlternative新增异常:" + addBomDetailResponse.get("resultMsg")); |
|
|
|
} |
|
|
|
} else { |
|
|
|
String updateBomDetailURL = apiUrl + "/bom/ifs/modifyBomAlternativeToIfs"; |
|
|
|
ResponseData updateBomDetailResponse = HttpClientUtil.doPostByRawWithPLM(updateBomDetailURL, bomIfsAlternative); |
|
|
|
if (!"200".equals(updateBomDetailResponse.getCode())) { |
|
|
|
throw new RuntimeException("IFS BomAlternative修改异常:" + updateBomDetailResponse.getMsg()); |
|
|
|
Map<String, String> updateBomDetailResponse = bomServiceBean.modifyBomAlternative(srv, bomIfsAlternative); |
|
|
|
if (!"200".equals(updateBomDetailResponse.get("resultCode"))) { |
|
|
|
throw new RuntimeException("IFS BomAlternative修改异常:" + updateBomDetailResponse.get("resultMsg")); |
|
|
|
} |
|
|
|
} |
|
|
|
// 同步bomComponent |
|
|
|
List<BomIfsItem> componentList = bomManagementMapper.getBomComponent(data); |
|
|
|
if (!componentList.isEmpty()) { |
|
|
|
String addBomComponentURL = apiUrl + "/bom/ifs/syncBomIfsItemsToIfs"; |
|
|
|
ResponseData addBomComponentResponse = HttpClientUtil.doPostByRawWithPLM(addBomComponentURL, componentList); |
|
|
|
if (!"200".equals(addBomComponentResponse.getCode())) { |
|
|
|
throw new RuntimeException("IFS Bom子物料新增异常:" + addBomComponentResponse.getMsg()); |
|
|
|
Map<String, String> addBomComponentResponse = bomServiceBean.syncBomItems(srv, componentList); |
|
|
|
if (!"200".equals(addBomComponentResponse.get("resultCode"))) { |
|
|
|
throw new RuntimeException("IFS Bom子物料新增异常:" + addBomComponentResponse.get("resultMsg")); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|