/* * Copyright (c) 2018-2025, ztt All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * Neither the name of the pig4cloud.com developer nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * Author: ztt */ package com.chinaztt.mes.production.controller; import cn.hutool.core.collection.CollectionUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.chinaztt.mes.common.wrapper.QueryWrapperUtil; import com.chinaztt.mes.production.dto.SegmentationTaskRecordDTO; import com.chinaztt.ztt.common.core.util.R; import com.chinaztt.ztt.common.log.annotation.SysLog; import com.chinaztt.mes.production.entity.SegmentationTaskRecord; import com.chinaztt.mes.production.service.SegmentationTaskRecordService; import org.springframework.security.access.prepost.PreAuthorize; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springframework.web.bind.annotation.*; import java.util.Arrays; import java.util.List; /** * 分割任务明细 * * @author shz * @date 2023-02-14 09:04:11 */ @RestController @AllArgsConstructor @RequestMapping("/segmentationTaskRecord") @Api(value = "segmentationTaskRecord", tags = "分割任务明细管理") public class SegmentationTaskRecordController { private final SegmentationTaskRecordService segmentationTaskRecordService; /** * 分页查询 * * @param page 分页对象 * @param segmentationTaskRecord 分割任务明细 * @return */ @ApiOperation(value = "分页查询", notes = "分页查询") @GetMapping("/page") @PreAuthorize("@pms.hasPermission('segmentation_task_record_view')") public R> getProductionSegmentationTaskRecordPage(Page page, SegmentationTaskRecordDTO segmentationTaskRecord) { return R.ok(segmentationTaskRecordService.getPage(page, QueryWrapperUtil.gen(segmentationTaskRecord),segmentationTaskRecord)); } /** * 通过id查询分割任务明细 * * @param id id * @return R */ @ApiOperation(value = "通过id查询", notes = "通过id查询") @GetMapping("/{id}") @PreAuthorize("@pms.hasPermission('segmentation_task_record_view')") public R getById(@PathVariable("id") Long id) { return R.ok(segmentationTaskRecordService.getById(id)); } /** * 新增分割任务明细 * * @param segmentationTaskRecord 分割任务明细 * @return R */ @ApiOperation(value = "新增分割任务明细", notes = "新增分割任务明细") @SysLog("新增分割任务明细") @PostMapping @PreAuthorize("@pms.hasPermission('segmentation_task_record_add')") public R save(@RequestBody SegmentationTaskRecordDTO segmentationTaskRecord) { if (CollectionUtil.isEmpty(segmentationTaskRecord.getInputs())) { return R.failed("请选择需要分割任务的物料"); } return R.ok(segmentationTaskRecordService.fullSave(segmentationTaskRecord)); } /** * 修改分割任务明细 * * @param segmentationTaskRecords 分割任务明细 * @return R */ @ApiOperation(value = "修改分割任务明细", notes = "修改分割任务明细") @SysLog("修改分割任务明细") @PutMapping @PreAuthorize("@pms.hasPermission('segmentation_task_record_edit')") public R updateById(@RequestBody List segmentationTaskRecords) { return R.ok(segmentationTaskRecordService.fullUpdate(segmentationTaskRecords)); } /** * 通过id删除分割任务明细 * * @param id id * @return R */ @ApiOperation(value = "通过id删除分割任务明细", notes = "通过id删除分割任务明细") @SysLog("通过id删除分割任务明细") @DeleteMapping("/{id}") @PreAuthorize("@pms.hasPermission('segmentation_task_record_del')") public R removeById(@PathVariable Long id) { return R.ok(segmentationTaskRecordService.removeById(id)); } /** * 通过id批量删除分割明细 * * @param ids ids * @return R */ @ApiOperation(value = "通过id批量删除分割明细", notes = "通过id批量删除分割明细") @SysLog("通过id批量删除分割明细") @DeleteMapping("/delByIds") @PreAuthorize("@pms.hasPermission('segmentation_task_record_del')") public R delByIds(@RequestBody List ids) { return R.ok(segmentationTaskRecordService.delByIds(ids)); } /** * 提交分割任务 * * @param ids ids * @return R */ @ApiOperation(value = "提交分割任务", notes = "提交分割任务") @SysLog("提交分割任务") @PutMapping("/submit") public R submit(@RequestBody List ids) { return R.ok(segmentationTaskRecordService.submit(ids)); } /** * 批量标签打印 * * @param ids ids * @return R */ @ApiOperation(value = "批量标签打印", notes = "批量标签打印") @GetMapping("/batchLabelPrint") public R> batchLabelPrint(@RequestParam("ids") List ids) { return R.ok(segmentationTaskRecordService.batchLabelPrint(ids)); } /** * 分割任务校验 * @param segmentationTaskRecord 分割任务明细 * @return R */ @ApiOperation(value = "分割任务校验", notes = "分割任务校验") @PostMapping("/check") public R check(@RequestBody SegmentationTaskRecordDTO segmentationTaskRecord) { return R.ok(segmentationTaskRecordService.check(segmentationTaskRecord)); } /** * 分割任务编辑校验 * @param segmentationTaskRecords 为编辑后的数据 * @return R */ @ApiOperation(value = "分割任务编辑校验", notes = "分割任务编辑校验") @PostMapping("/checkEdit") public R checkEdit(@RequestBody List segmentationTaskRecords) { return R.ok(segmentationTaskRecordService.checkEdit(segmentationTaskRecords)); } }