From 9cd79fd8fb16f5b66fe458c62b86bb78c16fa4a7 Mon Sep 17 00:00:00 2001 From: BKGY_MYT <1536233200@qq.com> Date: Wed, 26 Mar 2025 17:14:05 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E5=8C=96=E5=AD=A6=E6=88=90?= =?UTF-8?q?=E5=88=86=E6=A3=80=E6=B5=8B=E5=8F=8A=E4=BD=8E=E5=80=8D=E6=A3=80?= =?UTF-8?q?=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../v1/PmSubCheckChmController.java | 79 ++++++++ .../v1/PmSubCheckLowController.java | 79 ++++++++ .../pm/app/service/PmSubCheckChmService.java | 34 ++++ .../pm/app/service/PmSubCheckLowService.java | 34 ++++ .../com/xisc/pm/app/service/SubService.java | 2 + .../impl/PmSubCheckChmServiceImpl.java | 39 ++++ .../impl/PmSubCheckLowServiceImpl.java | 39 ++++ .../pm/app/service/impl/SubServiceImpl.java | 154 ++++++++++++++++ .../xisc/pm/domain/entity/PmSubCheckChm.java | 169 ++++++++++++++++++ .../xisc/pm/domain/entity/PmSubCheckLow.java | 169 ++++++++++++++++++ .../repository/PmSubCheckChmRepository.java | 32 ++++ .../repository/PmSubCheckLowRepository.java | 32 ++++ .../pm/infra/mapper/PmSubCheckChmMapper.java | 25 +++ .../pm/infra/mapper/PmSubCheckLowMapper.java | 25 +++ .../impl/PmSubCheckChmRepositoryImpl.java | 46 +++++ .../impl/PmSubCheckLowRepositoryImpl.java | 46 +++++ .../resources/mapper/PmSubCheckChmMapper.xml | 70 ++++++++ .../resources/mapper/PmSubCheckLowMapper.xml | 70 ++++++++ 18 files changed, 1144 insertions(+) create mode 100644 XG_Project1/src/main/java/com/xisc/pm/api/controller/v1/PmSubCheckChmController.java create mode 100644 XG_Project1/src/main/java/com/xisc/pm/api/controller/v1/PmSubCheckLowController.java create mode 100644 XG_Project1/src/main/java/com/xisc/pm/app/service/PmSubCheckChmService.java create mode 100644 XG_Project1/src/main/java/com/xisc/pm/app/service/PmSubCheckLowService.java create mode 100644 XG_Project1/src/main/java/com/xisc/pm/app/service/impl/PmSubCheckChmServiceImpl.java create mode 100644 XG_Project1/src/main/java/com/xisc/pm/app/service/impl/PmSubCheckLowServiceImpl.java create mode 100644 XG_Project1/src/main/java/com/xisc/pm/domain/entity/PmSubCheckChm.java create mode 100644 XG_Project1/src/main/java/com/xisc/pm/domain/entity/PmSubCheckLow.java create mode 100644 XG_Project1/src/main/java/com/xisc/pm/domain/repository/PmSubCheckChmRepository.java create mode 100644 XG_Project1/src/main/java/com/xisc/pm/domain/repository/PmSubCheckLowRepository.java create mode 100644 XG_Project1/src/main/java/com/xisc/pm/infra/mapper/PmSubCheckChmMapper.java create mode 100644 XG_Project1/src/main/java/com/xisc/pm/infra/mapper/PmSubCheckLowMapper.java create mode 100644 XG_Project1/src/main/java/com/xisc/pm/infra/repository/impl/PmSubCheckChmRepositoryImpl.java create mode 100644 XG_Project1/src/main/java/com/xisc/pm/infra/repository/impl/PmSubCheckLowRepositoryImpl.java create mode 100644 XG_Project1/src/main/resources/mapper/PmSubCheckChmMapper.xml create mode 100644 XG_Project1/src/main/resources/mapper/PmSubCheckLowMapper.xml diff --git a/XG_Project1/src/main/java/com/xisc/pm/api/controller/v1/PmSubCheckChmController.java b/XG_Project1/src/main/java/com/xisc/pm/api/controller/v1/PmSubCheckChmController.java new file mode 100644 index 0000000..df3b894 --- /dev/null +++ b/XG_Project1/src/main/java/com/xisc/pm/api/controller/v1/PmSubCheckChmController.java @@ -0,0 +1,79 @@ +package com.xisc.pm.api.controller.v1; + +import io.choerodon.core.domain.Page; +import io.choerodon.core.iam.ResourceLevel; +import io.choerodon.mybatis.pagehelper.annotation.SortDefault; +import io.choerodon.mybatis.pagehelper.domain.PageRequest; +import io.choerodon.mybatis.pagehelper.domain.Sort; +import io.choerodon.swagger.annotation.Permission; +import io.swagger.annotations.ApiOperation; +import org.hzero.core.base.BaseController; +import org.hzero.core.util.Results; +import org.hzero.mybatis.helper.SecurityTokenHelper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; +import com.xisc.pm.app.service.PmSubCheckChmService; +import com.xisc.pm.domain.entity.PmSubCheckChm; +import com.xisc.pm.domain.repository.PmSubCheckChmRepository; +import springfox.documentation.annotations.ApiIgnore; + +import java.util.List; + +/** + * 化学成分检测结果表(PmSubCheckChm)表控制层 + * + * @author BKGY + * @since 2025-03-26 16:22:54 + */ + +@RestController("pmSubCheckChmController.v1") +@RequestMapping("/v1/{organizationId}/pm-sub-check-chms") +public class PmSubCheckChmController extends BaseController { + + @Autowired + private PmSubCheckChmRepository pmSubCheckChmRepository; + + @Autowired + private PmSubCheckChmService pmSubCheckChmService; + + @ApiOperation(value = "化学成分检测结果表列表") + @Permission(level = ResourceLevel.ORGANIZATION) + @GetMapping + public ResponseEntity> list(PmSubCheckChm pmSubCheckChm, @PathVariable Long organizationId, + @ApiIgnore @SortDefault(value = PmSubCheckChm.FIELD_ID, + direction = Sort.Direction.DESC) PageRequest pageRequest) { + Page list = pmSubCheckChmService.selectList(pageRequest, pmSubCheckChm); + return Results.success(list); + } + + @ApiOperation(value = "化学成分检测结果表明细") + @Permission(level = ResourceLevel.ORGANIZATION) + @GetMapping("/{id}") + public ResponseEntity detail(@PathVariable Long id) { + PmSubCheckChm pmSubCheckChm = pmSubCheckChmRepository.selectByPrimary(id); + return Results.success(pmSubCheckChm); + } + + @ApiOperation(value = "创建或更新化学成分检测结果表") + @Permission(level = ResourceLevel.ORGANIZATION) + @PostMapping + public ResponseEntity> save(@PathVariable Long organizationId, @RequestBody List pmSubCheckChms) { + validObject(pmSubCheckChms); + SecurityTokenHelper.validTokenIgnoreInsert(pmSubCheckChms); + pmSubCheckChms.forEach(item -> item.setTenantId(organizationId)); + pmSubCheckChmService.saveData(pmSubCheckChms); + return Results.success(pmSubCheckChms); + } + + @ApiOperation(value = "删除化学成分检测结果表") + @Permission(level = ResourceLevel.ORGANIZATION) + @DeleteMapping + public ResponseEntity remove(@RequestBody List pmSubCheckChms) { + SecurityTokenHelper.validToken(pmSubCheckChms); + pmSubCheckChmRepository.batchDeleteByPrimaryKey(pmSubCheckChms); + return Results.success(); + } + +} + diff --git a/XG_Project1/src/main/java/com/xisc/pm/api/controller/v1/PmSubCheckLowController.java b/XG_Project1/src/main/java/com/xisc/pm/api/controller/v1/PmSubCheckLowController.java new file mode 100644 index 0000000..b378646 --- /dev/null +++ b/XG_Project1/src/main/java/com/xisc/pm/api/controller/v1/PmSubCheckLowController.java @@ -0,0 +1,79 @@ +package com.xisc.pm.api.controller.v1; + +import io.choerodon.core.domain.Page; +import io.choerodon.core.iam.ResourceLevel; +import io.choerodon.mybatis.pagehelper.annotation.SortDefault; +import io.choerodon.mybatis.pagehelper.domain.PageRequest; +import io.choerodon.mybatis.pagehelper.domain.Sort; +import io.choerodon.swagger.annotation.Permission; +import io.swagger.annotations.ApiOperation; +import org.hzero.core.base.BaseController; +import org.hzero.core.util.Results; +import org.hzero.mybatis.helper.SecurityTokenHelper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; +import com.xisc.pm.app.service.PmSubCheckLowService; +import com.xisc.pm.domain.entity.PmSubCheckLow; +import com.xisc.pm.domain.repository.PmSubCheckLowRepository; +import springfox.documentation.annotations.ApiIgnore; + +import java.util.List; + +/** + * 低倍检测结果表(PmSubCheckLow)表控制层 + * + * @author BKGY + * @since 2025-03-26 16:27:39 + */ + +@RestController("pmSubCheckLowController.v1") +@RequestMapping("/v1/{organizationId}/pm-sub-check-lows") +public class PmSubCheckLowController extends BaseController { + + @Autowired + private PmSubCheckLowRepository pmSubCheckLowRepository; + + @Autowired + private PmSubCheckLowService pmSubCheckLowService; + + @ApiOperation(value = "低倍检测结果表列表") + @Permission(level = ResourceLevel.ORGANIZATION) + @GetMapping + public ResponseEntity> list(PmSubCheckLow pmSubCheckLow, @PathVariable Long organizationId, + @ApiIgnore @SortDefault(value = PmSubCheckLow.FIELD_ID, + direction = Sort.Direction.DESC) PageRequest pageRequest) { + Page list = pmSubCheckLowService.selectList(pageRequest, pmSubCheckLow); + return Results.success(list); + } + + @ApiOperation(value = "低倍检测结果表明细") + @Permission(level = ResourceLevel.ORGANIZATION) + @GetMapping("/{id}") + public ResponseEntity detail(@PathVariable Long id) { + PmSubCheckLow pmSubCheckLow = pmSubCheckLowRepository.selectByPrimary(id); + return Results.success(pmSubCheckLow); + } + + @ApiOperation(value = "创建或更新低倍检测结果表") + @Permission(level = ResourceLevel.ORGANIZATION) + @PostMapping + public ResponseEntity> save(@PathVariable Long organizationId, @RequestBody List pmSubCheckLows) { + validObject(pmSubCheckLows); + SecurityTokenHelper.validTokenIgnoreInsert(pmSubCheckLows); + pmSubCheckLows.forEach(item -> item.setTenantId(organizationId)); + pmSubCheckLowService.saveData(pmSubCheckLows); + return Results.success(pmSubCheckLows); + } + + @ApiOperation(value = "删除低倍检测结果表") + @Permission(level = ResourceLevel.ORGANIZATION) + @DeleteMapping + public ResponseEntity remove(@RequestBody List pmSubCheckLows) { + SecurityTokenHelper.validToken(pmSubCheckLows); + pmSubCheckLowRepository.batchDeleteByPrimaryKey(pmSubCheckLows); + return Results.success(); + } + +} + diff --git a/XG_Project1/src/main/java/com/xisc/pm/app/service/PmSubCheckChmService.java b/XG_Project1/src/main/java/com/xisc/pm/app/service/PmSubCheckChmService.java new file mode 100644 index 0000000..331a97f --- /dev/null +++ b/XG_Project1/src/main/java/com/xisc/pm/app/service/PmSubCheckChmService.java @@ -0,0 +1,34 @@ +package com.xisc.pm.app.service; + +import io.choerodon.core.domain.Page; +import io.choerodon.mybatis.pagehelper.domain.PageRequest; +import com.xisc.pm.domain.entity.PmSubCheckChm; + +import java.util.List; + +/** + * 化学成分检测结果表(PmSubCheckChm)应用服务 + * + * @author BKGY + * @since 2025-03-26 16:22:52 + */ +public interface PmSubCheckChmService { + + /** + * 查询数据 + * + * @param pageRequest 分页参数 + * @param pmSubCheckChms 查询条件 + * @return 返回值 + */ + Page selectList(PageRequest pageRequest, PmSubCheckChm pmSubCheckChms); + + /** + * 保存数据 + * + * @param pmSubCheckChms 数据 + */ + void saveData(List pmSubCheckChms); + +} + diff --git a/XG_Project1/src/main/java/com/xisc/pm/app/service/PmSubCheckLowService.java b/XG_Project1/src/main/java/com/xisc/pm/app/service/PmSubCheckLowService.java new file mode 100644 index 0000000..cd15fcb --- /dev/null +++ b/XG_Project1/src/main/java/com/xisc/pm/app/service/PmSubCheckLowService.java @@ -0,0 +1,34 @@ +package com.xisc.pm.app.service; + +import io.choerodon.core.domain.Page; +import io.choerodon.mybatis.pagehelper.domain.PageRequest; +import com.xisc.pm.domain.entity.PmSubCheckLow; + +import java.util.List; + +/** + * 低倍检测结果表(PmSubCheckLow)应用服务 + * + * @author BKGY + * @since 2025-03-26 16:27:38 + */ +public interface PmSubCheckLowService { + + /** + * 查询数据 + * + * @param pageRequest 分页参数 + * @param pmSubCheckLows 查询条件 + * @return 返回值 + */ + Page selectList(PageRequest pageRequest, PmSubCheckLow pmSubCheckLows); + + /** + * 保存数据 + * + * @param pmSubCheckLows 数据 + */ + void saveData(List pmSubCheckLows); + +} + 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 4497114..5480d6a 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 @@ -133,6 +133,8 @@ public interface SubService { void saveSubLog(String slabNo, long subMode, String subRslt, String subLog, Long organizationId); + void autoChkChmAndLowApi(Long organizationId); + // 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/PmSubCheckChmServiceImpl.java b/XG_Project1/src/main/java/com/xisc/pm/app/service/impl/PmSubCheckChmServiceImpl.java new file mode 100644 index 0000000..f22c963 --- /dev/null +++ b/XG_Project1/src/main/java/com/xisc/pm/app/service/impl/PmSubCheckChmServiceImpl.java @@ -0,0 +1,39 @@ +package com.xisc.pm.app.service.impl; + +import io.choerodon.core.domain.Page; +import io.choerodon.mybatis.pagehelper.PageHelper; +import io.choerodon.mybatis.pagehelper.domain.PageRequest; +import org.springframework.beans.factory.annotation.Autowired; +import com.xisc.pm.app.service.PmSubCheckChmService; +import org.springframework.stereotype.Service; +import com.xisc.pm.domain.entity.PmSubCheckChm; +import com.xisc.pm.domain.repository.PmSubCheckChmRepository; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * 化学成分检测结果表(PmSubCheckChm)应用服务 + * + * @author BKGY + * @since 2025-03-26 16:22:53 + */ +@Service +public class PmSubCheckChmServiceImpl implements PmSubCheckChmService { + @Autowired + private PmSubCheckChmRepository pmSubCheckChmRepository; + + @Override + public Page selectList(PageRequest pageRequest, PmSubCheckChm pmSubCheckChm) { + return PageHelper.doPageAndSort(pageRequest, () -> pmSubCheckChmRepository.selectList(pmSubCheckChm)); + } + + @Override + public void saveData(List pmSubCheckChms) { + List insertList = pmSubCheckChms.stream().filter(line -> line.getId() == null).collect(Collectors.toList()); + List updateList = pmSubCheckChms.stream().filter(line -> line.getId() != null).collect(Collectors.toList()); + pmSubCheckChmRepository.batchInsertSelective(insertList); + pmSubCheckChmRepository.batchUpdateByPrimaryKeySelective(updateList); + } +} + diff --git a/XG_Project1/src/main/java/com/xisc/pm/app/service/impl/PmSubCheckLowServiceImpl.java b/XG_Project1/src/main/java/com/xisc/pm/app/service/impl/PmSubCheckLowServiceImpl.java new file mode 100644 index 0000000..13cbc17 --- /dev/null +++ b/XG_Project1/src/main/java/com/xisc/pm/app/service/impl/PmSubCheckLowServiceImpl.java @@ -0,0 +1,39 @@ +package com.xisc.pm.app.service.impl; + +import io.choerodon.core.domain.Page; +import io.choerodon.mybatis.pagehelper.PageHelper; +import io.choerodon.mybatis.pagehelper.domain.PageRequest; +import org.springframework.beans.factory.annotation.Autowired; +import com.xisc.pm.app.service.PmSubCheckLowService; +import org.springframework.stereotype.Service; +import com.xisc.pm.domain.entity.PmSubCheckLow; +import com.xisc.pm.domain.repository.PmSubCheckLowRepository; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * 低倍检测结果表(PmSubCheckLow)应用服务 + * + * @author BKGY + * @since 2025-03-26 16:27:38 + */ +@Service +public class PmSubCheckLowServiceImpl implements PmSubCheckLowService { + @Autowired + private PmSubCheckLowRepository pmSubCheckLowRepository; + + @Override + public Page selectList(PageRequest pageRequest, PmSubCheckLow pmSubCheckLow) { + return PageHelper.doPageAndSort(pageRequest, () -> pmSubCheckLowRepository.selectList(pmSubCheckLow)); + } + + @Override + public void saveData(List pmSubCheckLows) { + List insertList = pmSubCheckLows.stream().filter(line -> line.getId() == null).collect(Collectors.toList()); + List updateList = pmSubCheckLows.stream().filter(line -> line.getId() != null).collect(Collectors.toList()); + pmSubCheckLowRepository.batchInsertSelective(insertList); + pmSubCheckLowRepository.batchUpdateByPrimaryKeySelective(updateList); + } +} + 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 4c25a4a..c303b70 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,6 +7,7 @@ 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.*; @@ -115,6 +116,12 @@ public class SubServiceImpl implements SubService { @Autowired protected EventClient eventClient; + @Autowired + private PmSubCheckChmRepository pmSubCheckChmRepository; + + @Autowired + private PmSubCheckLowRepository pmSubCheckLowRepository; + // @Autowired // private TransactionService transactionService; @@ -4693,6 +4700,153 @@ public class SubServiceImpl implements SubService { pmSubLogRepository.insertSelective(pmSubLog); } + @Override + //自动化学成分检测与低倍检测 + public void autoChkChmAndLowApi(Long organizationId) { + List slabInfoDOList = subMapper.getSlabInfo(new SubParams()); + List pmProContList = subMapper.getOrderInfo(); + List pmSubCheckChmList = new ArrayList<>(); + List pmSubCheckLowList = new ArrayList<>(); + slabInfoDOList.forEach(p -> { + 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 : plistOrder) { + 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); + } + } + } + pmSubCheckChmRepository.batchInsertSelective(insertPmSubCheckChmList); + pmSubCheckChmRepository.batchUpdateByPrimaryKeySelective(updatePmSubCheckChmList); + pmSubCheckLowRepository.batchInsertSelective(insertPmSubCheckLowList); + pmSubCheckLowRepository.batchUpdateByPrimaryKeySelective(updatePmSubCheckLowList); + + + } + public void zbCtEventRec(Long organizationId, List pmPdSlabDOList, List pmCmdLargePltDOList, List pmCmdSlabDOList, List pmSmallPltPosDOList) { for (PmPdSlab pmPdSlab : pmPdSlabDOList) { List smallPltPosList = pmSmallPltPosDOList.stream() diff --git a/XG_Project1/src/main/java/com/xisc/pm/domain/entity/PmSubCheckChm.java b/XG_Project1/src/main/java/com/xisc/pm/domain/entity/PmSubCheckChm.java new file mode 100644 index 0000000..b5eb6f2 --- /dev/null +++ b/XG_Project1/src/main/java/com/xisc/pm/domain/entity/PmSubCheckChm.java @@ -0,0 +1,169 @@ +package com.xisc.pm.domain.entity; + +import com.fasterxml.jackson.annotation.JsonInclude; +import io.choerodon.mybatis.annotation.ModifyAudit; +import io.choerodon.mybatis.annotation.VersionAudit; +import io.choerodon.mybatis.domain.AuditDomain; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import javax.persistence.Table; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * 化学成分检测结果表(PmSubCheckChm)实体类 + * + * @author BKGY + * @since 2025-03-26 16:22:50 + */ + +@ApiModel("化学成分检测结果表") +@VersionAudit +@ModifyAudit +@JsonInclude(value = JsonInclude.Include.NON_NULL) +@Table(name = "PM_SUB_CHECK_CHM") +public class PmSubCheckChm extends AuditDomain implements Serializable { + private static final long serialVersionUID = -82115762043290499L; + + public static final String FIELD_ID = "id"; + public static final String FIELD_PONO = "pono"; + public static final String FIELD_ORDER_NO = "orderNo"; + public static final String FIELD_CHM_RESULT = "chmResult"; + public static final String FIELD_OLD_RESULT = "oldResult"; + public static final String FIELD_TENANT_ID = "tenantId"; + public static final String FIELD_ATTRIBUTE1 = "attribute1"; + public static final String FIELD_ATTRIBUTE2 = "attribute2"; + public static final String FIELD_ATTRIBUTE3 = "attribute3"; + public static final String FIELD_ATTRIBUTE4 = "attribute4"; + public static final String FIELD_ATTRIBUTE5 = "attribute5"; + + @ApiModelProperty("主键ID") + @Id + @GeneratedValue + private Long id; + + @ApiModelProperty(value = "命令号", required = true) + @NotBlank + private String pono; + + @ApiModelProperty(value = "合同号", required = true) + @NotBlank + private String orderNo; + + @ApiModelProperty(value = "检验结果") + private String chmResult; + + @ApiModelProperty(value = "历史结果") + private String oldResult; + + @ApiModelProperty(value = "租户ID", required = true) + @NotNull + private Long tenantId; + + private String attribute1; + + private String attribute2; + + private String attribute3; + + private String attribute4; + + private String attribute5; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getPono() { + return pono; + } + + public void setPono(String pono) { + this.pono = pono; + } + + public String getOrderNo() { + return orderNo; + } + + public void setOrderNo(String orderNo) { + this.orderNo = orderNo; + } + + public String getChmResult() { + return chmResult; + } + + public void setChmResult(String chmResult) { + this.chmResult = chmResult; + } + + public String getOldResult() { + return oldResult; + } + + public void setOldResult(String oldResult) { + this.oldResult = oldResult; + } + + public Long getTenantId() { + return tenantId; + } + + public void setTenantId(Long tenantId) { + this.tenantId = tenantId; + } + + public String getAttribute1() { + return attribute1; + } + + public void setAttribute1(String attribute1) { + this.attribute1 = attribute1; + } + + public String getAttribute2() { + return attribute2; + } + + public void setAttribute2(String attribute2) { + this.attribute2 = attribute2; + } + + public String getAttribute3() { + return attribute3; + } + + public void setAttribute3(String attribute3) { + this.attribute3 = attribute3; + } + + public String getAttribute4() { + return attribute4; + } + + public void setAttribute4(String attribute4) { + this.attribute4 = attribute4; + } + + public String getAttribute5() { + return attribute5; + } + + public void setAttribute5(String attribute5) { + this.attribute5 = attribute5; + } + +} + diff --git a/XG_Project1/src/main/java/com/xisc/pm/domain/entity/PmSubCheckLow.java b/XG_Project1/src/main/java/com/xisc/pm/domain/entity/PmSubCheckLow.java new file mode 100644 index 0000000..ddfc0b2 --- /dev/null +++ b/XG_Project1/src/main/java/com/xisc/pm/domain/entity/PmSubCheckLow.java @@ -0,0 +1,169 @@ +package com.xisc.pm.domain.entity; + +import com.fasterxml.jackson.annotation.JsonInclude; +import io.choerodon.mybatis.annotation.ModifyAudit; +import io.choerodon.mybatis.annotation.VersionAudit; +import io.choerodon.mybatis.domain.AuditDomain; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import javax.persistence.Table; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * 低倍检测结果表(PmSubCheckLow)实体类 + * + * @author BKGY + * @since 2025-03-26 16:27:36 + */ + +@ApiModel("低倍检测结果表") +@VersionAudit +@ModifyAudit +@JsonInclude(value = JsonInclude.Include.NON_NULL) +@Table(name = "PM_SUB_CHECK_LOW") +public class PmSubCheckLow extends AuditDomain implements Serializable { + private static final long serialVersionUID = 733808478788054920L; + + public static final String FIELD_ID = "id"; + public static final String FIELD_PONO = "pono"; + public static final String FIELD_ORDER_NO = "orderNo"; + public static final String FIELD_LOW_RESULT = "lowResult"; + public static final String FIELD_OLD_RESULT = "oldResult"; + public static final String FIELD_TENANT_ID = "tenantId"; + public static final String FIELD_ATTRIBUTE1 = "attribute1"; + public static final String FIELD_ATTRIBUTE2 = "attribute2"; + public static final String FIELD_ATTRIBUTE3 = "attribute3"; + public static final String FIELD_ATTRIBUTE4 = "attribute4"; + public static final String FIELD_ATTRIBUTE5 = "attribute5"; + + @ApiModelProperty("主键ID") + @Id + @GeneratedValue + private Long id; + + @ApiModelProperty(value = "命令号", required = true) + @NotBlank + private String pono; + + @ApiModelProperty(value = "合同号", required = true) + @NotBlank + private String orderNo; + + @ApiModelProperty(value = "检验结果") + private String lowResult; + + @ApiModelProperty(value = "历史结果") + private String oldResult; + + @ApiModelProperty(value = "租户ID", required = true) + @NotNull + private Long tenantId; + + private String attribute1; + + private String attribute2; + + private String attribute3; + + private String attribute4; + + private String attribute5; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getPono() { + return pono; + } + + public void setPono(String pono) { + this.pono = pono; + } + + public String getOrderNo() { + return orderNo; + } + + public void setOrderNo(String orderNo) { + this.orderNo = orderNo; + } + + public String getLowResult() { + return lowResult; + } + + public void setLowResult(String lowResult) { + this.lowResult = lowResult; + } + + public String getOldResult() { + return oldResult; + } + + public void setOldResult(String oldResult) { + this.oldResult = oldResult; + } + + public Long getTenantId() { + return tenantId; + } + + public void setTenantId(Long tenantId) { + this.tenantId = tenantId; + } + + public String getAttribute1() { + return attribute1; + } + + public void setAttribute1(String attribute1) { + this.attribute1 = attribute1; + } + + public String getAttribute2() { + return attribute2; + } + + public void setAttribute2(String attribute2) { + this.attribute2 = attribute2; + } + + public String getAttribute3() { + return attribute3; + } + + public void setAttribute3(String attribute3) { + this.attribute3 = attribute3; + } + + public String getAttribute4() { + return attribute4; + } + + public void setAttribute4(String attribute4) { + this.attribute4 = attribute4; + } + + public String getAttribute5() { + return attribute5; + } + + public void setAttribute5(String attribute5) { + this.attribute5 = attribute5; + } + +} + diff --git a/XG_Project1/src/main/java/com/xisc/pm/domain/repository/PmSubCheckChmRepository.java b/XG_Project1/src/main/java/com/xisc/pm/domain/repository/PmSubCheckChmRepository.java new file mode 100644 index 0000000..d82ccb7 --- /dev/null +++ b/XG_Project1/src/main/java/com/xisc/pm/domain/repository/PmSubCheckChmRepository.java @@ -0,0 +1,32 @@ +package com.xisc.pm.domain.repository; + +import org.hzero.mybatis.base.BaseRepository; +import com.xisc.pm.domain.entity.PmSubCheckChm; + +import java.util.List; + +/** + * 化学成分检测结果表(PmSubCheckChm)资源库 + * + * @author BKGY + * @since 2025-03-26 16:22:52 + */ +public interface PmSubCheckChmRepository extends BaseRepository { + /** + * 查询 + * + * @param pmSubCheckChm 查询条件 + * @return 返回值 + */ + List selectList(PmSubCheckChm pmSubCheckChm); + + /** + * 根据主键查询(可关联表) + * + * @param id 主键 + * @return 返回值 + */ + PmSubCheckChm selectByPrimary(Long id); + + PmSubCheckChm selectByPonoAndOrderNo(PmSubCheckChm pmSubCheckChm); +} diff --git a/XG_Project1/src/main/java/com/xisc/pm/domain/repository/PmSubCheckLowRepository.java b/XG_Project1/src/main/java/com/xisc/pm/domain/repository/PmSubCheckLowRepository.java new file mode 100644 index 0000000..32dbfdb --- /dev/null +++ b/XG_Project1/src/main/java/com/xisc/pm/domain/repository/PmSubCheckLowRepository.java @@ -0,0 +1,32 @@ +package com.xisc.pm.domain.repository; + +import org.hzero.mybatis.base.BaseRepository; +import com.xisc.pm.domain.entity.PmSubCheckLow; + +import java.util.List; + +/** + * 低倍检测结果表(PmSubCheckLow)资源库 + * + * @author BKGY + * @since 2025-03-26 16:27:37 + */ +public interface PmSubCheckLowRepository extends BaseRepository { + /** + * 查询 + * + * @param pmSubCheckLow 查询条件 + * @return 返回值 + */ + List selectList(PmSubCheckLow pmSubCheckLow); + + /** + * 根据主键查询(可关联表) + * + * @param id 主键 + * @return 返回值 + */ + PmSubCheckLow selectByPrimary(Long id); + + PmSubCheckLow selectByPonoAndOrderNo(PmSubCheckLow pmSubCheckLow); +} diff --git a/XG_Project1/src/main/java/com/xisc/pm/infra/mapper/PmSubCheckChmMapper.java b/XG_Project1/src/main/java/com/xisc/pm/infra/mapper/PmSubCheckChmMapper.java new file mode 100644 index 0000000..0517295 --- /dev/null +++ b/XG_Project1/src/main/java/com/xisc/pm/infra/mapper/PmSubCheckChmMapper.java @@ -0,0 +1,25 @@ +package com.xisc.pm.infra.mapper; + +import io.choerodon.mybatis.common.BaseMapper; +import com.xisc.pm.domain.entity.PmSubCheckChm; + +import java.util.List; + +/** + * 化学成分检测结果表(PmSubCheckChm)应用服务 + * + * @author BKGY + * @since 2025-03-26 16:22:51 + */ +public interface PmSubCheckChmMapper extends BaseMapper { + /** + * 基础查询 + * + * @param pmSubCheckChm 查询条件 + * @return 返回值 + */ + List selectList(PmSubCheckChm pmSubCheckChm); + + PmSubCheckChm selectByPonoAndOrderNo(PmSubCheckChm pmSubCheckChm); +} + diff --git a/XG_Project1/src/main/java/com/xisc/pm/infra/mapper/PmSubCheckLowMapper.java b/XG_Project1/src/main/java/com/xisc/pm/infra/mapper/PmSubCheckLowMapper.java new file mode 100644 index 0000000..4215880 --- /dev/null +++ b/XG_Project1/src/main/java/com/xisc/pm/infra/mapper/PmSubCheckLowMapper.java @@ -0,0 +1,25 @@ +package com.xisc.pm.infra.mapper; + +import io.choerodon.mybatis.common.BaseMapper; +import com.xisc.pm.domain.entity.PmSubCheckLow; + +import java.util.List; + +/** + * 低倍检测结果表(PmSubCheckLow)应用服务 + * + * @author BKGY + * @since 2025-03-26 16:27:36 + */ +public interface PmSubCheckLowMapper extends BaseMapper { + /** + * 基础查询 + * + * @param pmSubCheckLow 查询条件 + * @return 返回值 + */ + List selectList(PmSubCheckLow pmSubCheckLow); + + PmSubCheckLow selectByPonoAndOrderNo(PmSubCheckLow pmSubCheckLow); +} + diff --git a/XG_Project1/src/main/java/com/xisc/pm/infra/repository/impl/PmSubCheckChmRepositoryImpl.java b/XG_Project1/src/main/java/com/xisc/pm/infra/repository/impl/PmSubCheckChmRepositoryImpl.java new file mode 100644 index 0000000..8580cf0 --- /dev/null +++ b/XG_Project1/src/main/java/com/xisc/pm/infra/repository/impl/PmSubCheckChmRepositoryImpl.java @@ -0,0 +1,46 @@ +package com.xisc.pm.infra.repository.impl; + +import org.apache.commons.collections.CollectionUtils; +import org.hzero.mybatis.base.impl.BaseRepositoryImpl; +import org.springframework.stereotype.Component; +import com.xisc.pm.domain.entity.PmSubCheckChm; +import com.xisc.pm.domain.repository.PmSubCheckChmRepository; +import com.xisc.pm.infra.mapper.PmSubCheckChmMapper; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 化学成分检测结果表(PmSubCheckChm)资源库 + * + * @author BKGY + * @since 2025-03-26 16:22:52 + */ +@Component +public class PmSubCheckChmRepositoryImpl extends BaseRepositoryImpl implements PmSubCheckChmRepository { + @Resource + private PmSubCheckChmMapper pmSubCheckChmMapper; + + @Override + public List selectList(PmSubCheckChm pmSubCheckChm) { + return pmSubCheckChmMapper.selectList(pmSubCheckChm); + } + + @Override + public PmSubCheckChm selectByPrimary(Long id) { + PmSubCheckChm pmSubCheckChm = new PmSubCheckChm(); + pmSubCheckChm.setId(id); + List pmSubCheckChms = pmSubCheckChmMapper.selectList(pmSubCheckChm); + if (CollectionUtils.isEmpty(pmSubCheckChms)) { + return null; + } + return pmSubCheckChms.get(0); + } + + @Override + public PmSubCheckChm selectByPonoAndOrderNo(PmSubCheckChm pmSubCheckChm) { + return pmSubCheckChmMapper.selectByPonoAndOrderNo(pmSubCheckChm); + } + +} + diff --git a/XG_Project1/src/main/java/com/xisc/pm/infra/repository/impl/PmSubCheckLowRepositoryImpl.java b/XG_Project1/src/main/java/com/xisc/pm/infra/repository/impl/PmSubCheckLowRepositoryImpl.java new file mode 100644 index 0000000..7b17b22 --- /dev/null +++ b/XG_Project1/src/main/java/com/xisc/pm/infra/repository/impl/PmSubCheckLowRepositoryImpl.java @@ -0,0 +1,46 @@ +package com.xisc.pm.infra.repository.impl; + +import org.apache.commons.collections.CollectionUtils; +import org.hzero.mybatis.base.impl.BaseRepositoryImpl; +import org.springframework.stereotype.Component; +import com.xisc.pm.domain.entity.PmSubCheckLow; +import com.xisc.pm.domain.repository.PmSubCheckLowRepository; +import com.xisc.pm.infra.mapper.PmSubCheckLowMapper; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 低倍检测结果表(PmSubCheckLow)资源库 + * + * @author BKGY + * @since 2025-03-26 16:27:37 + */ +@Component +public class PmSubCheckLowRepositoryImpl extends BaseRepositoryImpl implements PmSubCheckLowRepository { + @Resource + private PmSubCheckLowMapper pmSubCheckLowMapper; + + @Override + public List selectList(PmSubCheckLow pmSubCheckLow) { + return pmSubCheckLowMapper.selectList(pmSubCheckLow); + } + + @Override + public PmSubCheckLow selectByPrimary(Long id) { + PmSubCheckLow pmSubCheckLow = new PmSubCheckLow(); + pmSubCheckLow.setId(id); + List pmSubCheckLows = pmSubCheckLowMapper.selectList(pmSubCheckLow); + if (CollectionUtils.isEmpty(pmSubCheckLows)) { + return null; + } + return pmSubCheckLows.get(0); + } + + @Override + public PmSubCheckLow selectByPonoAndOrderNo(PmSubCheckLow pmSubCheckLow) { + return pmSubCheckLowMapper.selectByPonoAndOrderNo(pmSubCheckLow); + } + +} + diff --git a/XG_Project1/src/main/resources/mapper/PmSubCheckChmMapper.xml b/XG_Project1/src/main/resources/mapper/PmSubCheckChmMapper.xml new file mode 100644 index 0000000..6b70aaf --- /dev/null +++ b/XG_Project1/src/main/resources/mapper/PmSubCheckChmMapper.xml @@ -0,0 +1,70 @@ + + + + + + + PSCC.ID, + PSCC.PONO, + PSCC.ORDER_NO, + PSCC.CHM_RESULT, + PSCC.OLD_RESULT, + PSCC.TENANT_ID, + PSCC.ATTRIBUTE1, + PSCC.ATTRIBUTE2, + PSCC.ATTRIBUTE3, + PSCC.ATTRIBUTE4, + PSCC.ATTRIBUTE5, + PSCC.creation_date, PSCC.created_by, PSCC.last_updated_by, PSCC.last_update_date, PSCC.object_version_number + + + + + + + diff --git a/XG_Project1/src/main/resources/mapper/PmSubCheckLowMapper.xml b/XG_Project1/src/main/resources/mapper/PmSubCheckLowMapper.xml new file mode 100644 index 0000000..fd4ffb0 --- /dev/null +++ b/XG_Project1/src/main/resources/mapper/PmSubCheckLowMapper.xml @@ -0,0 +1,70 @@ + + + + + + + PSCL.ID, + PSCL.PONO, + PSCL.ORDER_NO, + PSCL.LOW_RESULT, + PSCL.OLD_RESULT, + PSCL.TENANT_ID, + PSCL.ATTRIBUTE1, + PSCL.ATTRIBUTE2, + PSCL.ATTRIBUTE3, + PSCL.ATTRIBUTE4, + PSCL.ATTRIBUTE5, + PSCL.creation_date, PSCL.created_by, PSCL.last_updated_by, PSCL.last_update_date, PSCL.object_version_number + + + + + + +