From ee608e161f17082b9fd6e1ed236214a0ac5c2f0e Mon Sep 17 00:00:00 2001 From: skyouc <creaycat@gmail.com> Date: 星期五, 02 五月 2025 17:55:09 +0800 Subject: [PATCH] Asn订单功优化 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockController.java | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 54 insertions(+), 3 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 0cf149b..14d847d 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 @@ -13,12 +13,11 @@ import com.vincent.rsf.server.common.domain.KeyValVo; 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.AsnOrderItemService; -import com.vincent.rsf.server.manager.service.AsnOrderService; import com.vincent.rsf.server.manager.service.OutStockItemService; import com.vincent.rsf.server.manager.service.OutStockService; import com.vincent.rsf.server.system.constant.SerialRuleCode; @@ -82,7 +81,8 @@ if (Objects.isNull(ruleCode) || StringUtils.isBlank(ruleCode)) { return R.error("缂栫爜瑙勫垯閿欒锛氱紪鐮併�孲YS_OUT_STOCK_CODE銆嶆槸鏈缃垚鍔燂紒锛�"); } - asnOrder.setCode(ruleCode); + asnOrder.setExceStatus(AsnExceStatus.OUT_STOCK_STATUS_TASK_INIT.val) + .setCode(ruleCode); } if (!outStockService.save(asnOrder)) { return R.error("Save Fail"); @@ -98,6 +98,10 @@ asnOrder.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 (!outStockService.updateById(asnOrder)) { return R.error("Update Fail"); } @@ -188,4 +192,51 @@ } ExcelUtil.build(ExcelUtil.create(orderTemplates, AsnOrderTemplate.class), response); } + + + @PreAuthorize("hasAuthority('manager:outStock:update')") + @ApiOperation("閫氳繃DO鍗曠敓鎴愬嚭搴撳崟") + @PostMapping("/outStock/generate/orders") + public R genOutStock(@RequestBody Map<String, Object> params) { + if (Objects.isNull(params.get("ids"))) { + return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒"); + } + List<Long> ids = (List<Long>) params.get("ids"); + return outStockService.genOutStock(ids); + } + + @PreAuthorize("hasAuthority('manager:outStock:update')") + @ApiOperation("鍑哄簱鍗曠敓鎴愭尝娆�") + @PostMapping("/outStock/generate/wave") + public R generateWave(@RequestBody Map<String, Object> params) { + if (Objects.isNull(params)) { + return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒"); + } + List<Long> ids = (List<Long>) params.get("ids"); + return outStockService.generateWaves(ids); + } + + @PostMapping("/outStock/items/save") + @ApiOperation("淇濆瓨涓诲崟鍙婃槑缁�") + @PreAuthorize("hasAuthority('manager:outStock:save')") + public R saveOutStock(@RequestBody AsnOrderAndItemsParams params) throws Exception { + if (Objects.isNull(params)) { + return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒"); + } + return outStockService.saveOutStock(params, getLoginUserId()); + } + + @ApiOperation("鍗曟嵁淇℃伅淇敼") + @PostMapping("/outStock/items/update") + @PreAuthorize("hasAuthority('manager:outStock:update')") + public R orderAndrItemUpdate(@RequestBody AsnOrderAndItemsParams params) throws Exception { + if (Objects.isNull(params)) { + return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒"); + } + return outStockService.updateOrderItem(params, getLoginUserId()); + } + + + + } -- Gitblit v1.9.1