diff --git a/XG_Project1/src/main/java/com/xisc/pm/api/controller/v1/SubController.java b/XG_Project1/src/main/java/com/xisc/pm/api/controller/v1/SubController.java index e1ff780..1d83582 100644 --- a/XG_Project1/src/main/java/com/xisc/pm/api/controller/v1/SubController.java +++ b/XG_Project1/src/main/java/com/xisc/pm/api/controller/v1/SubController.java @@ -200,117 +200,119 @@ public class SubController { @ApiOperation("数据处理") @PostMapping("/SubData1") @Permission(level = ResourceLevel.ORGANIZATION) - public JsonData SubData1( PmSubHis dtoListpr, @PathVariable Long organizationId) { - SecurityTokenHelper.validTokenIgnoreInsert(dtoListpr); - String strSlab = dtoListpr.getSlabNo(); + public JsonData SubData1(@RequestBody PmSubHis pmSubHis, @PathVariable Long organizationId) { + SecurityTokenHelper.validTokenIgnoreInsert(pmSubHis); + String strSlab = pmSubHis + .getSlabNo(); SubParams subParams = new SubParams(); subParams.setSlabNo(strSlab); + subService.autoChkChmAndLowApi(organizationId,subParams); //获取所有数据 - GetDataInfo(subParams); - plistChmChkRsult=new ArrayList<>(); - plistLowChkRsult=new ArrayList<>(); - plistSlab.forEach(p -> { - - try { - List> listOfDtoLists = new ArrayList<>(); - List dtoListChm = new ArrayList(); - for (PmProCont gpo : plistOrder) { - - if (gpo.getOrderNo() == null || gpo.getOrderNo().equals("")) { - - } - //验证过不需要再验证 - if (plistChmChkRsult.stream().anyMatch(dto -> dto.getOrderNo().equals(gpo.getOrderNo()) && dto.getPono().equals(p.getPono()))){ - continue; - } - QdMatchParamDTO phyFurnaceChemicalMatchDTO = new QdMatchParamDTO(); - phyFurnaceChemicalMatchDTO.setOrderNo(gpo.getOrderNo()); - phyFurnaceChemicalMatchDTO.setPono(p.getPono()); - dtoListChm.add(phyFurnaceChemicalMatchDTO); - if (dtoListChm.size() == 500) { - listOfDtoLists.add(new ArrayList<>(dtoListChm)); - dtoListChm.clear(); - } - } - - // 如果 dtoListChm 中还有剩余的元素,将其添加到 listOfDtoLists 中 - if (!dtoListChm.isEmpty()) { - listOfDtoLists.add(new ArrayList<>(dtoListChm)); - } - - listOfDtoLists.forEach(dtoList -> { - - List reslutChm = qdOrderClient.phyFurnaceChemicalMatchApi(organizationId, - dtoList); - if (reslutChm != null && !reslutChm.isEmpty()) { - if (reslutChm != null && !reslutChm.isEmpty()) { - for (QdMatchParamDTO qdMatchParamDTO : reslutChm) { - if (!plistChmChkRsult.stream().anyMatch(m -> m.getPono().equals(p.getPono()) && m.getOrderNo().equals(qdMatchParamDTO.getOrderNo()))) { - ChkChmResult CR = new ChkChmResult(); - CR.setPono(p.getPono()); - CR.setOrderNo(qdMatchParamDTO.getOrderNo()); - CR.setChmresult(qdMatchParamDTO.getResult()); - plistChmChkRsult.add(CR); - } - } - } - } - - }); - - } catch (Exception e) { - logger.info("错误信息:"+e); - } - - try { - List> listOfDtoLists = new ArrayList<>(); - List dtoListLow = new ArrayList(); - for (PmProCont gpo : plistOrder) { - if (gpo.getOrderNo() == null || gpo.getOrderNo().equals("")) { - continue; - } - //验证过不需要再验证 - if (plistLowChkRsult.stream().anyMatch(dto -> dto.getOrderNo().equals(gpo.getOrderNo()) && dto.getPono().equals(p.getPono()))){ - continue; - } - QdSurplusLowMagnificationDTO phyFurnaceChemicalMatchDTO = new QdSurplusLowMagnificationDTO(); - phyFurnaceChemicalMatchDTO.setOrderNo(gpo.getOrderNo()); - phyFurnaceChemicalMatchDTO.setPono(p.getPono()); - dtoListLow.add(phyFurnaceChemicalMatchDTO); - if (dtoListLow.size() == 500) { - listOfDtoLists.add(new ArrayList<>(dtoListLow)); - dtoListLow.clear(); - } - } - // 如果 dtoListChm 中还有剩余的元素,将其添加到 listOfDtoLists 中 - if (!dtoListLow.isEmpty()) { - listOfDtoLists.add(new ArrayList<>(dtoListLow)); - } - - listOfDtoLists.forEach(dtoList -> { - List reslutLow = qdOrderClient.surplusLowMagnificationMatchApi(organizationId, - dtoList); - - if (reslutLow != null && !reslutLow.isEmpty()) { - if (reslutLow != null && !reslutLow.isEmpty()) { - for (QdSurplusLowMagnificationDTO qdSurplusLowMagnificationDTO : reslutLow) { - if (!plistLowChkRsult.stream().anyMatch(m -> m.getPono().equals(p.getPono()) && m.getOrderNo().equals(qdSurplusLowMagnificationDTO.getOrderNo()))) { - ChkLowResult CR = new ChkLowResult(); - CR.setPono(p.getPono()); - CR.setOrderNo(qdSurplusLowMagnificationDTO.getOrderNo()); - CR.setLowresult(qdSurplusLowMagnificationDTO.getResult()); - plistLowChkRsult.add(CR); - } - } - } - } - }); - - } catch (Exception e) { - logger.info("错误信息:"+e); - } - - }); +// GetDataInfo(subParams); +// plistChmChkRsult=new ArrayList<>(); +// plistLowChkRsult=new ArrayList<>(); +// plistSlab.forEach(p -> { +// +// try { +// List> listOfDtoLists = new ArrayList<>(); +// List dtoListChm = new ArrayList(); +// for (PmProCont gpo : plistOrder) { +// +// if (gpo.getOrderNo() == null || gpo.getOrderNo().equals("")) { +// +// } +// //验证过不需要再验证 +// if (plistChmChkRsult.stream().anyMatch(dto -> dto.getOrderNo().equals(gpo.getOrderNo()) && dto.getPono().equals(p.getPono()))){ +// continue; +// } +// QdMatchParamDTO phyFurnaceChemicalMatchDTO = new QdMatchParamDTO(); +// phyFurnaceChemicalMatchDTO.setOrderNo(gpo.getOrderNo()); +// phyFurnaceChemicalMatchDTO.setPono(p.getPono()); +// dtoListChm.add(phyFurnaceChemicalMatchDTO); +// if (dtoListChm.size() == 500) { +// listOfDtoLists.add(new ArrayList<>(dtoListChm)); +// dtoListChm.clear(); +// } +// } +// +// // 如果 dtoListChm 中还有剩余的元素,将其添加到 listOfDtoLists 中 +// if (!dtoListChm.isEmpty()) { +// listOfDtoLists.add(new ArrayList<>(dtoListChm)); +// } +// +// listOfDtoLists.forEach(dtoList -> { +// +// List reslutChm = qdOrderClient.phyFurnaceChemicalMatchApi(organizationId, +// dtoList); +// if (reslutChm != null && !reslutChm.isEmpty()) { +// if (reslutChm != null && !reslutChm.isEmpty()) { +// for (QdMatchParamDTO qdMatchParamDTO : reslutChm) { +// if (!plistChmChkRsult.stream().anyMatch(m -> m.getPono().equals(p.getPono()) && m.getOrderNo().equals(qdMatchParamDTO.getOrderNo()))) { +// ChkChmResult CR = new ChkChmResult(); +// CR.setPono(p.getPono()); +// CR.setOrderNo(qdMatchParamDTO.getOrderNo()); +// CR.setChmresult(qdMatchParamDTO.getResult()); +// plistChmChkRsult.add(CR); +// } +// } +// } +// } +// +// }); +// +// } catch (Exception e) { +// logger.info("错误信息:"+e); +// } +// +// try { +// List> listOfDtoLists = new ArrayList<>(); +// List dtoListLow = new ArrayList(); +// for (PmProCont gpo : plistOrder) { +// if (gpo.getOrderNo() == null || gpo.getOrderNo().equals("")) { +// continue; +// } +// //验证过不需要再验证 +// if (plistLowChkRsult.stream().anyMatch(dto -> dto.getOrderNo().equals(gpo.getOrderNo()) && dto.getPono().equals(p.getPono()))){ +// continue; +// } +// QdSurplusLowMagnificationDTO phyFurnaceChemicalMatchDTO = new QdSurplusLowMagnificationDTO(); +// phyFurnaceChemicalMatchDTO.setOrderNo(gpo.getOrderNo()); +// phyFurnaceChemicalMatchDTO.setPono(p.getPono()); +// dtoListLow.add(phyFurnaceChemicalMatchDTO); +// if (dtoListLow.size() == 500) { +// listOfDtoLists.add(new ArrayList<>(dtoListLow)); +// dtoListLow.clear(); +// } +// } +// // 如果 dtoListChm 中还有剩余的元素,将其添加到 listOfDtoLists 中 +// if (!dtoListLow.isEmpty()) { +// listOfDtoLists.add(new ArrayList<>(dtoListLow)); +// } +// +// listOfDtoLists.forEach(dtoList -> { +// List reslutLow = qdOrderClient.surplusLowMagnificationMatchApi(organizationId, +// dtoList); +// +// if (reslutLow != null && !reslutLow.isEmpty()) { +// if (reslutLow != null && !reslutLow.isEmpty()) { +// for (QdSurplusLowMagnificationDTO qdSurplusLowMagnificationDTO : reslutLow) { +// if (!plistLowChkRsult.stream().anyMatch(m -> m.getPono().equals(p.getPono()) && m.getOrderNo().equals(qdSurplusLowMagnificationDTO.getOrderNo()))) { +// ChkLowResult CR = new ChkLowResult(); +// CR.setPono(p.getPono()); +// CR.setOrderNo(qdSurplusLowMagnificationDTO.getOrderNo()); +// CR.setLowresult(qdSurplusLowMagnificationDTO.getResult()); +// plistLowChkRsult.add(CR); +// } +// } +// } +// } +// }); +// +// } catch (Exception e) { +// logger.info("错误信息:"+e); +// } +// +// }); System.out.println("调用成功"); JsonData xx = new JsonData(); diff --git a/XG_Project1/src/main/java/com/xisc/pm/app/service/SubService.java b/XG_Project1/src/main/java/com/xisc/pm/app/service/SubService.java index 5480d6a..07ba760 100644 --- a/XG_Project1/src/main/java/com/xisc/pm/app/service/SubService.java +++ b/XG_Project1/src/main/java/com/xisc/pm/app/service/SubService.java @@ -4,8 +4,6 @@ import com.xisc.pm.api.dto.PmPdRecDTO; import com.xisc.pm.api.dto.model.*; import com.xisc.pm.domain.entity.*; import com.xisc.pm.domain.vo.util.JsonData; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.bind.annotation.PathVariable; import java.util.List; @@ -133,7 +131,7 @@ public interface SubService { void saveSubLog(String slabNo, long subMode, String subRslt, String subLog, Long organizationId); - void autoChkChmAndLowApi(Long organizationId); + void autoChkChmAndLowApi(Long organizationId, SubParams subParams); // void SaveData(List pmPdSlabDOList, List pmPdPlateCutDOList, List pmPdBlockPosDOList, List pmPdContSumDOList, List pmSmallPltPosDOList, List pmCmdSlabDOList, List pmCmdLargePltDOList, List pmCmdContDOList, List pmCmdSmallPltDOList); diff --git a/XG_Project1/src/main/java/com/xisc/pm/app/service/impl/SubServiceImpl.java b/XG_Project1/src/main/java/com/xisc/pm/app/service/impl/SubServiceImpl.java index e426608..a618f8e 100644 --- a/XG_Project1/src/main/java/com/xisc/pm/app/service/impl/SubServiceImpl.java +++ b/XG_Project1/src/main/java/com/xisc/pm/app/service/impl/SubServiceImpl.java @@ -7,7 +7,6 @@ import com.xisc.pm.api.dto.*; import com.xisc.pm.api.dto.ctevent.ProContBoardEndDTO; import com.xisc.pm.api.dto.model.*; import com.xisc.pm.app.service.PmPdRecService; -import com.xisc.pm.app.service.PmSubCheckChmService; import com.xisc.pm.app.service.strategy.PdMatTypeStrategyFactory; import com.xisc.pm.app.service.strategy.pdmattype.PdMatTypeStrategy; import com.xisc.pm.domain.entity.*; @@ -37,7 +36,6 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.bind.annotation.PathVariable; import java.math.BigDecimal; import java.math.RoundingMode; @@ -5014,13 +5012,123 @@ public class SubServiceImpl implements SubService { } @Override + @Transactional(rollbackFor = Exception.class) //自动化学成分检测与低倍检测 - public void autoChkChmAndLowApi(Long organizationId) { - List slabInfoDOList = subMapper.getSlabInfo(new SubParams()); + public void autoChkChmAndLowApi(Long organizationId, SubParams subParams) { + List slabInfoDOList = subMapper.getSlabInfo(subParams); + System.out.println("板坯数量:" + slabInfoDOList.size() + "时间:" + new Date()); List pmProContList = subMapper.getOrderInfo(); - List pmSubCheckChmList = new ArrayList<>(); - List pmSubCheckLowList = new ArrayList<>(); + System.out.println("订单数量:" + pmProContList.size() + "时间:" + new Date()); + List pmSubCheckChmList = pmSubCheckChmRepository.selectList(new PmSubCheckChm()); + List pmSubCheckLowList = pmSubCheckLowRepository.selectList(new PmSubCheckLow()); + System.out.println("数量:" + pmSubCheckChmList.size() + "---" + pmSubCheckLowList.size() + "时间:" + new Date()); + List pmSubCheckChmResList = new ArrayList<>(); + List pmSubCheckLowResList = new ArrayList<>(); + +// List> listOfDtoLists = new ArrayList<>(); +// List dtoListChm = new ArrayList(); +// +// List> listOfDtoListLows = new ArrayList<>(); +// List dtoListLow = new ArrayList(); +// +// slabInfoDOList.parallelStream().forEach(p -> { +// try { +// +// for (PmProCont gpo : pmProContList) { +// +// if (gpo.getOrderNo() == null || gpo.getOrderNo().equals("")) { +// continue; +// } +//// //验证过不需要再验证 +//// if (pmSubCheckChmResList.stream().anyMatch(dto -> dto.getOrderNo().equals(gpo.getOrderNo()) && dto.getPono().equals(p.getPono()))) { +//// continue; +//// } +// QdMatchParamDTO phyFurnaceChemicalMatchDTO = new QdMatchParamDTO(); +// phyFurnaceChemicalMatchDTO.setOrderNo(gpo.getOrderNo()); +// phyFurnaceChemicalMatchDTO.setPono(p.getPono()); +// dtoListChm.add(phyFurnaceChemicalMatchDTO); +// if (dtoListChm.size() == 500) { +// listOfDtoLists.add(new ArrayList<>(dtoListChm)); +// dtoListChm.clear(); +// } +// } +// // 如果 dtoListChm 中还有剩余的元素,将其添加到 listOfDtoLists 中 +// if (!dtoListChm.isEmpty()) { +// listOfDtoLists.add(new ArrayList<>(dtoListChm)); +// } +// } catch (Exception e) { +// logger.info("错误信息:" + e); +// } +// +// try { +// +// for (PmProCont gpo : pmProContList) { +// if (gpo.getOrderNo() == null || gpo.getOrderNo().equals("")) { +// continue; +// } +//// //验证过不需要再验证 +//// if (pmSubCheckLowResList.stream().anyMatch(dto -> dto.getOrderNo().equals(gpo.getOrderNo()) && dto.getPono().equals(p.getPono()))) { +//// continue; +//// } +// QdSurplusLowMagnificationDTO phyFurnaceChemicalMatchDTO = new QdSurplusLowMagnificationDTO(); +// phyFurnaceChemicalMatchDTO.setOrderNo(gpo.getOrderNo()); +// phyFurnaceChemicalMatchDTO.setPono(p.getPono()); +// dtoListLow.add(phyFurnaceChemicalMatchDTO); +// if (dtoListLow.size() == 500) { +// listOfDtoListLows.add(new ArrayList<>(dtoListLow)); +// dtoListLow.clear(); +// } +// } +// // 如果 dtoListChm 中还有剩余的元素,将其添加到 listOfDtoLists 中 +// if (!dtoListLow.isEmpty()) { +// listOfDtoListLows.add(new ArrayList<>(dtoListLow)); +// } +// } catch (Exception e) { +// logger.info("错误信息:" + e); +// } +// }); +// +// listOfDtoLists.forEach(dtoList -> { +// +// List reslutChm = qdOrderClient.phyFurnaceChemicalMatchApi(organizationId, +// dtoList); +// if (reslutChm != null && !reslutChm.isEmpty()) { +// if (reslutChm != null && !reslutChm.isEmpty()) { +// for (QdMatchParamDTO qdMatchParamDTO : reslutChm) { +// if (!pmSubCheckChmResList.stream().anyMatch(m -> m.getPono().equals(qdMatchParamDTO.getPono()) && m.getOrderNo().equals(qdMatchParamDTO.getOrderNo()))) { +// PmSubCheckChm CR = new PmSubCheckChm(); +// CR.setPono(qdMatchParamDTO.getPono()); +// CR.setOrderNo(qdMatchParamDTO.getOrderNo()); +// CR.setChmResult(qdMatchParamDTO.getResult()); +// pmSubCheckChmResList.add(CR); +// } +// } +// } +// } +// +// }); +// +// listOfDtoListLows.forEach(dtoList -> { +// List reslutLow = qdOrderClient.surplusLowMagnificationMatchApi(organizationId, +// dtoList); +// if (reslutLow != null && !reslutLow.isEmpty()) { +// if (reslutLow != null && !reslutLow.isEmpty()) { +// for (QdSurplusLowMagnificationDTO qdSurplusLowMagnificationDTO : reslutLow) { +// if (!pmSubCheckLowResList.stream().anyMatch(m -> m.getPono().equals(qdSurplusLowMagnificationDTO.getPono()) && m.getOrderNo().equals(qdSurplusLowMagnificationDTO.getOrderNo()))) { +// PmSubCheckLow CR = new PmSubCheckLow(); +// CR.setPono(qdSurplusLowMagnificationDTO.getPono()); +// CR.setOrderNo(qdSurplusLowMagnificationDTO.getOrderNo()); +// CR.setLowResult(qdSurplusLowMagnificationDTO.getResult()); +// pmSubCheckLowResList.add(CR); +// } +// } +// } +// } +// }); + slabInfoDOList.forEach(p -> { +// SlabInfoDO p = slabInfoDOList.get(0); +// slabChkChmAndLow(p, pmProContList, organizationId); try { List> listOfDtoLists = new ArrayList<>(); List dtoListChm = new ArrayList(); @@ -5031,7 +5139,7 @@ public class SubServiceImpl implements SubService { } //验证过不需要再验证 - if (pmSubCheckChmList.stream().anyMatch(dto -> dto.getOrderNo().equals(gpo.getOrderNo()) && dto.getPono().equals(p.getPono()))) { + if (pmSubCheckChmResList.stream().anyMatch(dto -> dto.getOrderNo().equals(gpo.getOrderNo()) && dto.getPono().equals(p.getPono()))) { continue; } QdMatchParamDTO phyFurnaceChemicalMatchDTO = new QdMatchParamDTO(); @@ -5056,12 +5164,12 @@ public class SubServiceImpl implements SubService { if (reslutChm != null && !reslutChm.isEmpty()) { if (reslutChm != null && !reslutChm.isEmpty()) { for (QdMatchParamDTO qdMatchParamDTO : reslutChm) { - if (!pmSubCheckChmList.stream().anyMatch(m -> m.getPono().equals(p.getPono()) && m.getOrderNo().equals(qdMatchParamDTO.getOrderNo()))) { + if (!pmSubCheckChmResList.stream().anyMatch(m -> m.getPono().equals(p.getPono()) && m.getOrderNo().equals(qdMatchParamDTO.getOrderNo()))) { PmSubCheckChm CR = new PmSubCheckChm(); CR.setPono(p.getPono()); CR.setOrderNo(qdMatchParamDTO.getOrderNo()); CR.setChmResult(qdMatchParamDTO.getResult()); - pmSubCheckChmList.add(CR); + pmSubCheckChmResList.add(CR); } } } @@ -5076,12 +5184,12 @@ public class SubServiceImpl implements SubService { try { List> listOfDtoLists = new ArrayList<>(); List dtoListLow = new ArrayList(); - for (PmProCont gpo : plistOrder) { + for (PmProCont gpo : pmProContList) { if (gpo.getOrderNo() == null || gpo.getOrderNo().equals("")) { continue; } //验证过不需要再验证 - if (pmSubCheckLowList.stream().anyMatch(dto -> dto.getOrderNo().equals(gpo.getOrderNo()) && dto.getPono().equals(p.getPono()))) { + if (pmSubCheckLowResList.stream().anyMatch(dto -> dto.getOrderNo().equals(gpo.getOrderNo()) && dto.getPono().equals(p.getPono()))) { continue; } QdSurplusLowMagnificationDTO phyFurnaceChemicalMatchDTO = new QdSurplusLowMagnificationDTO(); @@ -5097,20 +5205,18 @@ public class SubServiceImpl implements SubService { if (!dtoListLow.isEmpty()) { listOfDtoLists.add(new ArrayList<>(dtoListLow)); } - listOfDtoLists.forEach(dtoList -> { List reslutLow = qdOrderClient.surplusLowMagnificationMatchApi(organizationId, dtoList); - if (reslutLow != null && !reslutLow.isEmpty()) { if (reslutLow != null && !reslutLow.isEmpty()) { for (QdSurplusLowMagnificationDTO qdSurplusLowMagnificationDTO : reslutLow) { - if (!pmSubCheckLowList.stream().anyMatch(m -> m.getPono().equals(p.getPono()) && m.getOrderNo().equals(qdSurplusLowMagnificationDTO.getOrderNo()))) { + if (!pmSubCheckLowResList.stream().anyMatch(m -> m.getPono().equals(p.getPono()) && m.getOrderNo().equals(qdSurplusLowMagnificationDTO.getOrderNo()))) { PmSubCheckLow CR = new PmSubCheckLow(); CR.setPono(p.getPono()); CR.setOrderNo(qdSurplusLowMagnificationDTO.getOrderNo()); CR.setLowResult(qdSurplusLowMagnificationDTO.getResult()); - pmSubCheckLowList.add(CR); + pmSubCheckLowResList.add(CR); } } } @@ -5120,13 +5226,20 @@ public class SubServiceImpl implements SubService { } catch (Exception e) { logger.info("错误信息:" + e); } + System.out.println("循环时间:" + new Date()); }); List insertPmSubCheckChmList = new ArrayList<>(); List updatePmSubCheckChmList = new ArrayList<>(); List insertPmSubCheckLowList = new ArrayList<>(); List updatePmSubCheckLowList = new ArrayList<>(); - for(PmSubCheckChm pmSubCheckChm : pmSubCheckChmList){ - PmSubCheckChm check = pmSubCheckChmRepository.selectByPonoAndOrderNo(pmSubCheckChm); + System.out.println("处理chm数据开始:" + new Date()); + for(PmSubCheckChm pmSubCheckChm : pmSubCheckChmResList){ +// PmSubCheckChm check = pmSubCheckChmRepository.selectByPonoAndOrderNo(pmSubCheckChm); + PmSubCheckChm check = pmSubCheckChmList.stream() + .filter(item -> pmSubCheckChm.getOrderNo().equals(item.getOrderNo())) + .findFirst() + .orElse(null); + pmSubCheckChm.setTenantId(organizationId); if(check == null){ insertPmSubCheckChmList.add(pmSubCheckChm); @@ -5138,9 +5251,13 @@ public class SubServiceImpl implements SubService { } } } - - for(PmSubCheckLow pmSubCheckLow : pmSubCheckLowList){ - PmSubCheckLow check = pmSubCheckLowRepository.selectByPonoAndOrderNo(pmSubCheckLow); + System.out.println("处理chm数据结束:" + new Date()); + for(PmSubCheckLow pmSubCheckLow : pmSubCheckLowResList){ +// PmSubCheckLow check = pmSubCheckLowRepository.selectByPonoAndOrderNo(pmSubCheckLow); + PmSubCheckLow check = pmSubCheckLowList.stream() + .filter(item -> pmSubCheckLow.getOrderNo().equals(item.getOrderNo())) + .findFirst() + .orElse(null); pmSubCheckLow.setTenantId(organizationId); if(check == null){ insertPmSubCheckLowList.add(pmSubCheckLow); @@ -5152,13 +5269,160 @@ public class SubServiceImpl implements SubService { } } } + System.out.println("处理low数据结束:" + new Date()); + pmSubCheckChmRepository.batchInsertSelective(insertPmSubCheckChmList); pmSubCheckChmRepository.batchUpdateByPrimaryKeySelective(updatePmSubCheckChmList); pmSubCheckLowRepository.batchInsertSelective(insertPmSubCheckLowList); pmSubCheckLowRepository.batchUpdateByPrimaryKeySelective(updatePmSubCheckLowList); + System.out.println("保存结束:" + new Date()); + } +// @Transactional(rollbackFor = Exception.class) +// public void slabChkChmAndLow(SlabInfoDO p,List pmProContList, Long organizationId){ +// System.out.println("板坯开始" + p.getSlabNo()); +// List pmSubCheckChmList = new ArrayList<>(); +// List pmSubCheckLowList = new ArrayList<>(); +// try { +// List> listOfDtoLists = new ArrayList<>(); +// List dtoListChm = new ArrayList(); +// for (PmProCont gpo : pmProContList) { +// +// if (gpo.getOrderNo() == null || gpo.getOrderNo().equals("")) { +// +// } +// +// //验证过不需要再验证 +// if (pmSubCheckChmList.stream().anyMatch(dto -> dto.getOrderNo().equals(gpo.getOrderNo()) && dto.getPono().equals(p.getPono()))) { +// continue; +// } +// QdMatchParamDTO phyFurnaceChemicalMatchDTO = new QdMatchParamDTO(); +// phyFurnaceChemicalMatchDTO.setOrderNo(gpo.getOrderNo()); +// phyFurnaceChemicalMatchDTO.setPono(p.getPono()); +// dtoListChm.add(phyFurnaceChemicalMatchDTO); +// if (dtoListChm.size() == 500) { +// listOfDtoLists.add(new ArrayList<>(dtoListChm)); +// dtoListChm.clear(); +// } +// } +// +// // 如果 dtoListChm 中还有剩余的元素,将其添加到 listOfDtoLists 中 +// if (!dtoListChm.isEmpty()) { +// listOfDtoLists.add(new ArrayList<>(dtoListChm)); +// } +// +// listOfDtoLists.forEach(dtoList -> { +// +// List reslutChm = qdOrderClient.phyFurnaceChemicalMatchApi(organizationId, +// dtoList); +// if (reslutChm != null && !reslutChm.isEmpty()) { +// if (reslutChm != null && !reslutChm.isEmpty()) { +// for (QdMatchParamDTO qdMatchParamDTO : reslutChm) { +// if (!pmSubCheckChmList.stream().anyMatch(m -> m.getPono().equals(p.getPono()) && m.getOrderNo().equals(qdMatchParamDTO.getOrderNo()))) { +// PmSubCheckChm CR = new PmSubCheckChm(); +// CR.setPono(p.getPono()); +// CR.setOrderNo(qdMatchParamDTO.getOrderNo()); +// CR.setChmResult(qdMatchParamDTO.getResult()); +// pmSubCheckChmList.add(CR); +// } +// } +// } +// } +// +// }); +// +// } catch (Exception e) { +// logger.info("错误信息:" + e); +// } +// +// try { +// List> listOfDtoLists = new ArrayList<>(); +// List dtoListLow = new ArrayList(); +// for (PmProCont gpo : pmProContList) { +// if (gpo.getOrderNo() == null || gpo.getOrderNo().equals("")) { +// continue; +// } +// //验证过不需要再验证 +// if (pmSubCheckLowList.stream().anyMatch(dto -> dto.getOrderNo().equals(gpo.getOrderNo()) && dto.getPono().equals(p.getPono()))) { +// continue; +// } +// QdSurplusLowMagnificationDTO phyFurnaceChemicalMatchDTO = new QdSurplusLowMagnificationDTO(); +// phyFurnaceChemicalMatchDTO.setOrderNo(gpo.getOrderNo()); +// phyFurnaceChemicalMatchDTO.setPono(p.getPono()); +// dtoListLow.add(phyFurnaceChemicalMatchDTO); +// if (dtoListLow.size() == 500) { +// listOfDtoLists.add(new ArrayList<>(dtoListLow)); +// dtoListLow.clear(); +// } +// } +// // 如果 dtoListChm 中还有剩余的元素,将其添加到 listOfDtoLists 中 +// if (!dtoListLow.isEmpty()) { +// listOfDtoLists.add(new ArrayList<>(dtoListLow)); +// } +// +// listOfDtoLists.forEach(dtoList -> { +// List reslutLow = qdOrderClient.surplusLowMagnificationMatchApi(organizationId, +// dtoList); +// +// if (reslutLow != null && !reslutLow.isEmpty()) { +// if (reslutLow != null && !reslutLow.isEmpty()) { +// for (QdSurplusLowMagnificationDTO qdSurplusLowMagnificationDTO : reslutLow) { +// if (!pmSubCheckLowList.stream().anyMatch(m -> m.getPono().equals(p.getPono()) && m.getOrderNo().equals(qdSurplusLowMagnificationDTO.getOrderNo()))) { +// PmSubCheckLow CR = new PmSubCheckLow(); +// CR.setPono(p.getPono()); +// CR.setOrderNo(qdSurplusLowMagnificationDTO.getOrderNo()); +// CR.setLowResult(qdSurplusLowMagnificationDTO.getResult()); +// pmSubCheckLowList.add(CR); +// } +// } +// } +// } +// }); +// +// } catch (Exception e) { +// logger.info("错误信息:" + e); +// } +// List insertPmSubCheckChmList = new ArrayList<>(); +// List updatePmSubCheckChmList = new ArrayList<>(); +// List insertPmSubCheckLowList = new ArrayList<>(); +// List updatePmSubCheckLowList = new ArrayList<>(); +// for(PmSubCheckChm pmSubCheckChm : pmSubCheckChmList){ +// PmSubCheckChm check = pmSubCheckChmRepository.selectByPonoAndOrderNo(pmSubCheckChm); +// pmSubCheckChm.setTenantId(organizationId); +// if(check == null){ +// insertPmSubCheckChmList.add(pmSubCheckChm); +// }else{ +// if(!pmSubCheckChm.getChmResult().equals(check.getChmResult())){ +// pmSubCheckChm.setId(check.getId()); +// pmSubCheckChm.setOldResult(check.getChmResult()); +// updatePmSubCheckChmList.add(pmSubCheckChm); +// } +// } +// } +// +// for(PmSubCheckLow pmSubCheckLow : pmSubCheckLowList){ +// PmSubCheckLow check = pmSubCheckLowRepository.selectByPonoAndOrderNo(pmSubCheckLow); +// pmSubCheckLow.setTenantId(organizationId); +// if(check == null){ +// insertPmSubCheckLowList.add(pmSubCheckLow); +// }else{ +// if(!pmSubCheckLow.getLowResult().equals(check.getLowResult())){ +// pmSubCheckLow.setId(check.getId()); +// pmSubCheckLow.setOldResult(check.getLowResult()); +// updatePmSubCheckLowList.add(pmSubCheckLow); +// } +// } +// } +// System.out.println(p.getSlabNo() + "开始保存数据:1--"+insertPmSubCheckChmList.size() + "--2--" + updatePmSubCheckChmList.size() + "--3--" + insertPmSubCheckLowList.size() + "--4--" + updatePmSubCheckLowList.size()); +// pmSubCheckChmRepository.batchInsertSelective(insertPmSubCheckChmList); +// pmSubCheckChmRepository.batchUpdateByPrimaryKeySelective(updatePmSubCheckChmList); +// pmSubCheckLowRepository.batchInsertSelective(insertPmSubCheckLowList); +// pmSubCheckLowRepository.batchUpdateByPrimaryKeySelective(updatePmSubCheckLowList); +// System.out.println(p.getSlabNo() + "保存数据结束"); +// +// } public void zbCtEventRec(Long organizationId, List pmPdSlabDOList, List pmCmdLargePltDOList, List pmCmdSlabDOList, List pmSmallPltPosDOList) { for (PmPdSlab pmPdSlab : pmPdSlabDOList) {