From 6a48d04a36bc459ed761d787ee3d537652185d36 Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期二, 27 十月 2026 15:06:50 +0800
Subject: [PATCH] refactor(permission): 清理新高电力查询菜单及权限注解
---
yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/purchase/ErpPurchaseOrderController.java | 82 ++++++++++++++++++++++++++++++++--------
1 files changed, 65 insertions(+), 17 deletions(-)
diff --git a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/purchase/ErpPurchaseOrderController.java b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/purchase/ErpPurchaseOrderController.java
index 70128e8..c5d6530 100644
--- a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/purchase/ErpPurchaseOrderController.java
+++ b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/purchase/ErpPurchaseOrderController.java
@@ -8,6 +8,10 @@
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.common.util.collection.MapUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
+import cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.order.ErpPurchaseOrderAuditReqVO;
+import cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.order.ErpPurchaseOrderImportExcelVO;
+import cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.order.ErpPurchaseOrderImportReqVO;
+import cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.order.ErpPurchaseOrderImportRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.order.ErpPurchaseOrderPageReqVO;
import cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.order.ErpPurchaseOrderRespVO;
import cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.order.ErpPurchaseOrderSaveReqVO;
@@ -19,6 +23,8 @@
import cn.iocoder.yudao.module.erp.service.purchase.ErpPurchaseOrderService;
import cn.iocoder.yudao.module.mdm.api.item.MdmItemApi;
import cn.iocoder.yudao.module.mdm.api.item.dto.MdmItemRespDTO;
+import cn.iocoder.yudao.module.mdm.api.unit.MdmUnitMeasureApi;
+import cn.iocoder.yudao.module.mdm.api.unit.dto.MdmUnitMeasureRespDTO;
import cn.iocoder.yudao.module.system.api.storage.StorageAttachmentApi;
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
@@ -34,8 +40,10 @@
import java.io.IOException;
import java.math.BigDecimal;
+import java.util.Arrays;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
@@ -45,7 +53,7 @@
@Tag(name = "绠$悊鍚庡彴 - ERP 閲囪喘璁㈠崟")
@RestController
-@RequestMapping("/erp/purchase-order")
+@RequestMapping({"/purchase/order", "/erp/purchase-order"})
@Validated
public class ErpPurchaseOrderController {
@@ -56,6 +64,8 @@
@Resource
private MdmItemApi mdmItemApi;
+ @Resource
+ private MdmUnitMeasureApi mdmUnitMeasureApi;
@Resource
private AdminUserApi adminUserApi;
@Resource
@@ -85,21 +95,27 @@
return success(true);
}
- @PostMapping("/submit")
- @Operation(summary = "鎻愪氦閲囪喘璁㈠崟瀹℃壒")
+ @PutMapping("/submit")
+ @Operation(summary = "鎻愪氦閲囪喘璁㈠崟瀹℃壒锛堟湭鎻愪氦/瀹℃牳涓嶉�氳繃 鈫� 瀹℃壒涓級")
+ @Parameter(name = "id", description = "缂栧彿", required = true)
@PreAuthorize("@ss.hasPermission('erp:purchase-order:update-status')")
- public CommonResult<Boolean> submitPurchaseOrder(@RequestParam("id") Long id,
- @RequestParam("processDefinitionKey") String processDefinitionKey) {
- Long userId = getLoginUserId();
- purchaseOrderService.submitPurchaseOrder(id, processDefinitionKey, userId);
+ public CommonResult<Boolean> submitPurchaseOrder(@RequestParam("id") Long id) {
+ purchaseOrderService.submitPurchaseOrder(id);
return success(true);
}
- @GetMapping("/approve-process-list")
- @Operation(summary = "鑾峰彇閲囪喘璁㈠崟瀹℃壒娴佺▼鍒楄〃")
- @PreAuthorize("@ss.hasPermission('erp:purchase-order:query')")
- public CommonResult<List<Map<String, Object>>> getApproveProcessList() {
- return success(purchaseOrderService.getPurchaseOrderApproveProcessDefinitionList());
+ @PutMapping("/audit")
+ @Operation(summary = "瀹℃牳閲囪喘璁㈠崟锛堝鎵逛腑 鈫� 瀹℃牳閫氳繃/瀹℃牳涓嶉�氳繃锛夛紝浠呭鎵逛汉鏈汉鍙搷浣�")
+ @PreAuthorize("@ss.hasPermission('erp:purchase-order:audit')")
+ public CommonResult<Boolean> auditPurchaseOrder(@Valid @RequestBody ErpPurchaseOrderAuditReqVO auditReqVO) {
+ purchaseOrderService.auditPurchaseOrder(auditReqVO.getId(), auditReqVO.getPass(), auditReqVO.getReviewRemark());
+ return success(true);
+ }
+
+ @GetMapping("/approver-ids")
+ @Operation(summary = "鑾峰彇閲囪喘璁㈠崟瀹℃壒浜虹紪鍙烽泦鍚�")
+ public CommonResult<Set<Long>> getPurchaseOrderApproverUserIds() {
+ return success(purchaseOrderService.getPurchaseOrderApproverUserIds());
}
@DeleteMapping("/delete")
@@ -114,7 +130,6 @@
@GetMapping("/get")
@Operation(summary = "鑾峰緱閲囪喘璁㈠崟")
@Parameter(name = "id", description = "缂栧彿", required = true, example = "1024")
- @PreAuthorize("@ss.hasPermission('erp:purchase-order:query')")
public CommonResult<ErpPurchaseOrderRespVO> getPurchaseOrder(@RequestParam("id") Long id) {
ErpPurchaseOrderDO purchaseOrder = purchaseOrderService.getPurchaseOrder(id);
if (purchaseOrder == null) {
@@ -123,12 +138,16 @@
List<ErpPurchaseOrderItemDO> purchaseOrderItemList = purchaseOrderService.getPurchaseOrderItemListByOrderId(id);
Map<Long, MdmItemRespDTO> itemMap = mdmItemApi.getItemMap(
convertSet(purchaseOrderItemList, ErpPurchaseOrderItemDO::getProductId));
+ Map<Long, MdmUnitMeasureRespDTO> unitMeasureMap = mdmUnitMeasureApi.getUnitMeasureMap(
+ convertSet(purchaseOrderItemList, ErpPurchaseOrderItemDO::getProductUnitId));
return success(BeanUtils.toBean(purchaseOrder, ErpPurchaseOrderRespVO.class, purchaseOrderVO ->
purchaseOrderVO.setItems(BeanUtils.toBean(purchaseOrderItemList, ErpPurchaseOrderRespVO.Item.class, item -> {
// 搴撳瓨淇℃伅鏆備笉鏌ヨ锛堜粨鍌ㄧ墿娴佹ā鍧楋級
item.setStockCount(BigDecimal.ZERO);
MapUtils.findAndThen(itemMap, item.getProductId(), mdmItem -> item.setProductName(mdmItem.getName())
.setProductBarCode(mdmItem.getBarCode()));
+ MapUtils.findAndThen(unitMeasureMap, item.getProductUnitId(), unit ->
+ item.setProductUnitName(unit.getName()));
})).setAttachmentList(storageAttachmentApi.listAttachments("erp_purchase_order", id))
.setSourceTypeName(ErpPurchaseOrderSourceTypeEnum.WORK_ORDER.getType()
.equals(purchaseOrder.getSourceType()) ? "鐢熶骇宸ュ崟" : null)));
@@ -136,7 +155,6 @@
@GetMapping("/page")
@Operation(summary = "鑾峰緱閲囪喘璁㈠崟鍒嗛〉")
- @PreAuthorize("@ss.hasPermission('erp:purchase-order:query')")
public CommonResult<PageResult<ErpPurchaseOrderRespVO>> getPurchaseOrderPage(@Valid ErpPurchaseOrderPageReqVO pageReqVO) {
PageResult<ErpPurchaseOrderDO> pageResult = purchaseOrderService.getPurchaseOrderPage(pageReqVO);
return success(buildPurchaseOrderVOPageResult(pageResult));
@@ -152,6 +170,29 @@
List<ErpPurchaseOrderRespVO> list = buildPurchaseOrderVOPageResult(purchaseOrderService.getPurchaseOrderPage(pageReqVO)).getList();
// 瀵煎嚭 Excel
ExcelUtils.write(response, "閲囪喘璁㈠崟.xls", "鏁版嵁", ErpPurchaseOrderRespVO.class, list);
+ }
+
+ @GetMapping("/get-import-template")
+ @Operation(summary = "鑾峰緱瀵煎叆閲囪喘璁㈠崟妯℃澘")
+ public void importTemplate(HttpServletResponse response) throws IOException {
+ // 鎵嬪姩鍒涘缓瀵煎嚭 demo
+ List<ErpPurchaseOrderImportExcelVO> list = Arrays.asList(
+ ErpPurchaseOrderImportExcelVO.builder().no("CGDD-绀轰緥-001").supplierName("绀轰緥渚涘簲鍟�")
+ .orderTime(null).accountName("").discountPercent(null).depositPrice(null)
+ .remark("").productCode("").productUnitCode("").productPrice(null)
+ .count(null).taxPercent(null).qcCheckFlag(false).itemRemark("").build()
+ );
+ // 杈撳嚭
+ ExcelUtils.write(response, "閲囪喘璁㈠崟瀵煎叆妯℃澘.xls", "閲囪喘璁㈠崟鍒楄〃", ErpPurchaseOrderImportExcelVO.class, list);
+ }
+
+ @PostMapping("/import")
+ @Operation(summary = "瀵煎叆閲囪喘璁㈠崟")
+ @PreAuthorize("@ss.hasPermission('erp:purchase-order:import')")
+ public CommonResult<ErpPurchaseOrderImportRespVO> importExcel(@Valid ErpPurchaseOrderImportReqVO importReqVO)
+ throws Exception {
+ List<ErpPurchaseOrderImportExcelVO> list = ExcelUtils.read(importReqVO.getFile(), ErpPurchaseOrderImportExcelVO.class);
+ return success(purchaseOrderService.importPurchaseOrderList(list, importReqVO));
}
@PostMapping("/confirm-receipt")
@@ -180,11 +221,18 @@
// 1.4 绠$悊鍛樹俊鎭�
Map<Long, AdminUserRespDTO> userMap = adminUserApi.getUserMap(
convertSet(pageResult.getList(), purchaseOrder -> Long.parseLong(purchaseOrder.getCreator())));
+ // 1.5 鍗曚綅淇℃伅
+ Map<Long, MdmUnitMeasureRespDTO> unitMeasureMap = mdmUnitMeasureApi.getUnitMeasureMap(
+ convertSet(purchaseOrderItemList, ErpPurchaseOrderItemDO::getProductUnitId));
// 2. 寮�濮嬫嫾鎺�
return BeanUtils.toBean(pageResult, ErpPurchaseOrderRespVO.class, purchaseOrder -> {
purchaseOrder.setItems(BeanUtils.toBean(purchaseOrderItemMap.get(purchaseOrder.getId()), ErpPurchaseOrderRespVO.Item.class,
- item -> MapUtils.findAndThen(itemMap, item.getProductId(), mdmItem -> item.setProductName(mdmItem.getName())
- .setProductBarCode(mdmItem.getBarCode()))));
+ item -> {
+ MapUtils.findAndThen(itemMap, item.getProductId(), mdmItem -> item.setProductName(mdmItem.getName())
+ .setProductBarCode(mdmItem.getBarCode()));
+ MapUtils.findAndThen(unitMeasureMap, item.getProductUnitId(), unit ->
+ item.setProductUnitName(unit.getName()));
+ }));
purchaseOrder.setProductNames(CollUtil.join(purchaseOrder.getItems(), "锛�", ErpPurchaseOrderRespVO.Item::getProductName));
MapUtils.findAndThen(supplierMap, purchaseOrder.getSupplierId(), supplier -> purchaseOrder.setSupplierName(supplier.getName()));
MapUtils.findAndThen(userMap, Long.parseLong(purchaseOrder.getCreator()), user -> purchaseOrder.setCreatorName(user.getNickname()));
@@ -193,4 +241,4 @@
});
}
-}
\ No newline at end of file
+}
--
Gitblit v1.9.3