From 27a61f78a3e196de5106358c84c55c3f1ebf8c48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BD=98=E8=8D=A3=E6=99=9F?= <9691125+pan-rongsheng@user.noreply.gitee.com> Date: Fri, 16 Jan 2026 15:24:07 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=80=9A=E8=BF=87=E9=94=80?= =?UTF-8?q?=E5=94=AE=E8=AE=A2=E5=8D=95=E6=98=8E=E7=BB=86id=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E8=AE=A2=E5=8D=95=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/contractorder/api/OrderApi.java | 10 +++++ .../api/dto/order/SalesOrdDtlDTO.java | 44 ++++++++++++------- .../contractorder/api/OrderApiImpl.java | 12 +++++ .../admin/erp/ErpMaterialController.java | 20 ++++----- .../admin/erp/WarehouseFactoryController.java | 16 +++---- .../erp/dal/dataobject/erp/ErpFactoryDO.java | 3 +- .../dal/dataobject/erp/ErpWarehouseDO.java | 3 +- 7 files changed, 72 insertions(+), 36 deletions(-) diff --git a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/OrderApi.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/OrderApi.java index 4bca313b..2c6aa4da 100644 --- a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/OrderApi.java +++ b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/OrderApi.java @@ -2,6 +2,7 @@ package com.zt.plat.module.contractorder.api; import com.zt.plat.framework.common.pojo.CommonResult; import com.zt.plat.module.contractorder.api.dto.order.OrderDTO; +import com.zt.plat.module.contractorder.api.dto.order.SalesOrdDtlDTO; import com.zt.plat.module.contractorder.api.dto.order.UpdateOrderLstQtyDTO; import com.zt.plat.module.contractorder.enums.ApiConstants; import io.swagger.v3.oas.annotations.Operation; @@ -9,8 +10,10 @@ import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.validation.Valid; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestParam; import java.util.List; @@ -34,4 +37,11 @@ public interface OrderApi { @Operation(summary = "根据订单明细id更新累积量(冲销)", description = "根据订单明细id更新收货量(冲销)") CommonResult voidOrderLstQty(@RequestBody @Validated List updateOrderLstQtyDTOS); + @PostMapping(PREFIX + "/get-salas-order-details-by-ids") + @Operation(summary = "通过销售订单明细id获取销售订单详情", description = "通过销售订单明细id获取销售订单详情") + CommonResult> getSalesOrderDetailsByOrderIds(@RequestBody List ids); + + @GetMapping(PREFIX + "/get-salas-order-details-by-id") + @Operation(summary = "通过销售订单明细id获取销售订单详情", description = "通过销售订单明细id获取销售订单详情") + CommonResult getSalesOrderDetailsByOrderId(@RequestParam("id") Long id); } diff --git a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/dto/order/SalesOrdDtlDTO.java b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/dto/order/SalesOrdDtlDTO.java index ece2cb3c..3a5b4f42 100644 --- a/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/dto/order/SalesOrdDtlDTO.java +++ b/zt-module-contract-order/zt-module-contract-order-api/src/main/java/com/zt/plat/module/contractorder/api/dto/order/SalesOrdDtlDTO.java @@ -1,138 +1,150 @@ package com.zt.plat.module.contractorder.api.dto.order; +import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.math.BigDecimal; @Data +@Schema(description = "销售订单明细DTO") public class SalesOrdDtlDTO { /** * 主键 */ - + @Schema(description = "主键") private Long id; /** * 订单主键 */ + @Schema(description = "订单主键") private Long orderId; /** * 行项目;推送ERP(必须) */ + @Schema(description = "行项目;推送ERP(必须)") private Long lineNumber; /** * 物料名称 */ + @Schema(description = "物料名称") private String materialName; /** * 物料编码;推送ERP(必须) */ + @Schema(description = "物料编码;推送ERP(必须)") private String materialNumber; /** * 工厂名称 */ + @Schema(description = "工厂名称") private String factoryName; /** * 工厂编码;推送ERP(必须) */ + @Schema(description = "工厂编码;推送ERP(必须)") private String factoryNumber; /** * 库位名称 */ + @Schema(description = "库位名称") private String warehouseName; /** * 库位编码;推送ERP(必须) */ - + @Schema(description = "库位编码;推送ERP(必须)") private String warehouseNumber; /** * 计量单位;推送ERP(必须) */ - + @Schema(description = "计量单位;推送ERP(必须)") private String unit; /** * 开票类型;推送ERP(必须) */ - + @Schema(description = "开票类型;推送ERP(必须)") private String invoiceType; /** * 暂估数量;推送ERP(必须) */ - + @Schema(description = "暂估数量;推送ERP(必须)") private BigDecimal quantity; /** * 稅分类(字典:SALE_TAX);推送ERP(必须) */ - + @Schema(description = "税率分类(字典:SALE_TAX);推送ERP(必须)") private String taxAcctasscat; /** * 项目类别;推送ERP */ - + @Schema(description = "项目类别;推送ERP") private String projectCategory; /** * 装运地点;推送ERP */ - + @Schema(description = "装运地点;推送ERP") private String shippingPlace; /** * 物料科目分配组;推送ERP(必须) */ - + @Schema(description = "物料科目分配组;推送ERP(必须)") private String metalAcctasscatGroup; /** * 小协议号 */ - + @Schema(description = "小协议号") private String agreementNumber; /** * 总价 */ - + @Schema(description = "总价") private BigDecimal gross; /** * 金属元素缩写 */ - + @Schema(description = "金属元素缩写") private String elementAbbreviation; /** * 金属元素名称 */ + @Schema(description = "金属元素名称") private String elementName; /** * 金属元素编码 */ + @Schema(description = "金属元素编码") private String elementNumber; /** * 是否启用;处理明细中多个相同物料,只能允许一种物料启用 */ - + @Schema(description = "是否启用;处理明细中多个相同物料,只能允许一种物料启用") private String isEnable; /** * 价格条件详情;推送ERP(必须):JSON */ - + @Schema(description = "价格条件详情;推送ERP(必须):JSON") private String priceConditionDetail; /** * 来料加工原料详情;推送ERP:订单类型(JSON) */ - + @Schema(description = "来料加工原料详情;推送ERP:订单类型(JSON)") private String originDetail; /** * 税率 */ - + @Schema(description = "税率") private BigDecimal taxRte; /** * 已移库量库;存针对该订单产生的移库量 */ + @Schema(description = "已移库量库;存针对该订单产生的移库量") private BigDecimal trfQty; } diff --git a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/api/OrderApiImpl.java b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/api/OrderApiImpl.java index 93c2d71f..52d2fe34 100644 --- a/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/api/OrderApiImpl.java +++ b/zt-module-contract-order/zt-module-contract-order-server/src/main/java/com/zt/plat/module/contractorder/api/OrderApiImpl.java @@ -171,6 +171,18 @@ public class OrderApiImpl implements OrderApi { return success(true); } + @Override + public CommonResult> getSalesOrderDetailsByOrderIds(List ids) { + List salesOrderDetailDOS = SpringUtil.getBean(SalesOrderDetailMapper.class).selectList(SalesOrderDetailDO::getId, ids); + return success(BeanUtils.toBean(salesOrderDetailDOS, SalesOrdDtlDTO.class)); + } + + @Override + public CommonResult getSalesOrderDetailsByOrderId(Long id) { + SalesOrderDetailDO salesOrderDetailDOS = SpringUtil.getBean(SalesOrderDetailMapper.class).selectOne(SalesOrderDetailDO::getOrderId, id); + return success(BeanUtils.toBean(salesOrderDetailDOS, SalesOrdDtlDTO.class)); + } + private List getOrderByIds(List ids) { return SpringUtil.getBean(SalesOrderMapper.class).selectByIds(ids); // 采购订单与销售订单的 } diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpMaterialController.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpMaterialController.java index 905779c0..495cde97 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpMaterialController.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/ErpMaterialController.java @@ -39,14 +39,14 @@ public class ErpMaterialController { @PostMapping("/create") @Operation(summary = "创建ERP物料数据") - @PreAuthorize("@ss.hasPermission('sply:erp-material:create')") + @PreAuthorize("@ss.hasAnyPermissions({'sply:erp-material:create','basic:material-config:create'})") public CommonResult createErpMaterial(@Valid @RequestBody ErpMaterialSaveReqVO createReqVO) { return success(erpMaterialService.createErpMaterial(createReqVO)); } @PutMapping("/update") @Operation(summary = "更新ERP物料数据") - @PreAuthorize("@ss.hasPermission('sply:erp-material:update')") + @PreAuthorize("@ss.hasAnyPermissions({'sply:erp-material:update','basic:material-config:update'})") public CommonResult updateErpMaterial(@Valid @RequestBody ErpMaterialSaveReqVO updateReqVO) { erpMaterialService.updateErpMaterial(updateReqVO); return success(true); @@ -55,7 +55,7 @@ public class ErpMaterialController { @DeleteMapping("/delete") @Operation(summary = "删除ERP物料数据") @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('sply:erp-material:delete')") + @PreAuthorize("@ss.hasAnyPermissions({'sply:erp-material:delete','basic:material-config:delete'})") public CommonResult deleteErpMaterial(@RequestParam("id") Long id) { erpMaterialService.deleteErpMaterial(id); return success(true); @@ -119,7 +119,7 @@ public class ErpMaterialController { //创建物料拓展关系 @PostMapping("/createErpMaterialCorr") @Operation(summary = "创建ERP物料关系") - @PreAuthorize("@ss.hasPermission('sply:erp-material:create')") + @PreAuthorize("@ss.hasAnyPermissions({'base:warehouse-factory:create','basic:warehouse-config:create'})") public CommonResult> createErpMaterialCorr(@Valid @RequestBody ErpMaterialCorrSaveReqVO erpMaterialCorrSaveReqVO) { return success(erpMaterialService.createErpMaterialCorr(erpMaterialCorrSaveReqVO)); } @@ -127,7 +127,7 @@ public class ErpMaterialController { //删除物料关系 @DeleteMapping("/deleteErpMaterialCorr") @Operation(summary = "删除ERP物料关系") - @PreAuthorize("@ss.hasPermission('sply:erp-material:delete')") + @PreAuthorize("@ss.hasAnyPermissions({'sply:erp-material:delete','basic:material-config:delete'})") public CommonResult deleteErpMaterialCorr(@RequestBody BatchDeleteReqVO req) { erpMaterialService.deleteErpMaterialCorr(req); return success(true); @@ -136,7 +136,7 @@ public class ErpMaterialController { //通过物料id查询物料详情 @GetMapping("/getErpMaterialById") @Operation(summary = "通过物料id查询物料详情") - @PreAuthorize("@ss.hasPermission('sply:erp-material:query')") + @PreAuthorize("@ss.hasAnyPermissions({'sply:erp-material:query','basic:material-config:query'})") public CommonResult getErpMaterialById(@RequestParam("id") Long id) { ErpMaterialDO erpMaterial = erpMaterialService.getErpMaterialById(id); return success(BeanUtils.toBean(erpMaterial, ErpMaterialRespVO.class)); @@ -145,7 +145,7 @@ public class ErpMaterialController { //通过主物料查询子物料信息 @GetMapping("/getErpMaterialByMainMaterialById") @Operation(summary = "通过主物料查询子物料信息") - @PreAuthorize("@ss.hasPermission('sply:erp-material:query')") + @PreAuthorize("@ss.hasAnyPermissions({'sply:erp-material:query','basic:material-config:query'})") public CommonResult> getErpMaterialByMainMaterial(@RequestParam("id") Long mainMaterialId) { List erpMaterial = erpMaterialService.getErpMaterialByMainMaterial(mainMaterialId); return success(BeanUtils.toBean(erpMaterial, ErpMaterialRespVO.class)); @@ -154,7 +154,7 @@ public class ErpMaterialController { //查询物料 @PostMapping("/api-erp-material") @Operation(summary = "通过接口查询物料") - @PreAuthorize("@ss.hasPermission('sply:erp-material:query')") + @PreAuthorize("@ss.hasAnyPermissions({'sply:erp-material:query','basic:material-config:query'})") public CommonResult> getErpMaterialByApi(@RequestBody MaterialInfomationApiVO vo) { MaterialInfomationPageReqDTO material = new MaterialInfomationPageReqDTO(); material.setCode(vo.getMaterialNumber()); @@ -167,7 +167,7 @@ public class ErpMaterialController { //通过主物料查询子物料信息 @GetMapping("/erpMaterial-mainMaterial-code") @Operation(summary = "通过主物料编号查询子物料信息") - @PreAuthorize("@ss.hasPermission('sply:erp-material:query')") + @PreAuthorize("@ss.hasAnyPermissions({'sply:erp-material:query','basic:material-config:query'})") public CommonResult getErpMaterialByMainMaterialByCode(@RequestParam("materialNumber") String code) { return success(BeanUtils.toBean(erpMaterialService.getErpMaterialByMainMaterialByCode(code), ErpMaterialRespVO.class)); } @@ -175,7 +175,7 @@ public class ErpMaterialController { //查询物料 @GetMapping("/api-erp-material-code") @Operation(summary = "通过编号接口查询物料") - @PreAuthorize("@ss.hasPermission('sply:erp-material:query')") + @PreAuthorize("@ss.hasAnyPermissions({'sply:erp-material:query','basic:material-config:query'})") public CommonResult> getErpMaterialByApiByCode(@RequestParam("materialNumber")String code) { return success(BeanUtils.toBean(erpMaterialService.getErpMaterialByApiByCode(code), ErpMaterialRespVO.class)); diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/WarehouseFactoryController.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/WarehouseFactoryController.java index 70fcf2ba..e1528971 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/WarehouseFactoryController.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/controller/admin/erp/WarehouseFactoryController.java @@ -41,14 +41,14 @@ public class WarehouseFactoryController implements BusinessControllerMarker { @PostMapping("/create") @Operation(summary = "创建仓库工厂关系") - @PreAuthorize("@ss.hasPermission('base:warehouse-factory:create')") + @PreAuthorize("@ss.hasAnyPermissions({'base:warehouse-factory:create','basic:warehouse-config:create'})") public CommonResult createWarehouseFactory(@Valid @RequestBody WarehouseFactorySaveReqVO createReqVO) { return success(warehouseFactoryService.createWarehouseFactory(createReqVO)); } @PutMapping("/update") @Operation(summary = "更新仓库工厂关系") - @PreAuthorize("@ss.hasPermission('base:warehouse-factory:update')") + @PreAuthorize("@ss.hasAnyPermissions({'base:warehouse-factory:update','basic:warehouse-config:update'})") public CommonResult updateWarehouseFactory(@Valid @RequestBody WarehouseFactorySaveReqVO updateReqVO) { warehouseFactoryService.updateWarehouseFactory(updateReqVO); return success(true); @@ -57,7 +57,7 @@ public class WarehouseFactoryController implements BusinessControllerMarker { @DeleteMapping("/delete") @Operation(summary = "删除仓库工厂关系") @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('base:warehouse-factory:delete')") + @PreAuthorize("@ss.hasAnyPermissions({'base:warehouse-factory:delete','basic:warehouse-config:delete'})") public CommonResult deleteWarehouseFactory(@RequestParam("id") Long id) { warehouseFactoryService.deleteWarehouseFactory(id); return success(true); @@ -66,7 +66,7 @@ public class WarehouseFactoryController implements BusinessControllerMarker { @DeleteMapping("/delete-list") @Parameter(name = "ids", description = "编号", required = true) @Operation(summary = "批量删除仓库工厂关系") - @PreAuthorize("@ss.hasPermission('base:warehouse-factory:delete')") + @PreAuthorize("@ss.hasAnyPermissions({'base:warehouse-factory:delete','basic:warehouse-config:delete'})") public CommonResult deleteWarehouseFactoryList(@RequestBody BatchDeleteReqVO req) { warehouseFactoryService.deleteWarehouseFactoryListByIds(req.getIds()); return success(true); @@ -75,7 +75,7 @@ public class WarehouseFactoryController implements BusinessControllerMarker { @GetMapping("/get") @Operation(summary = "获得仓库工厂关系") @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('base:warehouse-factory:query')") + @PreAuthorize("@ss.hasAnyPermissions({'base:warehouse-factory:query','basic:warehouse-config:query'})") public CommonResult getWarehouseFactory(@RequestParam("id") Long id) { WarehouseFactoryDO warehouseFactory = warehouseFactoryService.getWarehouseFactory(id); return success(BeanUtils.toBean(warehouseFactory, WarehouseFactoryRespVO.class)); @@ -83,7 +83,7 @@ public class WarehouseFactoryController implements BusinessControllerMarker { @GetMapping("/page") @Operation(summary = "获得仓库工厂关系分页") - @PreAuthorize("@ss.hasPermission('base:warehouse-factory:query')") + @PreAuthorize("@ss.hasAnyPermissions({'base:warehouse-factory:query','basic:warehouse-config:query'})") public CommonResult> getWarehouseFactoryPage(@Valid WarehouseFactoryPageReqVO pageReqVO) { PageResult pageResult = warehouseFactoryService.getWarehouseFactoryPage(pageReqVO); return success(BeanUtils.toBean(pageResult, WarehouseFactoryRespVO.class)); @@ -91,7 +91,7 @@ public class WarehouseFactoryController implements BusinessControllerMarker { @GetMapping("/export-excel") @Operation(summary = "导出仓库工厂关系 Excel") - @PreAuthorize("@ss.hasPermission('base:warehouse-factory:export')") + @PreAuthorize("@ss.hasAnyPermissions({'base:warehouse-factory:export','basic:warehouse-config:export'})") @ApiAccessLog(operateType = EXPORT) public void exportWarehouseFactoryExcel(@Valid WarehouseFactoryPageReqVO pageReqVO, HttpServletResponse response) throws IOException { @@ -105,7 +105,7 @@ public class WarehouseFactoryController implements BusinessControllerMarker { //通过主库位Id查询库位 @GetMapping("/warehouse-factory-list-mainId") @Operation(summary = "通过主库位Id查询库位") - @PreAuthorize("@ss.hasPermission('base:warehouse-factory:query')") + @PreAuthorize("@ss.hasAnyPermissions({'base:warehouse-factory:query','basic:warehouse-config:query'})") public CommonResult> getWarehouseFactoryListByMainId(@RequestParam("mainId") String mainId) { return success(warehouseFactoryService.getWarehouseFactoryByMainId(mainId)); } diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/dataobject/erp/ErpFactoryDO.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/dataobject/erp/ErpFactoryDO.java index 83f07e7e..87bbf1f0 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/dataobject/erp/ErpFactoryDO.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/dataobject/erp/ErpFactoryDO.java @@ -1,6 +1,7 @@ package com.zt.plat.module.erp.dal.dataobject.erp; import com.baomidou.mybatisplus.annotation.*; +import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; import lombok.*; @@ -20,7 +21,7 @@ import lombok.*; /** * 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO */ -public class ErpFactoryDO extends BusinessBaseDO { +public class ErpFactoryDO extends BaseDO { /** * 主键 diff --git a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/dataobject/erp/ErpWarehouseDO.java b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/dataobject/erp/ErpWarehouseDO.java index e35b346d..0f9a70d4 100644 --- a/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/dataobject/erp/ErpWarehouseDO.java +++ b/zt-module-erp/zt-module-erp-server/src/main/java/com/zt/plat/module/erp/dal/dataobject/erp/ErpWarehouseDO.java @@ -1,6 +1,7 @@ package com.zt.plat.module.erp.dal.dataobject.erp; import com.baomidou.mybatisplus.annotation.*; +import com.zt.plat.framework.mybatis.core.dataobject.BaseDO; import com.zt.plat.framework.mybatis.core.dataobject.BusinessBaseDO; import lombok.*; /** @@ -19,7 +20,7 @@ import lombok.*; /** * 支持业务基类继承:isBusiness=true 时继承 BusinessBaseDO,否则继承 BaseDO */ -public class ErpWarehouseDO extends BusinessBaseDO { +public class ErpWarehouseDO extends BaseDO { /** * 主键