From be2b564f3de31b36e29e83b7fff3bffb4be1ae5b Mon Sep 17 00:00:00 2001 From: Paul Date: Fri, 8 Sep 2023 11:45:22 +0800 Subject: [PATCH] =?UTF-8?q?feat(IQC=E6=A3=80=E9=AA=8C=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E4=B8=BB=E7=94=BB=E9=9D=A2):=E6=96=B0=E5=A2=9EIQC=E6=A3=80?= =?UTF-8?q?=E9=AA=8C=E4=BB=BB=E5=8A=A1=E4=B8=BB=E7=94=BB=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1.新增IQC检验任务主画面 refs: #16202 --- .../iep/qms/dto/QmsInspecDetailDTO.java | 3 ++ .../iep/qms/dto/QmsInspecResultDTO.java | 16 ++++++ .../controller/QmsInspecJobController.java | 20 +++++++ .../qms/service/QmsInspecDetailService.java | 4 ++ .../iep/qms/service/QmsInspecJobService.java | 3 ++ .../impl/QmsInspecDetailServiceImpl.java | 52 +++++++++++++++++++ .../service/impl/QmsInspecJobServiceImpl.java | 12 ++++- .../service/impl/QmsQcPlanServiceImpl.java | 4 ++ .../impl/QmsSamplePlanServiceImpl.java | 2 +- .../resources/qms/i18n/messages.properties | 1 + .../iep/qms/mapper/QmsInspecJobMapper.java | 8 +++ 11 files changed, 123 insertions(+), 2 deletions(-) create mode 100644 qms-api/src/main/java/com/foreverwin/iep/qms/dto/QmsInspecResultDTO.java diff --git a/qms-api/src/main/java/com/foreverwin/iep/qms/dto/QmsInspecDetailDTO.java b/qms-api/src/main/java/com/foreverwin/iep/qms/dto/QmsInspecDetailDTO.java index 6a42533..ed3c934 100644 --- a/qms-api/src/main/java/com/foreverwin/iep/qms/dto/QmsInspecDetailDTO.java +++ b/qms-api/src/main/java/com/foreverwin/iep/qms/dto/QmsInspecDetailDTO.java @@ -5,6 +5,7 @@ import com.foreverwin.iep.qms.entity.QmsInspecResult; import lombok.Data; import lombok.EqualsAndHashCode; +import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -33,4 +34,6 @@ public class QmsInspecDetailDTO extends QmsInspecDetail { private QmsInspecResult contentResult; private List factorList; + + private List inspecResultList = new ArrayList<>(); } diff --git a/qms-api/src/main/java/com/foreverwin/iep/qms/dto/QmsInspecResultDTO.java b/qms-api/src/main/java/com/foreverwin/iep/qms/dto/QmsInspecResultDTO.java new file mode 100644 index 0000000..fd520a0 --- /dev/null +++ b/qms-api/src/main/java/com/foreverwin/iep/qms/dto/QmsInspecResultDTO.java @@ -0,0 +1,16 @@ +package com.foreverwin.iep.qms.dto; + +import com.foreverwin.iep.qms.entity.QmsInspecResult; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.ArrayList; +import java.util.List; + +@EqualsAndHashCode(callSuper = true) +@Data +public class QmsInspecResultDTO extends QmsInspecResult { + + private List qmsInspecResultNccodeList = new ArrayList<>(); + +} diff --git a/qms-core/src/main/java/com/foreverwin/iep/qms/controller/QmsInspecJobController.java b/qms-core/src/main/java/com/foreverwin/iep/qms/controller/QmsInspecJobController.java index e4b6693..78ea109 100644 --- a/qms-core/src/main/java/com/foreverwin/iep/qms/controller/QmsInspecJobController.java +++ b/qms-core/src/main/java/com/foreverwin/iep/qms/controller/QmsInspecJobController.java @@ -59,6 +59,13 @@ public class QmsInspecJobController { return R.ok(qmsInspecJobService.getResrce(page, resrce, operation)); } + @ApiOperation(value = "收料单号開窗", notes = "收料单号開窗") + @GetMapping("/receiptNo/page") + public R getReceiptNo(FrontPage page, + @RequestParam(value = "receiptNo", required = false) String receiptNo) { + return R.ok(qmsInspecJobService.getReceiptNo(page, receiptNo)); + } + @ApiOperation(value = "檢驗任務創建", notes = "檢驗任務創建") @PostMapping("/create") public R create(@RequestBody InspecJob inspecJob) { @@ -84,6 +91,12 @@ public class QmsInspecJobController { return R.ok(qmsInspecDetailService.getDetailResult(inspecDetailBo)); } + @ApiOperation(value = "IQC檢驗任務明細-檢驗項目查詢", notes = "IQC檢驗任務明細-檢驗項目查詢") + @GetMapping("/iqc/detail/result/{inspecDetailBo}") + public R getIQCDetailResult(@PathVariable("inspecDetailBo") String inspecDetailBo) { + return R.ok(qmsInspecDetailService.getIQCDetailResult(inspecDetailBo)); + } + @ApiOperation(value = "檢驗任務明細-檢驗項目結果保存", notes = "檢驗任務明細-檢驗項目結果保存") @PostMapping("/detail/result") public R saveDetailResult(@RequestBody QmsInspecDetailDTO dto) { @@ -91,6 +104,13 @@ public class QmsInspecJobController { return R.ok(); } + @ApiOperation(value = "IQC檢驗任務明細-檢驗項目結果保存", notes = "IQC檢驗任務明細-檢驗項目結果保存") + @PostMapping("/iqc/detail/result") + public R saveIQCResult(@RequestBody QmsInspecDetailDTO dto) { + qmsInspecDetailService.saveIQCResult(dto); + return R.ok(); + } + @ApiOperation(value = "檢驗任務-不合格代碼", notes = "檢驗任務-不合格代碼") @GetMapping("/nc/{inspecJobBo}") public R getNc(@PathVariable("inspecJobBo") String inspecJobBo) { diff --git a/qms-core/src/main/java/com/foreverwin/iep/qms/service/QmsInspecDetailService.java b/qms-core/src/main/java/com/foreverwin/iep/qms/service/QmsInspecDetailService.java index 74da330..5d04ae4 100644 --- a/qms-core/src/main/java/com/foreverwin/iep/qms/service/QmsInspecDetailService.java +++ b/qms-core/src/main/java/com/foreverwin/iep/qms/service/QmsInspecDetailService.java @@ -19,4 +19,8 @@ public interface QmsInspecDetailService extends IService { QmsInspecDetailDTO getDetailResult(String inspecDetailBo); void saveResult(QmsInspecDetailDTO dto); + + QmsInspecDetailDTO getIQCDetailResult(String inspecDetailBo); + + void saveIQCResult(QmsInspecDetailDTO dto); } diff --git a/qms-core/src/main/java/com/foreverwin/iep/qms/service/QmsInspecJobService.java b/qms-core/src/main/java/com/foreverwin/iep/qms/service/QmsInspecJobService.java index c23ca9c..5f53762 100644 --- a/qms-core/src/main/java/com/foreverwin/iep/qms/service/QmsInspecJobService.java +++ b/qms-core/src/main/java/com/foreverwin/iep/qms/service/QmsInspecJobService.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.foreverwin.iep.common.base.FrontPage; import com.foreverwin.iep.qms.domain.InspecJob; import com.foreverwin.iep.qms.domain.Item; +import com.foreverwin.iep.qms.domain.ReceiptInfo; import com.foreverwin.iep.qms.domain.Resource; import com.foreverwin.iep.qms.dto.QmsInspecJobDTO; import com.foreverwin.iep.qms.dto.QmsInspecResultNccodeDTO; @@ -24,6 +25,8 @@ public interface QmsInspecJobService extends IService { IPage getResrce(FrontPage page, String resrce, String operation); + IPage getReceiptNo( FrontPage page, String receiptNo); + IPage selectAll(FrontPage page, QmsInspecJobDTO dto); QmsInspecJob create(InspecJob inspecJob); diff --git a/qms-core/src/main/java/com/foreverwin/iep/qms/service/impl/QmsInspecDetailServiceImpl.java b/qms-core/src/main/java/com/foreverwin/iep/qms/service/impl/QmsInspecDetailServiceImpl.java index 93be8ac..7982bb2 100644 --- a/qms-core/src/main/java/com/foreverwin/iep/qms/service/impl/QmsInspecDetailServiceImpl.java +++ b/qms-core/src/main/java/com/foreverwin/iep/qms/service/impl/QmsInspecDetailServiceImpl.java @@ -11,6 +11,7 @@ import com.foreverwin.iep.prd.entity.NcBasis; import com.foreverwin.iep.prd.mapper.NcBasisMapper; import com.foreverwin.iep.qms.dto.QmsInspecDetailDTO; import com.foreverwin.iep.qms.dto.QmsInspecFactorDTO; +import com.foreverwin.iep.qms.dto.QmsInspecResultDTO; import com.foreverwin.iep.qms.dto.QmsInspecResultNccodeDTO; import com.foreverwin.iep.qms.entity.*; import com.foreverwin.iep.qms.mapper.QmsInspecDetailMapper; @@ -221,6 +222,57 @@ public class QmsInspecDetailServiceImpl extends ServiceImpl inspecResults = qmsInspecResultService.list(Wrappers.lambdaQuery(QmsInspecResult.class) + .eq(QmsInspecResult::getInspecDetailBo, inspecDetailBo)); + + inspecDetail.setFactorList(qmsInspecFactorService.selectAll(inspecDetailBo)); + + inspecResults.forEach(result ->{ + QmsInspecResultDTO resultDTO = new QmsInspecResultDTO(); + BeanUtils.copyProperties(result, resultDTO); + resultDTO.setQmsInspecResultNccodeList(qmsInspecResultNccodeService.selectAll(result.getSid())); + inspecDetail.getInspecResultList().add(resultDTO); + }); + + return inspecDetail; + } + + @Override + @Transactional + public void saveIQCResult( QmsInspecDetailDTO dto ) { + + String inspecJobBo = dto.getInspecJobBo(); + String inspecDetailBo = dto.getHandle(); + List factorList = dto.getFactorList(); + List resultList = dto.getInspecResultList(); + + remove(dto.getHandle()); + updateJobStatus(inspecJobBo); + saveFactor(inspecDetailBo, factorList); + + List inspecResultList = new ArrayList<>(); + List inspecResultNcList = new ArrayList<>(); + + resultList.forEach(result->{ + result.setSid(SidUtils.genSid()); + result.setInspecDetailBo(dto.getHandle()); + inspecResultList.add(result); + + result.getQmsInspecResultNccodeList().forEach(ncCode -> { + ncCode.setSid(SidUtils.genSid()); + ncCode.setInspecResultSid(result.getSid()); + inspecResultNcList.add(ncCode); + }); + }); + + updateDetail(dto.getHandle()); + qmsInspecResultService.saveBatch(inspecResultList); + qmsInspecResultNccodeService.saveBatch(inspecResultNcList); + } + private QmsInspecSn filterSn(List inspecSns, String seq) { return inspecSns.stream() .filter(filters -> filters.getSeq().equals(seq)) diff --git a/qms-core/src/main/java/com/foreverwin/iep/qms/service/impl/QmsInspecJobServiceImpl.java b/qms-core/src/main/java/com/foreverwin/iep/qms/service/impl/QmsInspecJobServiceImpl.java index fa7a789..e535b4e 100644 --- a/qms-core/src/main/java/com/foreverwin/iep/qms/service/impl/QmsInspecJobServiceImpl.java +++ b/qms-core/src/main/java/com/foreverwin/iep/qms/service/impl/QmsInspecJobServiceImpl.java @@ -33,6 +33,7 @@ import com.foreverwin.iep.qms.constant.Factor; import com.foreverwin.iep.qms.constant.Freq; import com.foreverwin.iep.qms.domain.InspecJob; import com.foreverwin.iep.qms.domain.Item; +import com.foreverwin.iep.qms.domain.ReceiptInfo; import com.foreverwin.iep.qms.domain.Resource; import com.foreverwin.iep.qms.dto.*; import com.foreverwin.iep.qms.entity.*; @@ -108,6 +109,11 @@ public class QmsInspecJobServiceImpl extends ServiceImpl getReceiptNo( FrontPage page, String receiptNo ) { + return baseMapper.selectReceiptNo(page, TenantContextHolder.getTenantId(), receiptNo); + } + @Override public IPage selectAll(FrontPage page, QmsInspecJobDTO dto) { dto.setSite(TenantContextHolder.getTenantId()); @@ -121,7 +127,11 @@ public class QmsInspecJobServiceImpl extends ServiceImpllambdaQuery() + .eq(QmsInspecJob::getQcPlanBo, handle)) > 0); + return qcPlan; } diff --git a/qms-core/src/main/java/com/foreverwin/iep/qms/service/impl/QmsSamplePlanServiceImpl.java b/qms-core/src/main/java/com/foreverwin/iep/qms/service/impl/QmsSamplePlanServiceImpl.java index 6e1d673..13f9d0a 100644 --- a/qms-core/src/main/java/com/foreverwin/iep/qms/service/impl/QmsSamplePlanServiceImpl.java +++ b/qms-core/src/main/java/com/foreverwin/iep/qms/service/impl/QmsSamplePlanServiceImpl.java @@ -274,7 +274,7 @@ public class QmsSamplePlanServiceImpl extends ServiceImpl { @Param("resrce") String resrce, @Param("operation") String operation); + IPage selectReceiptNo( FrontPage page, + @Param("site") String site, + @Param("receiptNo") String receiptNo); + IPage selectAll(FrontPage page, @Param("dto") QmsInspecJobDTO dto); + + IPage selectIQC(FrontPage page, + @Param("dto") QmsInspecJobDTO dto); }