/* * 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.plan.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.chinaztt.mes.common.wrapper.QueryWrapperUtil; import com.chinaztt.mes.plan.dto.MpsRequirementsDTO; import com.chinaztt.mes.plan.entity.MpsRequirements; import com.chinaztt.mes.plan.service.MpsRequirementsService; import com.chinaztt.ztt.common.core.util.R; import com.chinaztt.ztt.common.log.annotation.SysLog; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import java.util.List; /** * 主生产计划需求 * * @author cxf * @date 2020-09-21 10:47:51 */ @RestController @AllArgsConstructor @RequestMapping("/mpsRequirements") @Api(value = "mpsRequirements", tags = "主生产计划需求") public class MpsRequirementsController { private final MpsRequirementsService mpsRequirementsService; /** * 分页查询 * * @param page 分页对象 * @param mpsRequirements 主生产计划需求 * @return */ @ApiOperation(value = "分页查询", notes = "分页查询") @GetMapping("/page/{type}") @PreAuthorize("@pms.hasPermission('plan_mpsrequirements_view')") public R getMpsRequirementsPage(Page page, MpsRequirementsDTO mpsRequirements,@PathVariable("type") String type) { return R.ok(mpsRequirementsService.getMpsRequirementsPage(page, QueryWrapperUtil.gen(mpsRequirements),type)); } /** * 通过id查询 * * @param id id * @return R */ @ApiOperation(value = "通过id查询", notes = "通过id查询") @GetMapping("/{id}") @PreAuthorize("@pms.hasPermission('plan_mpsrequirements_view')") public R getById(@PathVariable("id") Long id) { return R.ok(mpsRequirementsService.selectById(id)); } /** * 新增主生产计划需求 * * @param mpsRequirements 主生产计划需求 * @return R */ @ApiOperation(value = "新增主生产计划需求", notes = "新增主生产计划需求") @SysLog("新增主生产计划需求") @PostMapping @PreAuthorize("@pms.hasPermission('plan_mpsrequirements_add')") public R save(@RequestBody MpsRequirements mpsRequirements) { return R.ok(mpsRequirementsService.save(mpsRequirements)); } /** * 修改主生产计划需求 * * @param mpsRequirements 主生产计划需求 * @return R */ @ApiOperation(value = "修改主生产计划需求", notes = "修改主生产计划需求") @SysLog("修改主生产计划需求") @PutMapping @PreAuthorize("@pms.hasPermission('plan_mpsrequirements_edit')") public R updateById(@RequestBody MpsRequirements mpsRequirements) { // 判断一下,是否超出客户订单数量(以后不想要限制直接去掉) mpsRequirementsService.checkOverageOrder(mpsRequirements); return R.ok(mpsRequirementsService.updateById(mpsRequirements)); } /** * 通过id删除计划与排程 * * @param id id * @return R */ @ApiOperation(value = "通过id删除主生产计划需求", notes = "通过id删除主生产计划需求") @SysLog("通过id删除主生产计划需求") @DeleteMapping("/{id}") @PreAuthorize("@pms.hasPermission('plan_mpsrequirements_del')") public R removeById(@PathVariable Long id) { return R.ok(mpsRequirementsService.deleteById(id)); } /** * 改变计划需求状态 * * @param ids * @return */ @ApiOperation(value = "改变计划需求状态", notes = "改变计划需求状态") @PostMapping("/changeState/{event}") public R changeState(@RequestBody List ids, @PathVariable String event) { return R.ok(mpsRequirementsService.changeState(ids, event)); } /** * Description: 创建主生产计划 * * @param: mpsRequirementsDTOList * @return: R */ @ApiOperation(value = "创建主生产计划", notes = "创建主生产计划") @PostMapping("/createMasterProductionSchedule") public R createMasterProductionSchedule(@RequestBody List mpsRequirementsDTOList) { return R.ok(mpsRequirementsService.createMasterProductionSchedule(mpsRequirementsDTOList)); } /** * 通过主需求id查询客户订单 * * @param id id * @return R */ @ApiOperation(value = "通过主需求id查询客户订单", notes = "通过主需求id查询客户订单") @GetMapping("/getCustomer/{id}") public R getCustomer(@PathVariable("id") Long id) { return R.ok(mpsRequirementsService.getCustomer(id)); } }