| | |
| | | import cn.iocoder.yudao.module.mes.controller.admin.qc.seedquality.vo.MesQcSeedQualityPageReqVO; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.qc.seedquality.vo.MesQcSeedQualityRespVO; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.qc.seedquality.vo.MesQcSeedQualitySubmitReqVO; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.qc.seedquality.vo.MesQcSeedQualityApprovalReqVO; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.qc.seedquality.vo.MesQcSeedQualityRetestReqVO; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.qc.seedquality.vo.MesQcSeedQualityBatchApprovalReqVO; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.qc.seedquality.vo.MesQcSeedQualityBatchRetestReqVO; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.qc.seedquality.vo.MesQcSeedQualityScopeRetestReqVO; |
| | | import cn.iocoder.yudao.module.mes.controller.admin.qc.seedquality.vo.MesQcSeedIndicatorRangeSaveReqVO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.pro.bagcode.MesProBagCodeDO; |
| | | import cn.iocoder.yudao.module.mes.dal.mysql.pro.bagcode.MesProBagCodeMapper; |
| | | import cn.iocoder.yudao.module.mes.service.qc.seedquality.MesQcSeedQualityService; |
| | | import cn.iocoder.yudao.module.mes.service.qc.seedquality.MesQcSeedIndicatorRangeService; |
| | | import io.swagger.v3.oas.annotations.Operation; |
| | | import io.swagger.v3.oas.annotations.tags.Tag; |
| | | import jakarta.annotation.Resource; |
| | |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.function.Function; |
| | | import java.util.stream.Collectors; |
| | | import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; |
| | | |
| | | @Tag(name = "管理后台 - MES 种子质检") |
| | | @RestController @RequestMapping("/mes/qc/seed-quality") @Validated |
| | | public class MesQcSeedQualityController { |
| | | @Resource private MesQcSeedQualityService service; |
| | | @Resource private MesQcSeedIndicatorRangeService rangeService; |
| | | @Resource private MesProBagCodeMapper bagCodeMapper; |
| | | @GetMapping("/ranges") @Operation(summary = "获得种子质检合格范围") |
| | | @PreAuthorize("@ss.hasAnyPermissions('mes:qc-seed-quality:submit', 'mes:qc-seed-quality:retest', 'mes:qc-seed-range:query')") |
| | | public CommonResult<java.util.List<cn.iocoder.yudao.module.mes.dal.dataobject.qc.seedquality.MesQcSeedIndicatorRangeDO>> ranges() { |
| | | return success(rangeService.getRanges()); |
| | | } |
| | | |
| | | @PutMapping("/ranges") @Operation(summary = "配置种子质检合格范围") |
| | | @PreAuthorize("@ss.hasPermission('mes:qc-seed-range:update')") |
| | | public CommonResult<Boolean> saveRanges(@Valid @RequestBody MesQcSeedIndicatorRangeSaveReqVO reqVO) { |
| | | rangeService.saveRanges(reqVO); |
| | | return success(true); |
| | | } |
| | | @GetMapping("/resolve") |
| | | @Operation(summary = "解析待质检袋码及确认该袋质检结果") |
| | | @PreAuthorize("@ss.hasPermission('mes:qc-seed-quality:submit')") |
| | |
| | | @Operation(summary = "获得种子质检记录分页") |
| | | @PreAuthorize("@ss.hasPermission('mes:qc-seed-quality:query')") |
| | | public CommonResult<PageResult<MesQcSeedQualityRespVO>> getQualityPage(@Valid MesQcSeedQualityPageReqVO pageReqVO) { |
| | | return success(BeanUtils.toBean(service.getQualityPage(pageReqVO), MesQcSeedQualityRespVO.class)); |
| | | PageResult<MesQcSeedQualityRespVO> page = BeanUtils.toBean( |
| | | service.getQualityPage(pageReqVO), MesQcSeedQualityRespVO.class); |
| | | List<String> codes = page.getList().stream().map(MesQcSeedQualityRespVO::getCode) |
| | | .filter(java.util.Objects::nonNull).distinct().toList(); |
| | | if (!codes.isEmpty()) { |
| | | Map<String, MesProBagCodeDO> bagMap = bagCodeMapper.selectList(MesProBagCodeDO::getCode, codes).stream() |
| | | .collect(Collectors.toMap(MesProBagCodeDO::getCode, Function.identity(), (first, ignored) -> first)); |
| | | page.getList().forEach(record -> { |
| | | MesProBagCodeDO bag = bagMap.get(record.getCode()); |
| | | if (bag != null) record.setPalletCode(bag.getPalletCode()); |
| | | }); |
| | | } |
| | | return success(page); |
| | | } |
| | | |
| | | @GetMapping("/indicators") @Operation(summary = "获得种子质检最新指标") |
| | | @PreAuthorize("@ss.hasPermission('mes:qc-seed-quality:query')") |
| | | public CommonResult<java.util.List<cn.iocoder.yudao.module.mes.dal.dataobject.qc.seedquality.MesQcSeedQualityIndicatorDO>> indicators(@RequestParam Long id) { |
| | | return success(service.getIndicatorsByQualityId(id)); |
| | | } |
| | | @GetMapping("/actions") @Operation(summary = "获得种子质检流程留痕") |
| | | @PreAuthorize("@ss.hasPermission('mes:qc-seed-quality:query')") |
| | | public CommonResult<java.util.List<cn.iocoder.yudao.module.mes.dal.dataobject.qc.seedquality.MesQcSeedQualityActionDO>> actions(@RequestParam Long id) { |
| | | return success(service.getActions(id)); |
| | | } |
| | | |
| | | @PostMapping("/submit") @Operation(summary = "提交种子质检") |
| | |
| | | public CommonResult<java.util.Map<String, Object>> submitGroup(@Valid @RequestBody cn.iocoder.yudao.module.mes.controller.admin.qc.seedquality.vo.MesQcSeedQualityGroupSubmitReqVO reqVO) { |
| | | return success(service.submitGroup(reqVO)); |
| | | } |
| | | |
| | | @PostMapping("/retest") @Operation(summary = "种子质检复检") |
| | | @PreAuthorize("@ss.hasPermission('mes:qc-seed-quality:retest')") |
| | | public CommonResult<Boolean> retest(@RequestParam Long id, @Valid @RequestBody MesQcSeedQualityRetestReqVO reqVO) { |
| | | service.retest(id, reqVO); |
| | | return success(true); |
| | | } |
| | | |
| | | @PostMapping("/retest-batch") @Operation(summary = "同批次种子批量复检或重新初检") |
| | | @PreAuthorize("@ss.hasPermission('mes:qc-seed-quality:retest')") |
| | | public CommonResult<Boolean> retestBatch(@Valid @RequestBody MesQcSeedQualityBatchRetestReqVO reqVO) { |
| | | service.retestBatch(reqVO); |
| | | return success(true); |
| | | } |
| | | |
| | | @GetMapping("/retest-scope/resolve") @Operation(summary = "按托盘码或生产批次码解析待批量质检记录") |
| | | @PreAuthorize("@ss.hasPermission('mes:qc-seed-quality:retest')") |
| | | public CommonResult<java.util.Map<String, Object>> resolveRetestScope(@RequestParam String code, @RequestParam String scanType) { |
| | | return success(service.resolveRetestScope(code, scanType)); |
| | | } |
| | | |
| | | @PostMapping("/retest-scope") @Operation(summary = "按托盘码或生产批次码批量复检或重新初检") |
| | | @PreAuthorize("@ss.hasPermission('mes:qc-seed-quality:retest')") |
| | | public CommonResult<java.util.Map<String, Object>> retestScope(@Valid @RequestBody MesQcSeedQualityScopeRetestReqVO reqVO) { |
| | | return success(service.retestScope(reqVO)); |
| | | } |
| | | |
| | | @PostMapping("/process-approve") @Operation(summary = "初检审核") |
| | | @PreAuthorize("@ss.hasPermission('mes:qc-seed-quality:process-approve')") |
| | | public CommonResult<Boolean> processApprove(@Valid @RequestBody MesQcSeedQualityApprovalReqVO reqVO) { |
| | | service.processApprove(reqVO.getId(), reqVO.getApproved(), reqVO.getOpinion()); |
| | | return success(true); |
| | | } |
| | | |
| | | @PostMapping("/company-approve") @Operation(summary = "复检审核并流转库存") |
| | | @PreAuthorize("@ss.hasPermission('mes:qc-seed-quality:company-approve')") |
| | | public CommonResult<Boolean> companyApprove(@Valid @RequestBody MesQcSeedQualityApprovalReqVO reqVO) { |
| | | service.companyApprove(reqVO.getId(), reqVO.getApproved(), reqVO.getOpinion()); |
| | | return success(true); |
| | | } |
| | | @PostMapping("/process-approve-batch") @Operation(summary = "批量初检审核") |
| | | @PreAuthorize("@ss.hasPermission('mes:qc-seed-quality:process-approve')") |
| | | public CommonResult<Boolean> processApproveBatch(@Valid @RequestBody MesQcSeedQualityBatchApprovalReqVO reqVO) { |
| | | service.processApproveBatch(reqVO.getIds(), reqVO.getApproved(), reqVO.getOpinion()); |
| | | return success(true); |
| | | } |
| | | @PostMapping("/company-approve-batch") @Operation(summary = "批量复检审核并流转库存") |
| | | @PreAuthorize("@ss.hasPermission('mes:qc-seed-quality:company-approve')") |
| | | public CommonResult<Boolean> companyApproveBatch(@Valid @RequestBody MesQcSeedQualityBatchApprovalReqVO reqVO) { |
| | | service.companyApproveBatch(reqVO.getIds(), reqVO.getApproved(), reqVO.getOpinion()); |
| | | return success(true); |
| | | } |
| | | } |