|
|
|
@ -1,9 +1,10 @@
|
|
|
|
|
package com.xisc.pm.app.service.impl;
|
|
|
|
|
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
|
|
import com.xisc.pm.api.dto.PmPdRecDTO;
|
|
|
|
|
import com.xisc.pm.api.dto.PmPdSlabSplitDTO;
|
|
|
|
|
import com.xisc.pm.api.dto.PmProContYieldDTO;
|
|
|
|
|
import com.google.common.collect.Maps;
|
|
|
|
|
import com.xisc.pm.api.dto.*;
|
|
|
|
|
import com.xisc.pm.api.dto.ctevent.ProContBoardEndDTO;
|
|
|
|
|
import com.xisc.pm.api.dto.ctevent.ProContOverDTO;
|
|
|
|
|
import com.xisc.pm.api.dto.model.*;
|
|
|
|
|
import com.xisc.pm.app.service.PmPdRecService;
|
|
|
|
|
import com.xisc.pm.app.service.strategy.PdMatTypeStrategyFactory;
|
|
|
|
@ -11,10 +12,13 @@ import com.xisc.pm.app.service.strategy.pdmattype.PdMatTypeStrategy;
|
|
|
|
|
import com.xisc.pm.domain.entity.*;
|
|
|
|
|
import com.xisc.pm.domain.repository.*;
|
|
|
|
|
import com.xisc.pm.domain.vo.MatStatusModifyVO;
|
|
|
|
|
import com.xisc.pm.infra.client.EventClient;
|
|
|
|
|
import com.xisc.pm.infra.client.MmEventClient;
|
|
|
|
|
import com.xisc.pm.infra.constant.Constants;
|
|
|
|
|
import com.xisc.pm.infra.constant.CtEventConstants;
|
|
|
|
|
import com.xisc.pm.infra.constant.PmPlateConstants;
|
|
|
|
|
import com.xisc.pm.infra.enums.PdEventType;
|
|
|
|
|
import com.xisc.pm.infra.enums.PdProdFlag;
|
|
|
|
|
import com.xisc.pm.infra.mapper.SubMapper;
|
|
|
|
|
import com.xisc.pm.app.service.SubService;
|
|
|
|
|
import com.xisc.pm.infra.util.BeanUtils;
|
|
|
|
@ -28,8 +32,10 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
|
|
import java.math.RoundingMode;
|
|
|
|
|
import java.util.*;
|
|
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
@Service
|
|
|
|
|
public class SubServiceImpl implements SubService {
|
|
|
|
@ -82,6 +88,12 @@ public class SubServiceImpl implements SubService {
|
|
|
|
|
@Autowired
|
|
|
|
|
private PmPdRecService pmPdRecService;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private PmProContRepository pmProContRepository;
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
protected EventClient eventClient;
|
|
|
|
|
|
|
|
|
|
// 获取板坯信息
|
|
|
|
|
@Override
|
|
|
|
|
public List<SlabInfoDO> getSlabInfo(SubParams subParams) {
|
|
|
|
@ -232,25 +244,25 @@ public class SubServiceImpl implements SubService {
|
|
|
|
|
|
|
|
|
|
//炉次工序成分代表实绩表
|
|
|
|
|
@Override
|
|
|
|
|
public List<QeTqHeatcheStandResultDO> getQeTqHeatcheStandResult(){
|
|
|
|
|
public List<QeTqHeatcheStandResultDO> getQeTqHeatcheStandResult() {
|
|
|
|
|
return subMapper.getQeTqHeatcheStandResult();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//炉次待委托表
|
|
|
|
|
@Override
|
|
|
|
|
public List<QeTqPonoWaitTestDO> getQeTqPonoWaitTest(){
|
|
|
|
|
public List<QeTqPonoWaitTestDO> getQeTqPonoWaitTest() {
|
|
|
|
|
return subMapper.getQeTqPonoWaitTest();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//坯料低倍委托实绩表
|
|
|
|
|
@Override
|
|
|
|
|
public List<QeTqSlabMacroResultDO> getQeTqSlabMacroResult(){
|
|
|
|
|
public List<QeTqSlabMacroResultDO> getQeTqSlabMacroResult() {
|
|
|
|
|
return subMapper.getQeTqSlabMacroResult();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//连铸板坯生产规格基准表
|
|
|
|
|
@Override
|
|
|
|
|
public List<PmSlabSpecBt> getPmSlabSpecBt(){
|
|
|
|
|
public List<PmSlabSpecBt> getPmSlabSpecBt() {
|
|
|
|
|
return subMapper.getPmSlabSpecBt();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -426,104 +438,190 @@ public class SubServiceImpl implements SubService {
|
|
|
|
|
return subMapper.getPmThickAddvBt();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
|
|
public void SaveData(SlabInfoDO p,List<PmPdSlab> pmPdSlabDOList, List<PmPdPlateCut> pmPdPlateCutDOList, List<PmPdBlockPos> pmPdBlockPosDOList, List<PmPdContSum> pmPdContSumDOList, List<PmSmallPltPos> pmSmallPltPosDOList, List<PmCmdSlab> pmCmdSlabDOList, List<PmCmdLargePlt> pmCmdLargePltDOList, List<PmCmdCont> pmCmdContDOList, List<PmCmdSmallPlt> pmCmdSmallPltDOList, List<PmSubHis> plistpmSubHisDO, List<PmSubOrd> plistpmSubOrdDO, List<PmPdRecDTO> pmPdRecDTOList, Long organizationId) {
|
|
|
|
|
|
|
|
|
|
// 调用mm接口
|
|
|
|
|
// 查询MM_SLAB 信息获取板坯信息
|
|
|
|
|
PmPdSlabSplitDTO pmPdSlabSplitDTO = pmPdSlabRepository.selectMmSlabBySlabId(p.getSlabId(),p.getTenantId());
|
|
|
|
|
|
|
|
|
|
// 查询板坯信息表。第一次查询可能无值
|
|
|
|
|
PmPdSlabInfo pmPdSlabInfo = pmPdSlabInfoRepository.selectBySlabNo(p.getSlabNo(), p.getTenantId());
|
|
|
|
|
|
|
|
|
|
if (pmPdSlabInfo == null) {
|
|
|
|
|
pmPdSlabInfo = buildPmPdSlabInfo(pmPdSlabSplitDTO , p.getSlabNo() , p.getMscLineNo() , p.getTenantId());
|
|
|
|
|
pmPdSlabInfoRepository.insertSelective(pmPdSlabInfo);
|
|
|
|
|
System.out.println("pmPdSlabInfo表 保存成功");
|
|
|
|
|
// 轧钢模块“在制品材料管理封锁事件接口"
|
|
|
|
|
callMatStatusModify(pmPdSlabInfo);
|
|
|
|
|
System.out.println("mm模块接口 调用成功");
|
|
|
|
|
}
|
|
|
|
|
public void SaveData(SlabInfoDO p, List<PmPdSlab> pmPdSlabDOList, List<PmPdPlateCut> pmPdPlateCutDOList, List<PmPdBlockPos> pmPdBlockPosDOList, List<PmPdContSum> pmPdContSumDOList, List<PmSmallPltPos> pmSmallPltPosDOList, List<PmCmdSlab> pmCmdSlabDOList, List<PmCmdLargePlt> pmCmdLargePltDOList, List<PmCmdCont> pmCmdContDOList, List<PmCmdSmallPlt> pmCmdSmallPltDOList, List<PmSubHis> plistpmSubHisDO, List<PmSubOrd> plistpmSubOrdDO, List<PmPdRecDTO> pmPdRecDTOList, Long organizationId) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//抛合同事件
|
|
|
|
|
String bizId = pmPdRecDTOList.get(0).getKeyvalue1();
|
|
|
|
|
String key = String.format(PmPlateConstants.YIELD_EXEC_LOCK_KEY, organizationId.toString() , bizId);
|
|
|
|
|
if(redisHelper.hasKey(key)) {
|
|
|
|
|
String key = String.format(PmPlateConstants.YIELD_EXEC_LOCK_KEY, organizationId.toString(), bizId);
|
|
|
|
|
if (redisHelper.hasKey(key)) {
|
|
|
|
|
throw new CommonException("pm.pm_pro_cont_043", bizId);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PdMatTypeStrategy pdMatTypeStrategy = PdMatTypeStrategyFactory.matchStrategy("S");
|
|
|
|
|
try {
|
|
|
|
|
// 抛合同组板事件
|
|
|
|
|
pmPdRecService.createEvent(organizationId, pmPdRecDTOList
|
|
|
|
|
, PdEventType.HP04, Constants.SYSTEM_PD_CODE, pdMatTypeStrategy.pdProgram());
|
|
|
|
|
redisHelper.strSet(key, "1", 30L, TimeUnit.SECONDS);
|
|
|
|
|
// 抛组板履历事件
|
|
|
|
|
List<PmPdRecDTO> pmPdRecs = new ArrayList<>();
|
|
|
|
|
CustomUserDetails userDetails = DetailsHelper.getUserDetails();
|
|
|
|
|
for (PmPdContSum contSum : pmPdContSumDOList) {
|
|
|
|
|
PmPdRecDTO pmPdRecDTO = new PmPdRecDTO();
|
|
|
|
|
pmPdRecDTO.setOrderNo(contSum.getOrderNo());
|
|
|
|
|
pmPdRecDTO.setEventMaker(userDetails == null ? "" : userDetails.getUserId().toString());
|
|
|
|
|
pmPdRecDTO.setMscLineNo(pmPdRecDTOList.get(0).getMscLineNo());
|
|
|
|
|
pmPdRecDTO.setKeyvalue1(bizId);
|
|
|
|
|
pmPdRecDTO.setKeyvalue1Desc(PmPdRecDTO.DESC_VIRTUAL_SLAB_NO);
|
|
|
|
|
pmPdRecDTO.setMatNo(bizId);
|
|
|
|
|
pmPdRecDTO.setQty(contSum.getOrderPlateNum());
|
|
|
|
|
pmPdRecs.add(pmPdRecDTO);
|
|
|
|
|
}
|
|
|
|
|
pmPdRecService.createEvent(organizationId, pmPdRecs, PdEventType.HP10,
|
|
|
|
|
Constants.SYSTEM_PD_CODE, "余材板坯组板");
|
|
|
|
|
System.out.println("抛合同组板事件 执行成功");
|
|
|
|
|
// 抛合同
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} finally {
|
|
|
|
|
// 抛合同组板释放事件
|
|
|
|
|
pmPdRecService.createEvent(organizationId, pmPdRecDTOList
|
|
|
|
|
, PdEventType.HP05, Constants.SYSTEM_PD_CODE, pdMatTypeStrategy.pdProgram());
|
|
|
|
|
redisHelper.delKey(key);
|
|
|
|
|
}
|
|
|
|
|
//抛合同事件
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(plistpmSubHisDO.size() > 0){
|
|
|
|
|
if (plistpmSubHisDO.size() > 0) {
|
|
|
|
|
pmSubHisRepository.batchInsertSelective(plistpmSubHisDO);
|
|
|
|
|
System.out.println("pmSubHis表 保存成功");
|
|
|
|
|
}
|
|
|
|
|
if(plistpmSubOrdDO.size() > 0){
|
|
|
|
|
if (plistpmSubOrdDO.size() > 0) {
|
|
|
|
|
pmSubOrdRepository.batchInsertSelective(plistpmSubOrdDO);
|
|
|
|
|
System.out.println("pmSubOrd表 保存成功");
|
|
|
|
|
}
|
|
|
|
|
//
|
|
|
|
|
if(pmPdSlabDOList.size()>0){
|
|
|
|
|
if (pmPdSlabDOList.size() > 0) {
|
|
|
|
|
pmPdSlabRepository.batchInsertSelective(pmPdSlabDOList);
|
|
|
|
|
System.out.println("PmPdSlab表 保存成功");
|
|
|
|
|
}
|
|
|
|
|
if(pmPdPlateCutDOList.size()>0){
|
|
|
|
|
if (pmPdPlateCutDOList.size() > 0) {
|
|
|
|
|
pmPdPlateCutRepository.batchInsertSelective(pmPdPlateCutDOList);
|
|
|
|
|
System.out.println("PmPdPlateCut 大板粗切位置 保存成功");
|
|
|
|
|
}
|
|
|
|
|
if(pmPdBlockPosDOList.size()>0){
|
|
|
|
|
if (pmPdBlockPosDOList.size() > 0) {
|
|
|
|
|
pmPdBlockPosRepository.batchInsertSelective(pmPdBlockPosDOList);
|
|
|
|
|
System.out.println("PmPdBlockPos 组合子板位置表 保存成功");
|
|
|
|
|
}
|
|
|
|
|
if(pmPdContSumDOList.size()>0){
|
|
|
|
|
if (pmPdContSumDOList.size() > 0) {
|
|
|
|
|
pmPdContSumRepository.batchInsertSelective(pmPdContSumDOList);
|
|
|
|
|
System.out.println("PmPdContSum 合同总量表 保存成功");
|
|
|
|
|
}
|
|
|
|
|
if(pmSmallPltPosDOList.size()>0){
|
|
|
|
|
if (pmSmallPltPosDOList.size() > 0) {
|
|
|
|
|
pmSmallPltPosRepository.batchInsertSelective(pmSmallPltPosDOList);
|
|
|
|
|
System.out.println("PmSmallPltPos 命令小板位置表 保存成功");
|
|
|
|
|
}
|
|
|
|
|
if(pmCmdSlabDOList.size()>0){
|
|
|
|
|
if (pmCmdSlabDOList.size() > 0) {
|
|
|
|
|
pmCmdSlabRepository.batchInsertSelective(pmCmdSlabDOList);
|
|
|
|
|
System.out.println("PmCmdSlab 保存成功");
|
|
|
|
|
}
|
|
|
|
|
if(pmCmdLargePltDOList.size()>0){
|
|
|
|
|
if (pmCmdLargePltDOList.size() > 0) {
|
|
|
|
|
pmCmdLargePltRepository.batchInsertSelective(pmCmdLargePltDOList);
|
|
|
|
|
System.out.println("pmCmdLargePltDO 命令大板 保存成功");
|
|
|
|
|
}
|
|
|
|
|
if(pmCmdContDOList.size()>0){
|
|
|
|
|
if (pmCmdContDOList.size() > 0) {
|
|
|
|
|
pmCmdContRepository.batchInsertSelective(pmCmdContDOList);
|
|
|
|
|
System.out.println("PmCmdCont 命令参数 保存成功");
|
|
|
|
|
}
|
|
|
|
|
if(pmCmdSmallPltDOList.size()>0){
|
|
|
|
|
if (pmCmdSmallPltDOList.size() > 0) {
|
|
|
|
|
pmCmdSmallPltRepository.batchInsertSelective(pmCmdSmallPltDOList);
|
|
|
|
|
System.out.println("PmCmdSmallPlt 命令小板表 保存成功");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 调用mm接口
|
|
|
|
|
// 查询MM_SLAB 信息获取板坯信息
|
|
|
|
|
PmPdSlabSplitDTO pmPdSlabSplitDTO = pmPdSlabRepository.selectMmSlabBySlabId(p.getSlabId(), p.getTenantId());
|
|
|
|
|
// 查询板坯信息表。第一次查询可能无值
|
|
|
|
|
PmPdSlabInfo pmPdSlabInfo = pmPdSlabInfoRepository.selectBySlabNo(p.getSlabNo(), p.getTenantId());
|
|
|
|
|
|
|
|
|
|
pmPdSlabInfo = buildPmPdSlabInfo(pmPdSlabSplitDTO, p.getSlabNo(), p.getMscLineNo(), p.getTenantId());
|
|
|
|
|
pmPdSlabInfoRepository.insertSelective(pmPdSlabInfo);
|
|
|
|
|
System.out.println("pmPdSlabInfo表 保存成功");
|
|
|
|
|
|
|
|
|
|
//抛合同
|
|
|
|
|
zbCtEventRec(organizationId, pmPdSlabDOList, pmCmdLargePltDOList, pmCmdSlabDOList, pmSmallPltPosDOList);
|
|
|
|
|
System.out.println("抛合同事件完成");
|
|
|
|
|
|
|
|
|
|
// 轧钢模块“在制品材料管理封锁事件接口"
|
|
|
|
|
callMatStatusModify(pmPdSlabInfo);
|
|
|
|
|
System.out.println("mm模块接口 调用成功");
|
|
|
|
|
System.out.println("程序执行完成!");
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void zbCtEventRec(Long organizationId, List<PmPdSlab> pmPdSlabDOList, List<PmCmdLargePlt> pmCmdLargePltDOList, List<PmCmdSlab> pmCmdSlabDOList, List<PmSmallPltPos> pmSmallPltPosDOList) {
|
|
|
|
|
for (PmPdSlab pmPdSlab : pmPdSlabDOList) {
|
|
|
|
|
List<PmSmallPltPos> smallPltPosList = pmSmallPltPosDOList.stream()
|
|
|
|
|
.filter(p -> p.getPdMatNo().equals(pmPdSlab.getVirtualSlabNo()))
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
List<PmCmdLargePlt> largePltList = pmCmdLargePltDOList.stream()
|
|
|
|
|
.filter(p -> p.getPonoSlabNo().equals(pmPdSlab.getVirtualSlabNo()))
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
List<PmCmdSlab> slabList = pmCmdSlabDOList.stream()
|
|
|
|
|
.filter(p -> p.getVirtualSlabNo().equals(pmPdSlab.getVirtualSlabNo()))
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
List<String> orderNoList = smallPltPosList.stream().map(p -> p.getOrderNo()).collect(Collectors.toList());
|
|
|
|
|
Map<String, PmProContFilterResposeDTO> filterOrderMap = pmProContRepository.orderFilterMap(orderNoList, organizationId, pmPdSlab.getMscLineNo());
|
|
|
|
|
List<ProContBoardEndDTO> boardEndEventList = new ArrayList<>();
|
|
|
|
|
PmProContFilterResposeDTO axisPmProCont = filterOrderMap.get(orderNoList.get(0));
|
|
|
|
|
|
|
|
|
|
// 虚拟板坯维度
|
|
|
|
|
boardEndEventList.add(new ProContBoardEndDTO(axisPmProCont.getOrderNo()).setMatNo(pmPdSlab.getVirtualSlabNo())
|
|
|
|
|
.setLen(pmPdSlab.getPreCleanSlabLen()).setMoMatNo(null)
|
|
|
|
|
.setMscLineNo(pmPdSlab.getMscLineNo())
|
|
|
|
|
.setPdMatStatus(Constants.PdStatusHp.PD_STATUS_HP_12).setPpFlag(PdProdFlag.VIRTUAL_SLAB.getCode())
|
|
|
|
|
.setThk(slabList.get(0).getMoldThick())
|
|
|
|
|
.setWid(slabList.get(0).getMoldWid())
|
|
|
|
|
.setWgt(pmPdSlab.getPreCleanSlabWt())
|
|
|
|
|
.setWholeBacklogCode(axisPmProCont.getWholeBacklogCode())
|
|
|
|
|
.setStNo(axisPmProCont.getStNo())
|
|
|
|
|
.setSgSign(axisPmProCont.getSgSign())
|
|
|
|
|
.setProcCd(Constants.ProdcCd.CD_13B));
|
|
|
|
|
|
|
|
|
|
BigDecimal weight = largePltList.get(0).getRollAimLen().multiply(largePltList.get(0).getRollAimThick()).multiply(largePltList.get(0).getRollAimWidth()).multiply(new BigDecimal(7.85)).divide(new BigDecimal(1000000000), PmPlateConstants.WT_SCALE, RoundingMode.HALF_UP);
|
|
|
|
|
// 大板维度
|
|
|
|
|
boardEndEventList.add(new ProContBoardEndDTO(axisPmProCont.getOrderNo()).setMatNo(pmPdSlab.getVirtualSlabNo())
|
|
|
|
|
.setLen(largePltList.get(0).getRollAimLen()).setMoMatNo(null)
|
|
|
|
|
.setMscLineNo(pmPdSlab.getMscLineNo())
|
|
|
|
|
.setPdMatStatus(Constants.PdStatusHp.PD_STATUS_HP_12).setPpFlag(PdProdFlag.VIRTUAL_COMPOSITE_SLAB.getCode())
|
|
|
|
|
.setThk(largePltList.get(0).getRollAimThick())
|
|
|
|
|
.setWid(largePltList.get(0).getRollAimWidth())
|
|
|
|
|
.setWgt(weight)
|
|
|
|
|
.setWholeBacklogCode(axisPmProCont.getWholeBacklogCode())
|
|
|
|
|
.setStNo(axisPmProCont.getStNo())
|
|
|
|
|
.setSgSign(axisPmProCont.getSgSign())
|
|
|
|
|
.setProcCd(Constants.ProdcCd.CD_13B));
|
|
|
|
|
for (PmSmallPltPos pmSmallPltPos : pmSmallPltPosDOList) {
|
|
|
|
|
PmProContFilterResposeDTO pmProContFilterResposeDTO = filterOrderMap.get(pmSmallPltPos.getOrderNo());
|
|
|
|
|
// 小板维度
|
|
|
|
|
boardEndEventList
|
|
|
|
|
.add(new ProContBoardEndDTO(pmSmallPltPos.getOrderNo()).setMatNo(pmPdSlab.getVirtualSlabNo() + pmSmallPltPos.getSmallPlateDivNo())
|
|
|
|
|
.setLen(pmSmallPltPos.getOrderLen()).setMoMatNo(pmSmallPltPos.getPdMatNo())
|
|
|
|
|
.setMscLineNo(pmPdSlab.getMscLineNo())
|
|
|
|
|
.setPdMatStatus(Constants.PdStatusHp.PD_STATUS_HP_12).setPpFlag(PdProdFlag.SMALL_POS_VIRTUAL_SLAB.getCode())
|
|
|
|
|
.setThk(pmSmallPltPos.getOrderThick()).setWid(pmSmallPltPos.getOrderWidth())
|
|
|
|
|
.setWgt(pmProContFilterResposeDTO.getOrderUnitAimWt())
|
|
|
|
|
.setWholeBacklogCode(axisPmProCont.getWholeBacklogCode())
|
|
|
|
|
.setStNo(pmProContFilterResposeDTO.getStNo())
|
|
|
|
|
.setSgSign(pmProContFilterResposeDTO.getSgSign())
|
|
|
|
|
.setProcCd(Constants.ProdcCd.CD_13B));
|
|
|
|
|
}
|
|
|
|
|
eventClient.addEvent(CtEventConstants.PM_CONTRACT_RESIDUE_BOARD_END, boardEndEventList);
|
|
|
|
|
eventClient.sendEvent(organizationId);
|
|
|
|
|
System.out.println("抛合同接口 执行成功");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 组装板坯信息表数据
|
|
|
|
|
*
|
|
|
|
|
* @param pmPdSlabSplitDTO
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
private PmPdSlabInfo buildPmPdSlabInfo(PmPdSlabSplitDTO pmPdSlabSplitDTO , String slabNo , String mscLineNo , Long tenantId) {
|
|
|
|
|
private PmPdSlabInfo buildPmPdSlabInfo(PmPdSlabSplitDTO pmPdSlabSplitDTO, String slabNo, String mscLineNo, Long tenantId) {
|
|
|
|
|
PmPdSlabInfo pmPdSlabInfo = BeanUtils.copy(pmPdSlabSplitDTO, PmPdSlabInfo.class);
|
|
|
|
|
pmPdSlabInfo.setOuBacklogCode("3");
|
|
|
|
|
pmPdSlabInfo.setOuBacklogSeq(13L);
|
|
|
|
@ -547,7 +645,7 @@ public class SubServiceImpl implements SubService {
|
|
|
|
|
pmPdSlabInfo.setTenantId(tenantId);
|
|
|
|
|
// 若MAT_NO首位为‘G’或第三位为‘5’,则为‘A’,否则为‘1’
|
|
|
|
|
String matNo = pmPdSlabSplitDTO.getSlabNo();
|
|
|
|
|
if(matNo.charAt(0) == 'G' || matNo.charAt(2) == '5') {
|
|
|
|
|
if (matNo.charAt(0) == 'G' || matNo.charAt(2) == '5') {
|
|
|
|
|
pmPdSlabInfo.setCcType("A");
|
|
|
|
|
} else {
|
|
|
|
|
pmPdSlabInfo.setCcType(Constants.CcType.TYPE_1);
|
|
|
|
@ -573,7 +671,7 @@ public class SubServiceImpl implements SubService {
|
|
|
|
|
informationMap.put("holdMaker", DetailsHelper.getUserDetails().getUserId());
|
|
|
|
|
informationMap.put("plateLockRegion", "Q77");
|
|
|
|
|
matStatusModifyVO.setMatInformationString(JSONObject.toJSONString(informationMap));
|
|
|
|
|
mmEventClient.matStatusModify(pmPdSlabInfo.getTenantId(), Constants.EventCode.MM_PM_PROD_MANAGEMENT_BLOCKED_IN_PROCESS_MATERIAL,matStatusModifyVO);
|
|
|
|
|
mmEventClient.matStatusModify(pmPdSlabInfo.getTenantId(), Constants.EventCode.MM_PM_PROD_MANAGEMENT_BLOCKED_IN_PROCESS_MATERIAL, matStatusModifyVO);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|