/* * 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.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.chinaztt.mes.warehouse.entity.PalletTransportsMaterial; import com.chinaztt.mes.warehouse.service.PalletTransportsMaterialService; import com.chinaztt.mes.warehouse.state.pallettransportsdetail.PalletTransportsDetailStateStringValues; import com.chinaztt.ztt.common.core.util.R; import com.chinaztt.ztt.common.log.annotation.SysLog; import com.chinaztt.mes.warehouse.entity.PalletTransportsDetail; import com.chinaztt.mes.warehouse.service.PalletTransportsDetailService; import com.chinaztt.ztt.common.security.annotation.Inner; 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:26 */ @RestController @AllArgsConstructor @RequestMapping("/palletTransportsDetail" ) @Api(value = "palletTransportsDetail", tags = "货盘运输任务移库明细表管理") public class PalletTransportsDetailController { private final PalletTransportsDetailService palletTransportsDetailService; private PalletTransportsMaterialService transportsMaterialService; /** * 分页查询 * @param page 分页对象 * @param palletTransportsDetail 货盘运输任务移库明细表 * @return */ @ApiOperation(value = "分页查询", notes = "分页查询") @GetMapping("/page" ) // @PreAuthorize("@pms.hasPermission('warehouse_pallet_transports_detail_view')" ) public R getWarehousePalletTransportsDetailPage(Page page, PalletTransportsDetail palletTransportsDetail) { return R.ok(palletTransportsDetailService.page(page, Wrappers.query(palletTransportsDetail))); } /** * 通过id查询货盘运输任务移库明细表 * @param id id * @return R */ @ApiOperation(value = "通过id查询", notes = "通过id查询") @GetMapping("/{id}" ) // @PreAuthorize("@pms.hasPermission('warehouse_pallet_transports_detail_view')" ) public R getById(@PathVariable("id" ) Long id) { return R.ok(palletTransportsDetailService.getById(id)); } /** * 新增货盘运输任务移库明细表 * @param palletTransportsDetail 货盘运输任务移库明细表 * @return R */ @ApiOperation(value = "新增货盘运输任务移库明细表", notes = "新增货盘运输任务移库明细表") @SysLog("新增货盘运输任务移库明细表" ) @PostMapping // @PreAuthorize("@pms.hasPermission('warehouse_pallet_transports_detail_add')" ) public R save(@RequestBody PalletTransportsDetail palletTransportsDetail) { return palletTransportsDetailService.savePalletTransportsDetail(palletTransportsDetail); } /** * 批量新增货盘运输任务移库明细表 * @param details * @return */ @ApiOperation(value = "批量新增货盘运输任务移库明细表", notes = "批量新增货盘运输任务移库明细表") @SysLog("批量新增货盘运输任务移库明细表" ) @PostMapping("/saveBatch") public R saveBatch(@RequestBody List details) { return R.ok(palletTransportsDetailService.saveBatchDetails(details)); } /** * 修改货盘运输任务移库明细表 * @param palletTransportsDetail 货盘运输任务移库明细表 * @return R */ @ApiOperation(value = "修改货盘运输任务移库明细表", notes = "修改货盘运输任务移库明细表") @SysLog("修改货盘运输任务移库明细表" ) @PutMapping // @PreAuthorize("@pms.hasPermission('warehouse_pallet_transports_detail_edit')" ) public R updateById(@RequestBody PalletTransportsDetail palletTransportsDetail) { return palletTransportsDetailService.update(palletTransportsDetail); } /** * 批量修改货盘运输任务移库明细表 * @param palletTransportsDetails 货盘运输任务移库明细表 * @return R */ @ApiOperation(value = "批量修改货盘运输任务移库明细表", notes = "批量修改货盘运输任务移库明细表") @SysLog("批量修改货盘运输任务移库明细表" ) @PutMapping("/updateBatch") public R updateBatch(@RequestBody List palletTransportsDetails) { int count = this.palletTransportsDetailService.count(Wrappers.lambdaQuery() .in(PalletTransportsDetail::getId, palletTransportsDetails.stream().map(PalletTransportsDetail::getId).collect(Collectors.toList())) .eq(PalletTransportsDetail::getState, PalletTransportsDetailStateStringValues.SUBMITTED)); if (count > 0) { return R.failed("存在已执行数据无法更新"); } return R.ok(this.palletTransportsDetailService.updateBatchById(palletTransportsDetails)); } /** * 通过id删除货盘运输任务移库明细表 * @param id id * @return R */ @ApiOperation(value = "通过id删除货盘运输任务移库明细表", notes = "通过id删除货盘运输任务移库明细表") @SysLog("通过id删除货盘运输任务移库明细表" ) @DeleteMapping("/{id}" ) // @PreAuthorize("@pms.hasPermission('warehouse_pallet_transports_detail_del')" ) public R removeById(@PathVariable Long id) { return palletTransportsDetailService.remove(id); } /** * 货盘运输任务移库 * @param ids * @return */ @ApiOperation(value = "执行移库", notes = "执行移库") @SysLog("货盘运输任务移库") @PostMapping("/executeMoveLocation") public R executeMoveLocation(@RequestBody List ids) { palletTransportsDetailService.executeMoveLocation(ids); return R.ok(); } /** * 校验PDA端的货盘运输移库物料明细 * @param * @return */ @ApiOperation(value = "校验PDA端的货盘运输移库物料明细", notes = "必传参数:货盘运输主表id、零件号、ifs批次号、wdr号") @SysLog("校验PDA端的货盘运输移库物料明细") @GetMapping("/checkScanPalletTransportsDetail") public R checkScanPalletTransportsDetail(@RequestParam("transportsId") Long transportsId,@RequestParam("partNo") String partNo,@RequestParam("batchNo") String batchNo,@RequestParam("wdr") String wdr){ return palletTransportsDetailService.checkScanPalletTransportsDetail(transportsId,partNo,batchNo,wdr); } }