/* * 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.warehouse.controller; 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.warehouse.dto.PalletTransportsMaterialDTO; import com.chinaztt.ztt.common.core.util.R; import com.chinaztt.ztt.common.log.annotation.SysLog; import com.chinaztt.mes.warehouse.entity.PalletTransportsMaterial; import com.chinaztt.mes.warehouse.service.PalletTransportsMaterialService; 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.math.BigDecimal; import java.util.List; import java.util.stream.Collectors; /** * 货盘运输任务物料需求 * * @author shz * @date 2022-05-24 17:17:25 */ @RestController @AllArgsConstructor @RequestMapping("/palletTransportsMaterial" ) @Api(value = "palletTransportsMaterial", tags = "货盘运输任务物料需求管理") public class PalletTransportsMaterialController { private final PalletTransportsMaterialService palletTransportsMaterialService; /** * 分页查询 * @param page 分页对象 * @param palletTransportsMaterial 货盘运输任务物料需求 * @return */ @ApiOperation(value = "分页查询", notes = "分页查询") @GetMapping("/page" ) // @PreAuthorize("@pms.hasPermission('warehouse_pallet_transports_material_view')" ) public R getWarehousePalletTransportsMaterialPage(Page page, PalletTransportsMaterialDTO palletTransportsMaterial) { return R.ok(palletTransportsMaterialService.getPage(page, QueryWrapperUtil.gen(palletTransportsMaterial))); } /** * 通过id查询货盘运输任务物料需求 * @param id id * @return R */ @ApiOperation(value = "通过id查询", notes = "通过id查询") @GetMapping("/{id}" ) // @PreAuthorize("@pms.hasPermission('warehouse_pallet_transports_material_view')" ) public R getById(@PathVariable("id" ) Long id) { return R.ok(palletTransportsMaterialService.getById(id)); } /** * 新增货盘运输任务物料需求 * @param palletTransportsMaterial 货盘运输任务物料需求 * @return R */ @ApiOperation(value = "新增货盘运输任务物料需求", notes = "新增货盘运输任务物料需求") @SysLog("新增货盘运输任务物料需求" ) @PostMapping // @PreAuthorize("@pms.hasPermission('warehouse_pallet_transports_material_add')" ) public R save(@RequestBody PalletTransportsMaterial palletTransportsMaterial) { palletTransportsMaterialService.savePalletTransportsMaterial(palletTransportsMaterial); return R.ok(); } /** * 修改货盘运输任务物料需求 * @param palletTransportsMaterial 货盘运输任务物料需求 * @return R */ @ApiOperation(value = "修改货盘运输任务物料需求", notes = "修改货盘运输任务物料需求") @SysLog("修改货盘运输任务物料需求" ) @PutMapping // @PreAuthorize("@pms.hasPermission('warehouse_pallet_transports_material_edit')" ) public R updateById(@RequestBody PalletTransportsMaterial palletTransportsMaterial) { PalletTransportsMaterial material = this.palletTransportsMaterialService.getById(palletTransportsMaterial.getId()); if (palletTransportsMaterial.getDemandQuantity() != null) { if (material.getDetailExistState()) { return R.failed("存在明细无法修改"); } palletTransportsMaterial.setTransferQuantity(BigDecimal.ZERO); palletTransportsMaterial.setSurplusQuantity(palletTransportsMaterial.getDemandQuantity()); } palletTransportsMaterialService.updateById(palletTransportsMaterial); return R.ok(this.palletTransportsMaterialService.getById(palletTransportsMaterial.getId())); } /** * 批量修改货盘运输任务物料需求 * @param palletTransportsMaterials * @return */ @ApiOperation(value = "批量修改货盘运输任务物料需求", notes = "批量修改货盘运输任务物料需求") @SysLog("批量修改货盘运输任务物料需求" ) @PutMapping("/updateBatch") public R updateBatch(@RequestBody List palletTransportsMaterials) { int count = this.palletTransportsMaterialService.count(Wrappers.lambdaQuery() .in(PalletTransportsMaterial::getId, palletTransportsMaterials.stream().map(PalletTransportsMaterial::getId).collect(Collectors.toList())) .eq(PalletTransportsMaterial::getDetailExistState, true)); if (count > 0) { return R.failed("存在明细的需求不能修改"); } return R.ok(this.palletTransportsMaterialService.updateBatchById(palletTransportsMaterials)); } /** * 通过id删除货盘运输任务物料需求 * @param id id * @return R */ @ApiOperation(value = "通过id删除货盘运输任务物料需求", notes = "通过id删除货盘运输任务物料需求") @SysLog("通过id删除货盘运输任务物料需求" ) @DeleteMapping("/{id}" ) // @PreAuthorize("@pms.hasPermission('warehouse_pallet_transports_material_del')" ) public R removeById(@PathVariable Long id) { return R.ok(palletTransportsMaterialService.fullDeleteById(id)); } }