From ebdfa825c07189b5f8e89f147d96d1bc612589db Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期二, 15 七月 2025 08:32:17 +0800 Subject: [PATCH] 代码优化 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockController.java | 114 ++++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 80 insertions(+), 34 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockController.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockController.java index 9ee7129..b1fa27e 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockController.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockController.java @@ -8,8 +8,13 @@ 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.manager.controller.params.GenWaveParams; import com.vincent.rsf.server.manager.controller.params.OrderOutTaskParam; import com.vincent.rsf.server.manager.controller.params.OutStockToTaskParams; +import com.vincent.rsf.server.manager.entity.DeliveryItem; +import com.vincent.rsf.server.manager.entity.WkOrder; +import com.vincent.rsf.server.manager.entity.WkOrderItem; import com.vincent.rsf.server.manager.enums.OrderType; import com.vincent.rsf.server.manager.enums.OrderWorkType; import com.vincent.rsf.server.common.annotation.OperationLog; @@ -18,8 +23,6 @@ import com.vincent.rsf.server.common.domain.PageParam; import com.vincent.rsf.server.common.utils.ExcelUtil; import com.vincent.rsf.server.manager.controller.params.AsnOrderAndItemsParams; -import com.vincent.rsf.server.manager.entity.AsnOrder; -import com.vincent.rsf.server.manager.entity.AsnOrderItem; import com.vincent.rsf.server.manager.entity.excel.AsnOrderTemplate; import com.vincent.rsf.server.manager.enums.AsnExceStatus; import com.vincent.rsf.server.manager.service.OutStockItemService; @@ -42,7 +45,6 @@ @RestController @Api(tags = "鍑哄簱鍗曟嵁") public class OutStockController extends BaseController { - Logger logger = LoggerFactory.getLogger(OutStockController.class); @Autowired @@ -54,8 +56,19 @@ @PostMapping("/outStock/page") public R page(@RequestBody Map<String, Object> map) { BaseParam baseParam = buildParam(map, BaseParam.class); - PageParam<AsnOrder, BaseParam> pageParam = new PageParam<>(baseParam, AsnOrder.class); - QueryWrapper<AsnOrder> queryWrapper = pageParam.buildWrapper(true); + PageParam<WkOrder, BaseParam> pageParam = new PageParam<>(baseParam, WkOrder.class); + QueryWrapper<WkOrder> queryWrapper = pageParam.buildWrapper(true); + List<String> list = Arrays.asList(OrderType.ORDER_OUT.type); + queryWrapper.in("type", list); + return R.ok().add(outStockService.page(pageParam, queryWrapper)); + } + + @PreAuthorize("hasAuthority('manager:outStock:list')") + @PostMapping("/outStock/dialog/page") + public R dialogPage(@RequestBody Map<String, Object> map) { + BaseParam baseParam = buildParam(map, BaseParam.class); + PageParam<WkOrder, BaseParam> pageParam = new PageParam<>(baseParam, WkOrder.class); + QueryWrapper<WkOrder> queryWrapper = pageParam.buildWrapper(true); List<String> list = Arrays.asList(OrderType.ORDER_OUT.type); queryWrapper.in("type", list); return R.ok().add(outStockService.page(pageParam, queryWrapper)); @@ -64,7 +77,7 @@ @PreAuthorize("hasAuthority('manager:outStock:list')") @PostMapping("/outStock/list") public R list(@RequestBody Map<String, Object> map) { - return R.ok().add(outStockService.list(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getType, OrderType.ORDER_OUT.type))); + return R.ok().add(outStockService.list(new LambdaQueryWrapper<WkOrder>().eq(WkOrder::getType, OrderType.ORDER_OUT.type))); } @PreAuthorize("hasAuthority('manager:outStock:list')") @@ -84,39 +97,39 @@ @OperationLog("Create 鍑哄簱鍗曟嵁") @PostMapping("/outStock/save") @ApiOperation("淇濆瓨") - public R save(@RequestBody AsnOrder asnOrder) { - asnOrder.setCreateBy(getLoginUserId()) + public R save(@RequestBody WkOrder wkOrder) { + wkOrder.setCreateBy(getLoginUserId()) .setUpdateBy(getLoginUserId()); - if (Objects.isNull(asnOrder.getCode())) { - String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_OUT_STOCK_CODE, asnOrder); + if (Objects.isNull(wkOrder.getCode())) { + String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_OUT_STOCK_CODE, wkOrder); if (Objects.isNull(ruleCode) || StringUtils.isBlank(ruleCode)) { return R.error("缂栫爜瑙勫垯閿欒锛氱紪鐮併�孲YS_OUT_STOCK_CODE銆嶆槸鏈缃垚鍔燂紒锛�"); } - asnOrder.setExceStatus(AsnExceStatus.OUT_STOCK_STATUS_TASK_INIT.val) + wkOrder.setExceStatus(AsnExceStatus.OUT_STOCK_STATUS_TASK_INIT.val) .setCode(ruleCode); } - if (!outStockService.save(asnOrder)) { + if (!outStockService.save(wkOrder)) { return R.error("Save Fail"); } - return R.ok("Save Success").add(asnOrder); + return R.ok("Save Success").add(wkOrder); } @PreAuthorize("hasAuthority('manager:outStock:update')") @OperationLog("Update 锛涘嚭搴撳崟鎹�") @PostMapping("/outStock/update") @ApiOperation("鏇存柊") - public R update(@RequestBody AsnOrder asnOrder) { - asnOrder.setType(OrderType.ORDER_OUT.type) + public R update(@RequestBody WkOrder wkOrder) { + wkOrder.setType(OrderType.ORDER_OUT.type) .setUpdateBy(getLoginUserId()) .setUpdateTime(new Date()); - if (Objects.isNull(asnOrder.getCode())) { - String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_OUT_STOCK_CODE, asnOrder); - asnOrder.setCode(ruleCode); + if (Objects.isNull(wkOrder.getCode())) { + String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_OUT_STOCK_CODE, wkOrder); + wkOrder.setCode(ruleCode); } - if (!outStockService.updateById(asnOrder)) { + if (!outStockService.updateById(wkOrder)) { return R.error("Update Fail"); } - return R.ok("Update Success").add(asnOrder); + return R.ok("Update Success").add(wkOrder); } @PreAuthorize("hasAuthority('manager:outStock:remove')") @@ -134,9 +147,9 @@ @ApiOperation("鏌ヨ") public R query(@RequestParam(required = false) String condition) { List<KeyValVo> vos = new ArrayList<>(); - LambdaQueryWrapper<AsnOrder> wrapper = new LambdaQueryWrapper<>(); + LambdaQueryWrapper<WkOrder> wrapper = new LambdaQueryWrapper<>(); if (!Cools.isEmpty(condition)) { - wrapper.like(AsnOrder::getCode, condition); + wrapper.like(WkOrder::getCode, condition); } outStockService.page(new Page<>(1, 30), wrapper).getRecords().forEach( item -> vos.add(new KeyValVo(item.getId(), item.getCode())) @@ -154,16 +167,31 @@ return outStockService.cancelOutOrder(id); } + @PreAuthorize("hasAuthority('manager:outStock:update')") + @ApiOperation("鍒犻櫎宸茬敓鎴愭槑缁�") + @GetMapping("/outStock/items/cancel/{ids}") + public R cancel(@PathVariable Long[] ids) { + List<Long> list = Arrays.asList(ids); + if (list.isEmpty()) { + return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒"); + } + List<WkOrderItem> orderItems = outStockItemService.list(new LambdaQueryWrapper<WkOrderItem>().in(WkOrderItem::getId, list)); + if (orderItems.isEmpty()) { + throw new CoolException("鍗曟嵁鏄庣粏涓嶅瓨鍦紒锛�"); + } + return outStockService.cancelOutOrderByItems(orderItems); + } + @PreAuthorize("hasAuthority('manager:outStock:list')") @PostMapping("/outStock/export") @ApiOperation("瀵煎嚭") public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception { - List<AsnOrder> orders = new ArrayList<>(); + List<WkOrder> orders = new ArrayList<>(); if (!Objects.isNull(map.get("ids"))) { List<Long> ids = JSONArray.parseArray(JSONObject.toJSONString(map.get("ids")), Long.class); if (!ids.isEmpty()) { - orders = outStockService.list(new LambdaQueryWrapper<AsnOrder>().in(AsnOrder::getId, ids)); + orders = outStockService.list(new LambdaQueryWrapper<WkOrder>().in(WkOrder::getId, ids)); } else { orders = outStockService.list(new LambdaQueryWrapper<>()); } @@ -171,9 +199,9 @@ orders = outStockService.list(); } List<AsnOrderTemplate> orderTemplates = new ArrayList<>(); - for (AsnOrder order : orders) { - List<AsnOrderItem> orderItems = outStockItemService.list(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getAsnId, order.getId())); - for (AsnOrderItem item : orderItems) { + for (WkOrder order : orders) { + List<WkOrderItem> orderItems = outStockItemService.list(new LambdaQueryWrapper<WkOrderItem>().eq(WkOrderItem::getAsnId, order.getId())); + for (WkOrderItem item : orderItems) { if (Objects.isNull(item)) { continue; } @@ -204,19 +232,18 @@ if (Objects.isNull(params.get("ids"))) { return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒"); } - List<Long> ids = (List<Long>) params.get("ids"); - return outStockService.genOutStock(ids, getLoginUserId()); + List<DeliveryItem> items = JSON.parseArray(JSONObject.toJSONString(params.get("ids")), DeliveryItem.class); + return outStockService.genOutStock(items, getLoginUserId()); } @PreAuthorize("hasAuthority('manager:outStock:update')") @ApiOperation("鍑哄簱鍗曠敓鎴愭尝娆�") @PostMapping("/outStock/generate/wave") - public R generateWave(@RequestBody Map<String, Object> params) { + public R generateWave(@RequestBody GenWaveParams params) { if (Objects.isNull(params)) { return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒"); } - List<Long> ids = (List<Long>) params.get("ids"); - return outStockService.generateWaves(ids); + return outStockService.generateWaves(params); } @PostMapping("/outStock/items/save") @@ -240,6 +267,7 @@ } @PostMapping("/outStock/order/getOutTaskItems") + @ApiOperation("鍑哄簱鍗曞簱浣嶉瑙�") @PreAuthorize("hasAuthority('manager:outStock:list')") public R getOrderOutTaskItem(@RequestBody OrderOutTaskParam param) { if (Cools.isEmpty(param)) { @@ -262,10 +290,28 @@ if (Cools.isEmpty()) { return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒"); } + if (Objects.isNull(params.get("outId"))) { + return R.error("鍑哄簱鍙傛暟涓嶈兘涓虹┖锛侊紒"); + } List<OutStockToTaskParams> taskParams = JSONArray.parseArray(JSONArray.toJSONString(params.get("items")), OutStockToTaskParams.class); - - return outStockService.genOutStockTask(taskParams, getLoginUserId()); + List<OutStockToTaskParams> tasks = new ArrayList<>(); + for (OutStockToTaskParams taskParam : taskParams) { + if (StringUtils.isNotBlank(taskParam.getLocCode())) { + tasks.add(taskParam); + } + } + return outStockService.genOutStockTask(tasks, getLoginUserId(), Long.parseLong(params.get("outId").toString())); } + /** + * 鑾峰彇鍑哄簱绔欑偣 + * @return + */ + @GetMapping("/outStock/tasks/sites") + @ApiOperation("鑾峰彇鍑哄簱搴撳彛") + @PreAuthorize("hasAuthority('manager:outStock:list')") + public R getSiteNos() { + return outStockService.getSiteNos(); + } } -- Gitblit v1.9.1