From 4496b9019ba423dd1c51c719bcc0a5938d90fff9 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期二, 22 四月 2025 17:33:18 +0800 Subject: [PATCH] #修改优化 1. DO单明细编码优化 2. DO单明细新增优化 3. 出库单新增单据增加新单据功能 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/OutStockController.java | 59 +++++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 39 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..b442995 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 @@ -17,13 +17,14 @@ 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 +37,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 +75,14 @@ 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.setCode(ruleCode); } - if (!asnOrderService.save(asnOrder)) { + if (!outStockService.save(asnOrder)) { return R.error("Save Fail"); } return R.ok("Save Success").add(asnOrder); @@ -92,7 +96,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 +110,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 +125,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 +150,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; -- Gitblit v1.9.1