From 256c59555e2a5dffdd6d127a519d4f0944b80e7f Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期三, 14 五月 2025 16:29:38 +0800 Subject: [PATCH] #物料表动态字段搜索 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaitPakinController.java | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 54 insertions(+), 6 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaitPakinController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaitPakinController.java index b1175b6..7f14c47 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaitPakinController.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WaitPakinController.java @@ -4,24 +4,31 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.vincent.rsf.framework.common.Cools; import com.vincent.rsf.framework.common.R; +import com.vincent.rsf.framework.exception.CoolException; import com.vincent.rsf.server.common.utils.ExcelUtil; import com.vincent.rsf.server.common.annotation.OperationLog; import com.vincent.rsf.server.common.domain.BaseParam; import com.vincent.rsf.server.common.domain.KeyValVo; import com.vincent.rsf.server.common.domain.PageParam; +import com.vincent.rsf.server.manager.controller.params.GenerateTaskParams; import com.vincent.rsf.server.manager.controller.params.WaitPakinParam; +import com.vincent.rsf.server.manager.entity.BasStation; +import com.vincent.rsf.server.manager.entity.TaskItem; import com.vincent.rsf.server.manager.entity.WaitPakin; -import com.vincent.rsf.server.manager.service.WaitPakinService; +import com.vincent.rsf.server.manager.entity.WaitPakinItem; +import com.vincent.rsf.server.manager.service.*; import com.vincent.rsf.server.system.controller.BaseController; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; import java.util.*; +import java.util.stream.Collectors; @Api(tags = "缁勬嫋閫氱煡妗�") @RestController @@ -29,6 +36,17 @@ @Autowired private WaitPakinService waitPakinService; + + @Autowired + private WaitPakinItemService waitPakinItemService; + + @Autowired + private BasStationService basStationService; + + @Autowired + private TaskService taskService; + @Autowired + private TaskItemService taskItemService; @PreAuthorize("hasAuthority('manager:waitPakin:list')") @PostMapping("/waitPakin/page") @@ -61,9 +79,14 @@ @PostMapping("/waitPakin/save") public R save(@RequestBody WaitPakin waitPakin) { waitPakin.setCreateBy(getLoginUserId()); - waitPakin.setCreateTime(new Date()); waitPakin.setUpdateBy(getLoginUserId()); - waitPakin.setUpdateTime(new Date()); + if (Objects.isNull(waitPakin.getBarcode()) || StringUtils.isBlank(waitPakin.getBarcode())) { + return R.error("鎷栫洏鐮佷笉鑳戒负绌猴紒锛�"); + } + List<WaitPakin> list = waitPakinService.list(new LambdaQueryWrapper<WaitPakin>().eq(WaitPakin::getBarcode, waitPakin.getBarcode())); + if (!list.isEmpty()) { + return R.error("鎷栫洏宸茬粍鎷栵紒锛�"); + } if (!waitPakinService.save(waitPakin)) { return R.error("Save Fail"); } @@ -85,11 +108,23 @@ @PreAuthorize("hasAuthority('manager:waitPakin:remove')") @OperationLog("Delete 缁勬嫋妗�") @PostMapping("/waitPakin/remove/{ids}") + @Transactional(rollbackFor = Exception.class) public R remove(@PathVariable Long[] ids) { - if (!waitPakinService.removeByIds(Arrays.asList(ids))) { - return R.error("Delete Fail"); + if (Arrays.asList(ids).isEmpty()) { + return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒"); } - return R.ok("Delete Success").add(ids); + for (Long id : ids) { + WaitPakin waitPakin = waitPakinService.getById(id); + BasStation isBarcodeSta = basStationService.getOne(new LambdaQueryWrapper<BasStation>() + .eq(BasStation::getBarcode, waitPakin.getBarcode()) + ,false + ); + if (!Cools.isEmpty(isBarcodeSta)){ + throw new CoolException("璇ユ潯鐮佸凡琚�"+isBarcodeSta.getStationName()+"绔欑粦瀹�"); + } + } + + return waitPakinService.removePakin(Arrays.asList(ids)); } @PreAuthorize("hasAuthority('manager:waitPakin:list')") @@ -113,4 +148,17 @@ } + @PreAuthorize("hasAuthority('manager:waitPakin:update')") + @ApiOperation("鐢熸垚浠诲姟鍒楄〃") + @PostMapping("/waitPakin/merge") + public R generateTask(@RequestBody GenerateTaskParams taskParams) { + if (Objects.isNull(taskParams)) { + throw new CoolException("鍙傛暟涓嶈兘涓虹┖锛侊紒"); + } + if (Objects.isNull(taskParams.getWaitPakins()) || taskParams.getWaitPakins().isEmpty()) { + throw new CoolException("缁勬嫋妗d笉鑳戒负绌猴紒锛�"); + } + return taskService.generateTasks(taskParams, getLoginUserId()); + } + } -- Gitblit v1.9.1