From 1e7849282875b5bcd237d93f7b496aecb6ede4b6 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期一, 05 五月 2025 10:01:11 +0800 Subject: [PATCH] 1. 任务历史档报错问题修复 2. 单据添加收货单明细不显示问题修复 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockController.java | 108 ++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 88 insertions(+), 20 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 73618e0..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,17 +13,19 @@ 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; import com.vincent.rsf.server.system.controller.BaseController; import com.vincent.rsf.server.system.utils.SerialRuleUtils; 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.web.bind.annotation.*; @@ -36,35 +38,35 @@ public class OutStockController extends BaseController { @Autowired - private AsnOrderService asnOrderService; + private OutStockService outStockService; @Autowired - private AsnOrderItemService asnOrderItemService; + private OutStockItemService outStockItemService; @PreAuthorize("hasAuthority('manager:outStock:list')") @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); - return R.ok().add(asnOrderService.page(pageParam, pageParam.buildWrapper(true))); + return R.ok().add(outStockService.page(pageParam, pageParam.buildWrapper(true))); } @PreAuthorize("hasAuthority('manager:outStock:list')") @PostMapping("/outStock/list") public R list(@RequestBody Map<String, Object> map) { - return R.ok().add(asnOrderService.list(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getType, OrderType.ORDER_OUT.type))); + return R.ok().add(outStockService.list(new LambdaQueryWrapper<AsnOrder>().eq(AsnOrder::getType, OrderType.ORDER_OUT.type))); } @PreAuthorize("hasAuthority('manager:outStock:list')") @PostMapping({"/outStock/many/{ids}", "/asnOrders/many/{ids}"}) public R many(@PathVariable Long[] ids) { - return R.ok().add(asnOrderService.listByIds(Arrays.asList(ids))); + return R.ok().add(outStockService.listByIds(Arrays.asList(ids))); } - @PreAuthorize("hasAuthority('manager:asnOrder:list')") + @PreAuthorize("hasAuthority('manager:outStock:list')") @OperationLog("琛ㄥ崟鏌ヨ") @GetMapping("/outStock/{id}") public R get(@PathVariable("id") Long id) { - return R.ok().add(asnOrderService.getById(id)); + return R.ok().add(outStockService.getById(id)); } @PreAuthorize("hasAuthority('manager:outStock:save')") @@ -74,11 +76,15 @@ public R save(@RequestBody AsnOrder asnOrder) { asnOrder.setCreateBy(getLoginUserId()) .setUpdateBy(getLoginUserId()); - if (!Objects.isNull(asnOrder.getCode())) { - String code = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_OUT_STOCK_CODE, asnOrder); - asnOrder.setCode(code); + if (Objects.isNull(asnOrder.getCode())) { + String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_OUT_STOCK_CODE, asnOrder); + if (Objects.isNull(ruleCode) || StringUtils.isBlank(ruleCode)) { + return R.error("缂栫爜瑙勫垯閿欒锛氱紪鐮併�孲YS_OUT_STOCK_CODE銆嶆槸鏈缃垚鍔燂紒锛�"); + } + asnOrder.setExceStatus(AsnExceStatus.OUT_STOCK_STATUS_TASK_INIT.val) + .setCode(ruleCode); } - if (!asnOrderService.save(asnOrder)) { + if (!outStockService.save(asnOrder)) { return R.error("Save Fail"); } return R.ok("Save Success").add(asnOrder); @@ -92,7 +98,11 @@ asnOrder.setType(OrderType.ORDER_OUT.type) .setUpdateBy(getLoginUserId()) .setUpdateTime(new Date()); - if (!asnOrderService.updateById(asnOrder)) { + 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"); } return R.ok("Update Success").add(asnOrder); @@ -102,7 +112,7 @@ @OperationLog("Delete 鍑哄簱鍗曟嵁") @PostMapping("/outStock/remove/{ids}") public R remove(@PathVariable Long[] ids) { - if (!asnOrderService.removeByIds(Arrays.asList(ids))) { + if (!outStockService.removeByIds(Arrays.asList(ids))) { return R.error("Delete Fail"); } return R.ok("Delete Success").add(ids); @@ -117,11 +127,22 @@ if (!Cools.isEmpty(condition)) { wrapper.like(AsnOrder::getCode, condition); } - asnOrderService.page(new Page<>(1, 30), wrapper).getRecords().forEach( + outStockService.page(new Page<>(1, 30), wrapper).getRecords().forEach( item -> vos.add(new KeyValVo(item.getId(), item.getCode())) ); return R.ok().add(vos); } + + @PreAuthorize("hasAuthority('manager:outStock:update')") + @ApiOperation("鍙栨秷鍑哄簱鍗曟嵁") + @GetMapping("/outStock/cancel/{id}") + public R cancel(@PathVariable String id) { + if (Objects.isNull(id)) { + return R.error("鍙傛暟涓嶈兘涓虹┖锛侊紒"); + } + return outStockService.cancelOutOrder(id); + } + @PreAuthorize("hasAuthority('manager:outStock:list')") @PostMapping("/outStock/export") @@ -131,16 +152,16 @@ if (!Objects.isNull(map.get("ids"))) { List<Long> ids = JSONArray.parseArray(JSONObject.toJSONString(map.get("ids")), Long.class); if (!ids.isEmpty()) { - orders = asnOrderService.list(new LambdaQueryWrapper<AsnOrder>().in(AsnOrder::getId, ids)); + orders = outStockService.list(new LambdaQueryWrapper<AsnOrder>().in(AsnOrder::getId, ids)); } else { - orders = asnOrderService.list(new LambdaQueryWrapper<>()); + orders = outStockService.list(new LambdaQueryWrapper<>()); } } else { - orders = asnOrderService.list(); + orders = outStockService.list(); } List<AsnOrderTemplate> orderTemplates = new ArrayList<>(); for (AsnOrder order : orders) { - List<AsnOrderItem> orderItems = asnOrderItemService.list(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getAsnId, order.getId())); + List<AsnOrderItem> orderItems = outStockItemService.list(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getAsnId, order.getId())); for (AsnOrderItem item : orderItems) { if (Objects.isNull(item)) { continue; @@ -171,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