fix:修复已知bug

hhk
HuangHuiKang 3 weeks ago
parent 8a4d5e68a4
commit d0b80b5cb7

@ -75,6 +75,7 @@ public class MoldBrandController {
} }
@GetMapping("/getBrandList") @GetMapping("/getBrandList")
@Operation(summary = "获得模具型号列表") @Operation(summary = "获得模具型号列表")
@PreAuthorize("@ss.hasPermission('erp:mold-brand:query')")
public CommonResult<List<MoldBrandDO>> getBrandList(MoldBrandPageReqVO pageReqVO) { public CommonResult<List<MoldBrandDO>> getBrandList(MoldBrandPageReqVO pageReqVO) {
List<MoldBrandDO> brandDOList = moldBrandService.selectBy(pageReqVO); List<MoldBrandDO> brandDOList = moldBrandService.selectBy(pageReqVO);
return success(brandDOList); return success(brandDOList);

@ -19,6 +19,7 @@ import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Parameters; import io.swagger.v3.oas.annotations.Parameters;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
@ -49,7 +50,7 @@ public class ErpProductController {
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建产品") @Operation(summary = "创建产品")
//@PreAuthorize("@ss.hasPermission('erp:product:create')") @PreAuthorize("@ss.hasPermission('erp:product:create')")
public CommonResult<Long> createProduct(@Valid @RequestBody ProductSaveReqVO createReqVO) { public CommonResult<Long> createProduct(@Valid @RequestBody ProductSaveReqVO createReqVO) {
ErpProductPageReqVO productPageReqVO = new ErpProductPageReqVO(); ErpProductPageReqVO productPageReqVO = new ErpProductPageReqVO();
productPageReqVO.setName(createReqVO.getName()); productPageReqVO.setName(createReqVO.getName());
@ -67,7 +68,7 @@ public class ErpProductController {
@PutMapping("/update") @PutMapping("/update")
@Operation(summary = "更新产品") @Operation(summary = "更新产品")
//@PreAuthorize("@ss.hasPermission('erp:product:update')") @PreAuthorize("@ss.hasPermission('erp:product:update')")
public CommonResult<Boolean> updateProduct(@Valid @RequestBody ProductSaveReqVO updateReqVO) { public CommonResult<Boolean> updateProduct(@Valid @RequestBody ProductSaveReqVO updateReqVO) {
ErpProductPageReqVO productPageReqVO = new ErpProductPageReqVO(); ErpProductPageReqVO productPageReqVO = new ErpProductPageReqVO();
productPageReqVO.setName(updateReqVO.getName()); productPageReqVO.setName(updateReqVO.getName());
@ -87,7 +88,7 @@ public class ErpProductController {
@DeleteMapping("/delete") @DeleteMapping("/delete")
@Operation(summary = "删除产品") @Operation(summary = "删除产品")
@Parameter(name = "id", description = "编号", required = true) @Parameter(name = "id", description = "编号", required = true)
//@PreAuthorize("@ss.hasPermission('erp:product:delete')") @PreAuthorize("@ss.hasPermission('erp:product:delete')")
public CommonResult<Boolean> deleteProduct(@RequestParam("id") Long id) { public CommonResult<Boolean> deleteProduct(@RequestParam("id") Long id) {
productService.deleteProduct(id); productService.deleteProduct(id);
return success(true); return success(true);
@ -96,7 +97,7 @@ public class ErpProductController {
@GetMapping("/get") @GetMapping("/get")
@Operation(summary = "获得产品") @Operation(summary = "获得产品")
@Parameter(name = "id", description = "编号", required = true, example = "1024") @Parameter(name = "id", description = "编号", required = true, example = "1024")
//@PreAuthorize("@ss.hasPermission('erp:product:query')") @PreAuthorize("@ss.hasPermission('erp:product:query')")
public CommonResult<ErpProductRespVO> getProduct(@RequestParam("id") Long id) { public CommonResult<ErpProductRespVO> getProduct(@RequestParam("id") Long id) {
ErpProductDO product = productService.getProduct(id); ErpProductDO product = productService.getProduct(id);
return success(BeanUtils.toBean(product, ErpProductRespVO.class)); return success(BeanUtils.toBean(product, ErpProductRespVO.class));
@ -104,7 +105,7 @@ public class ErpProductController {
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得产品分页") @Operation(summary = "获得产品分页")
//@PreAuthorize("@ss.hasPermission('erp:product:query')") @PreAuthorize("@ss.hasPermission('erp:product:query')")
public CommonResult<PageResult<ErpProductRespVO>> getProductPage(@Valid ErpProductPageReqVO pageReqVO) { public CommonResult<PageResult<ErpProductRespVO>> getProductPage(@Valid ErpProductPageReqVO pageReqVO) {
return success(productService.getProductVOPage(pageReqVO)); return success(productService.getProductVOPage(pageReqVO));
} }
@ -172,6 +173,7 @@ public class ErpProductController {
} }
@GetMapping("/export-excel") @GetMapping("/export-excel")
@Operation(summary = "导出产品 Excel") @Operation(summary = "导出产品 Excel")
@PreAuthorize("@ss.hasPermission('erp:product:export')")
@ApiAccessLog(operateType = EXPORT) @ApiAccessLog(operateType = EXPORT)
public void exportProductExcel(@Valid ErpProductPageReqVO pageReqVO, public void exportProductExcel(@Valid ErpProductPageReqVO pageReqVO,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {
@ -185,6 +187,7 @@ public class ErpProductController {
@GetMapping("/get-import-template") @GetMapping("/get-import-template")
@Operation(summary = "获取产品导入模板") @Operation(summary = "获取产品导入模板")
@ApiAccessLog(operateType = EXPORT) @ApiAccessLog(operateType = EXPORT)
@PreAuthorize("@ss.hasPermission('erp:product:import')")
public void getImportTemplate(HttpServletResponse response) throws IOException { public void getImportTemplate(HttpServletResponse response) throws IOException {
// 准备模板数据 // 准备模板数据
List<ErpProductImportExcelVO> list = new ArrayList<>(); List<ErpProductImportExcelVO> list = new ArrayList<>();
@ -214,6 +217,7 @@ public class ErpProductController {
@PostMapping("/import") @PostMapping("/import")
@Operation(summary = "导入产品") @Operation(summary = "导入产品")
@PreAuthorize("@ss.hasPermission('erp:product:import')")
@Parameters({ @Parameters({
@Parameter(name = "file", description = "Excel 文件", required = true), @Parameter(name = "file", description = "Excel 文件", required = true),
@Parameter(name = "updateSupport", description = "是否支持更新,默认为 false", example = "true") @Parameter(name = "updateSupport", description = "是否支持更新,默认为 false", example = "true")

@ -16,6 +16,7 @@ import cn.iocoder.yudao.module.erp.service.product.ErpProductUnitService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -43,7 +44,7 @@ public class ErpProductUnitController {
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建产品单位") @Operation(summary = "创建产品单位")
//@PreAuthorize("@ss.hasPermission('erp:product-unit:create')") @PreAuthorize("@ss.hasPermission('erp:product-unit:create')")
public CommonResult<Long> createProductUnit(@Valid @RequestBody ErpProductUnitSaveReqVO createReqVO) { public CommonResult<Long> createProductUnit(@Valid @RequestBody ErpProductUnitSaveReqVO createReqVO) {
ErpProductUnitPageReqVO productUnitPageReqVO = new ErpProductUnitPageReqVO(); ErpProductUnitPageReqVO productUnitPageReqVO = new ErpProductUnitPageReqVO();
productUnitPageReqVO.setName(createReqVO.getName()); productUnitPageReqVO.setName(createReqVO.getName());
@ -55,7 +56,7 @@ public class ErpProductUnitController {
@PutMapping("/update") @PutMapping("/update")
@Operation(summary = "更新产品单位") @Operation(summary = "更新产品单位")
//@PreAuthorize("@ss.hasPermission('erp:product-unit:update')") @PreAuthorize("@ss.hasPermission('erp:product-unit:update')")
public CommonResult<Boolean> updateProductUnit(@Valid @RequestBody ErpProductUnitSaveReqVO updateReqVO) { public CommonResult<Boolean> updateProductUnit(@Valid @RequestBody ErpProductUnitSaveReqVO updateReqVO) {
productUnitService.updateProductUnit(updateReqVO); productUnitService.updateProductUnit(updateReqVO);
return success(true); return success(true);
@ -64,7 +65,7 @@ public class ErpProductUnitController {
@DeleteMapping("/delete") @DeleteMapping("/delete")
@Operation(summary = "删除产品单位") @Operation(summary = "删除产品单位")
@Parameter(name = "id", description = "编号", required = true) @Parameter(name = "id", description = "编号", required = true)
//@PreAuthorize("@ss.hasPermission('erp:product-unit:delete')") @PreAuthorize("@ss.hasPermission('erp:product-unit:delete')")
public CommonResult<Boolean> deleteProductUnit(@RequestParam("id") Long id) { public CommonResult<Boolean> deleteProductUnit(@RequestParam("id") Long id) {
productUnitService.deleteProductUnit(id); productUnitService.deleteProductUnit(id);
return success(true); return success(true);
@ -73,7 +74,7 @@ public class ErpProductUnitController {
@GetMapping("/get") @GetMapping("/get")
@Operation(summary = "获得产品单位") @Operation(summary = "获得产品单位")
@Parameter(name = "id", description = "编号", required = true, example = "1024") @Parameter(name = "id", description = "编号", required = true, example = "1024")
//@PreAuthorize("@ss.hasPermission('erp:product-unit:query')") @PreAuthorize("@ss.hasPermission('erp:product-unit:query')")
public CommonResult<ErpProductUnitRespVO> getProductUnit(@RequestParam("id") Long id) { public CommonResult<ErpProductUnitRespVO> getProductUnit(@RequestParam("id") Long id) {
ErpProductUnitDO productUnit = productUnitService.getProductUnit(id); ErpProductUnitDO productUnit = productUnitService.getProductUnit(id);
return success(BeanUtils.toBean(productUnit, ErpProductUnitRespVO.class)); return success(BeanUtils.toBean(productUnit, ErpProductUnitRespVO.class));
@ -81,7 +82,7 @@ public class ErpProductUnitController {
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得产品单位分页") @Operation(summary = "获得产品单位分页")
//@PreAuthorize("@ss.hasPermission('erp:product-unit:query')") @PreAuthorize("@ss.hasPermission('erp:product-unit:query')")
public CommonResult<PageResult<ErpProductUnitRespVO>> getProductUnitPage(@Valid ErpProductUnitPageReqVO pageReqVO) { public CommonResult<PageResult<ErpProductUnitRespVO>> getProductUnitPage(@Valid ErpProductUnitPageReqVO pageReqVO) {
PageResult<ErpProductUnitDO> pageResult = productUnitService.getProductUnitPage(pageReqVO); PageResult<ErpProductUnitDO> pageResult = productUnitService.getProductUnitPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, ErpProductUnitRespVO.class)); return success(BeanUtils.toBean(pageResult, ErpProductUnitRespVO.class));
@ -96,7 +97,7 @@ public class ErpProductUnitController {
@GetMapping("/export-excel") @GetMapping("/export-excel")
@Operation(summary = "导出产品单位 Excel") @Operation(summary = "导出产品单位 Excel")
//@PreAuthorize("@ss.hasPermission('erp:product-unit:export')") @PreAuthorize("@ss.hasPermission('erp:product-unit:export')")
@ApiAccessLog(operateType = EXPORT) @ApiAccessLog(operateType = EXPORT)
public void exportProductUnitExcel(@Valid ErpProductUnitPageReqVO pageReqVO, public void exportProductUnitExcel(@Valid ErpProductUnitPageReqVO pageReqVO,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {

@ -21,6 +21,7 @@ import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -52,14 +53,14 @@ public class ErpStockCheckController {
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建库存调拨单") @Operation(summary = "创建库存调拨单")
//@PreAuthorize("@ss.hasPermission('erp:stock-check:create')") @PreAuthorize("@ss.hasPermission('erp:stock-check:create')")
public CommonResult<Long> createStockCheck(@Valid @RequestBody ErpStockCheckSaveReqVO createReqVO) { public CommonResult<Long> createStockCheck(@Valid @RequestBody ErpStockCheckSaveReqVO createReqVO) {
return success(stockCheckService.createStockCheck(createReqVO)); return success(stockCheckService.createStockCheck(createReqVO));
} }
@PutMapping("/update") @PutMapping("/update")
@Operation(summary = "更新库存调拨单") @Operation(summary = "更新库存调拨单")
//@PreAuthorize("@ss.hasPermission('erp:stock-check:update')") @PreAuthorize("@ss.hasPermission('erp:stock-check:update')")
public CommonResult<Boolean> updateStockCheck(@Valid @RequestBody ErpStockCheckSaveReqVO updateReqVO) { public CommonResult<Boolean> updateStockCheck(@Valid @RequestBody ErpStockCheckSaveReqVO updateReqVO) {
stockCheckService.updateStockCheck(updateReqVO); stockCheckService.updateStockCheck(updateReqVO);
return success(true); return success(true);
@ -67,7 +68,7 @@ public class ErpStockCheckController {
@PutMapping("/update-status") @PutMapping("/update-status")
@Operation(summary = "更新库存调拨单的状态") @Operation(summary = "更新库存调拨单的状态")
//@PreAuthorize("@ss.hasPermission('erp:stock-check:update-status')") @PreAuthorize("@ss.hasPermission('erp:stock-check:update-status')")
public CommonResult<Boolean> updateStockCheckStatus(@RequestParam("id") Long id, public CommonResult<Boolean> updateStockCheckStatus(@RequestParam("id") Long id,
@RequestParam("status") Integer status) { @RequestParam("status") Integer status) {
stockCheckService.updateStockCheckStatus(id, status); stockCheckService.updateStockCheckStatus(id, status);
@ -77,7 +78,7 @@ public class ErpStockCheckController {
@DeleteMapping("/delete") @DeleteMapping("/delete")
@Operation(summary = "删除库存调拨单") @Operation(summary = "删除库存调拨单")
@Parameter(name = "ids", description = "编号数组", required = true) @Parameter(name = "ids", description = "编号数组", required = true)
//@PreAuthorize("@ss.hasPermission('erp:stock-check:delete')") @PreAuthorize("@ss.hasPermission('erp:stock-check:delete')")
public CommonResult<Boolean> deleteStockCheck(@RequestParam("ids") List<Long> ids) { public CommonResult<Boolean> deleteStockCheck(@RequestParam("ids") List<Long> ids) {
stockCheckService.deleteStockCheck(ids); stockCheckService.deleteStockCheck(ids);
return success(true); return success(true);
@ -86,7 +87,7 @@ public class ErpStockCheckController {
@GetMapping("/get") @GetMapping("/get")
@Operation(summary = "获得库存调拨单") @Operation(summary = "获得库存调拨单")
@Parameter(name = "id", description = "编号", required = true, example = "1024") @Parameter(name = "id", description = "编号", required = true, example = "1024")
//@PreAuthorize("@ss.hasPermission('erp:stock-check:query')") @PreAuthorize("@ss.hasPermission('erp:stock-check:query')")
public CommonResult<ErpStockCheckRespVO> getStockCheck(@RequestParam("id") Long id) { public CommonResult<ErpStockCheckRespVO> getStockCheck(@RequestParam("id") Long id) {
ErpStockCheckDO stockCheck = stockCheckService.getStockCheck(id); ErpStockCheckDO stockCheck = stockCheckService.getStockCheck(id);
if (stockCheck == null) { if (stockCheck == null) {
@ -103,7 +104,7 @@ public class ErpStockCheckController {
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得库存调拨单分页") @Operation(summary = "获得库存调拨单分页")
//@PreAuthorize("@ss.hasPermission('erp:stock-check:query')") @PreAuthorize("@ss.hasPermission('erp:stock-check:query')")
public CommonResult<PageResult<ErpStockCheckRespVO>> getStockCheckPage(@Valid ErpStockCheckPageReqVO pageReqVO) { public CommonResult<PageResult<ErpStockCheckRespVO>> getStockCheckPage(@Valid ErpStockCheckPageReqVO pageReqVO) {
PageResult<ErpStockCheckDO> pageResult = stockCheckService.getStockCheckPage(pageReqVO); PageResult<ErpStockCheckDO> pageResult = stockCheckService.getStockCheckPage(pageReqVO);
return success(buildStockCheckVOPageResult(pageResult)); return success(buildStockCheckVOPageResult(pageResult));
@ -111,7 +112,7 @@ public class ErpStockCheckController {
@GetMapping("/export-excel") @GetMapping("/export-excel")
@Operation(summary = "导出库存调拨单 Excel") @Operation(summary = "导出库存调拨单 Excel")
//@PreAuthorize("@ss.hasPermission('erp:stock-check:export')") @PreAuthorize("@ss.hasPermission('erp:stock-check:export')")
@ApiAccessLog(operateType = EXPORT) @ApiAccessLog(operateType = EXPORT)
public void exportStockCheckExcel(@Valid ErpStockCheckPageReqVO pageReqVO, public void exportStockCheckExcel(@Valid ErpStockCheckPageReqVO pageReqVO,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {

@ -20,6 +20,7 @@ import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Parameters; import io.swagger.v3.oas.annotations.Parameters;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
@ -58,7 +59,7 @@ public class ErpStockController {
@Parameter(name = "productId", description = "产品编号", example = "10"), // 方案二:传递 productId + warehouseId @Parameter(name = "productId", description = "产品编号", example = "10"), // 方案二:传递 productId + warehouseId
@Parameter(name = "warehouseId", description = "仓库编号", example = "2") @Parameter(name = "warehouseId", description = "仓库编号", example = "2")
}) })
//@PreAuthorize("@ss.hasPermission('erp:stock:query')") @PreAuthorize("@ss.hasPermission('erp:stock:query')")
public CommonResult<ErpStockRespVO> getStock(@RequestParam(value = "id", required = false) Long id, public CommonResult<ErpStockRespVO> getStock(@RequestParam(value = "id", required = false) Long id,
@RequestParam(value = "productId", required = false) Long productId, @RequestParam(value = "productId", required = false) Long productId,
@RequestParam(value = "warehouseId", required = false) Long warehouseId) { @RequestParam(value = "warehouseId", required = false) Long warehouseId) {
@ -75,7 +76,7 @@ public class ErpStockController {
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得产品库存分页") @Operation(summary = "获得产品库存分页")
//@PreAuthorize("@ss.hasPermission('erp:stock:query')") @PreAuthorize("@ss.hasPermission('erp:stock:query')")
public CommonResult<PageResult<ErpStockRespVO>> getStockPage(@Valid ErpStockPageReqVO pageReqVO) { public CommonResult<PageResult<ErpStockRespVO>> getStockPage(@Valid ErpStockPageReqVO pageReqVO) {
PageResult<ErpStockDO> pageResult = stockService.getStockPage(pageReqVO); PageResult<ErpStockDO> pageResult = stockService.getStockPage(pageReqVO);
return success(buildStockVOPageResult(pageResult)); return success(buildStockVOPageResult(pageResult));
@ -83,7 +84,7 @@ public class ErpStockController {
@GetMapping("/export-excel") @GetMapping("/export-excel")
@Operation(summary = "导出产品库存 Excel") @Operation(summary = "导出产品库存 Excel")
//@PreAuthorize("@ss.hasPermission('erp:stock:export')") @PreAuthorize("@ss.hasPermission('erp:stock:export')")
@ApiAccessLog(operateType = EXPORT) @ApiAccessLog(operateType = EXPORT)
public void exportStockExcel(@Valid ErpStockPageReqVO pageReqVO, public void exportStockExcel(@Valid ErpStockPageReqVO pageReqVO,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {

@ -31,6 +31,7 @@ import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -72,14 +73,14 @@ public class ErpStockInController {
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建其它入库单") @Operation(summary = "创建其它入库单")
//@PreAuthorize("@ss.hasPermission('erp:stock-in:create')") @PreAuthorize("@ss.hasPermission('erp:stock-in:create')")
public CommonResult<Long> createStockIn(@Valid @RequestBody ErpStockInSaveReqVO createReqVO) { public CommonResult<Long> createStockIn(@Valid @RequestBody ErpStockInSaveReqVO createReqVO) {
return success(stockInService.createStockIn(createReqVO)); return success(stockInService.createStockIn(createReqVO));
} }
@PutMapping("/update") @PutMapping("/update")
@Operation(summary = "更新其它入库单") @Operation(summary = "更新其它入库单")
//@PreAuthorize("@ss.hasPermission('erp:stock-in:update')") @PreAuthorize("@ss.hasPermission('erp:stock-in:update')")
public CommonResult<Boolean> updateStockIn(@Valid @RequestBody ErpStockInSaveReqVO updateReqVO) { public CommonResult<Boolean> updateStockIn(@Valid @RequestBody ErpStockInSaveReqVO updateReqVO) {
stockInService.updateStockIn(updateReqVO); stockInService.updateStockIn(updateReqVO);
return success(true); return success(true);
@ -87,7 +88,7 @@ public class ErpStockInController {
@PutMapping("/update-status") @PutMapping("/update-status")
@Operation(summary = "更新其它入库单的状态") @Operation(summary = "更新其它入库单的状态")
//@PreAuthorize("@ss.hasPermission('erp:stock-in:update-status')") @PreAuthorize("@ss.hasPermission('erp:stock-in:update-status')")
public CommonResult<Boolean> updateStockInStatus(@RequestParam("id") Long id, public CommonResult<Boolean> updateStockInStatus(@RequestParam("id") Long id,
@RequestParam("status") Integer status) { @RequestParam("status") Integer status) {
stockInService.updateStockInStatus(id, status); stockInService.updateStockInStatus(id, status);
@ -97,7 +98,7 @@ public class ErpStockInController {
@DeleteMapping("/delete") @DeleteMapping("/delete")
@Operation(summary = "删除其它入库单") @Operation(summary = "删除其它入库单")
@Parameter(name = "ids", description = "编号数组", required = true) @Parameter(name = "ids", description = "编号数组", required = true)
//@PreAuthorize("@ss.hasPermission('erp:stock-in:delete')") @PreAuthorize("@ss.hasPermission('erp:stock-in:delete')")
public CommonResult<Boolean> deleteStockIn(@RequestParam("ids") List<Long> ids) { public CommonResult<Boolean> deleteStockIn(@RequestParam("ids") List<Long> ids) {
stockInService.deleteStockIn(ids); stockInService.deleteStockIn(ids);
return success(true); return success(true);
@ -106,7 +107,7 @@ public class ErpStockInController {
@GetMapping("/get") @GetMapping("/get")
@Operation(summary = "获得其它入库单") @Operation(summary = "获得其它入库单")
@Parameter(name = "id", description = "编号", required = true, example = "1024") @Parameter(name = "id", description = "编号", required = true, example = "1024")
//@PreAuthorize("@ss.hasPermission('erp:stock-in:query')") @PreAuthorize("@ss.hasPermission('erp:stock-in:query')")
public CommonResult<ErpStockInRespVO> getStockIn(@RequestParam("id") Long id) { public CommonResult<ErpStockInRespVO> getStockIn(@RequestParam("id") Long id) {
ErpStockInDO stockIn = stockInService.getStockIn(id); ErpStockInDO stockIn = stockInService.getStockIn(id);
if (stockIn == null) { if (stockIn == null) {
@ -139,7 +140,7 @@ public class ErpStockInController {
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得其它入库单分页") @Operation(summary = "获得其它入库单分页")
//@PreAuthorize("@ss.hasPermission('erp:stock-in:query')") @PreAuthorize("@ss.hasPermission('erp:stock-in:query')")
public CommonResult<PageResult<ErpStockInRespVO>> getStockInPage(@Valid ErpStockInPageReqVO pageReqVO) { public CommonResult<PageResult<ErpStockInRespVO>> getStockInPage(@Valid ErpStockInPageReqVO pageReqVO) {
if(StringUtils.isEmpty(pageReqVO.getInType())){ if(StringUtils.isEmpty(pageReqVO.getInType())){
List<String> list = new ArrayList<>(); List<String> list = new ArrayList<>();
@ -155,7 +156,7 @@ public class ErpStockInController {
@GetMapping("/export-excel") @GetMapping("/export-excel")
@Operation(summary = "导出其它入库单 Excel") @Operation(summary = "导出其它入库单 Excel")
//@PreAuthorize("@ss.hasPermission('erp:stock-in:export')") @PreAuthorize("@ss.hasPermission('erp:stock-in:export')")
@ApiAccessLog(operateType = EXPORT) @ApiAccessLog(operateType = EXPORT)
public void exportStockInExcel(@Valid ErpStockInPageReqVO pageReqVO, public void exportStockInExcel(@Valid ErpStockInPageReqVO pageReqVO,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {
@ -207,12 +208,14 @@ public class ErpStockInController {
@PostMapping("/createMesStockIn") @PostMapping("/createMesStockIn")
@Operation(summary = "创建生产入库单") @Operation(summary = "创建生产入库单")
@PreAuthorize("@ss.hasPermission('erp:stock-in:create')")
public CommonResult<Long> createMesStockIn(@Valid @RequestBody ErpStockInSaveReqVO createReqVO) { public CommonResult<Long> createMesStockIn(@Valid @RequestBody ErpStockInSaveReqVO createReqVO) {
createReqVO.setInType(StockInTypeEnum..getValue()); createReqVO.setInType(StockInTypeEnum..getValue());
return success(stockInService.createStockIn(createReqVO)); return success(stockInService.createStockIn(createReqVO));
} }
@GetMapping("/pageMesStockIn") @GetMapping("/pageMesStockIn")
@Operation(summary = "获得生产入库单分页") @Operation(summary = "获得生产入库单分页")
@PreAuthorize("@ss.hasPermission('erp:stock-in:query')")
public CommonResult<PageResult<ErpStockInRespVO>> pageMesStockIn(@Valid ErpStockInPageReqVO pageReqVO) { public CommonResult<PageResult<ErpStockInRespVO>> pageMesStockIn(@Valid ErpStockInPageReqVO pageReqVO) {
pageReqVO.setInType(StockInTypeEnum..getValue()); pageReqVO.setInType(StockInTypeEnum..getValue());
PageResult<ErpStockInDO> pageResult = stockInService.getStockInPage(pageReqVO); PageResult<ErpStockInDO> pageResult = stockInService.getStockInPage(pageReqVO);
@ -220,6 +223,7 @@ public class ErpStockInController {
} }
@GetMapping("/pageComponent") @GetMapping("/pageComponent")
@Operation(summary = "获得备件入库单分页") @Operation(summary = "获得备件入库单分页")
@PreAuthorize("@ss.hasPermission('erp:stock-in:query')")
public CommonResult<PageResult<ErpStockInRespVO>> pageComponent(@Valid ErpStockInPageReqVO pageReqVO) { public CommonResult<PageResult<ErpStockInRespVO>> pageComponent(@Valid ErpStockInPageReqVO pageReqVO) {
pageReqVO.setInType(StockInTypeEnum..getValue()); pageReqVO.setInType(StockInTypeEnum..getValue());
PageResult<ErpStockInDO> pageResult = stockInService.getStockInPage(pageReqVO); PageResult<ErpStockInDO> pageResult = stockInService.getStockInPage(pageReqVO);

@ -23,6 +23,7 @@ import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -57,14 +58,14 @@ public class ErpStockMoveController {
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建库存调拨单") @Operation(summary = "创建库存调拨单")
//@PreAuthorize("@ss.hasPermission('erp:stock-move:create')") @PreAuthorize("@ss.hasPermission('erp:stock-move:create')")
public CommonResult<Long> createStockMove(@Valid @RequestBody ErpStockMoveSaveReqVO createReqVO) { public CommonResult<Long> createStockMove(@Valid @RequestBody ErpStockMoveSaveReqVO createReqVO) {
return success(stockMoveService.createStockMove(createReqVO)); return success(stockMoveService.createStockMove(createReqVO));
} }
@PutMapping("/update") @PutMapping("/update")
@Operation(summary = "更新库存调拨单") @Operation(summary = "更新库存调拨单")
//@PreAuthorize("@ss.hasPermission('erp:stock-move:update')") @PreAuthorize("@ss.hasPermission('erp:stock-move:update')")
public CommonResult<Boolean> updateStockMove(@Valid @RequestBody ErpStockMoveSaveReqVO updateReqVO) { public CommonResult<Boolean> updateStockMove(@Valid @RequestBody ErpStockMoveSaveReqVO updateReqVO) {
stockMoveService.updateStockMove(updateReqVO); stockMoveService.updateStockMove(updateReqVO);
return success(true); return success(true);
@ -72,7 +73,7 @@ public class ErpStockMoveController {
@PutMapping("/update-status") @PutMapping("/update-status")
@Operation(summary = "更新库存调拨单的状态") @Operation(summary = "更新库存调拨单的状态")
//@PreAuthorize("@ss.hasPermission('erp:stock-move:update-status')") @PreAuthorize("@ss.hasPermission('erp:stock-move:update-status')")
public CommonResult<Boolean> updateStockMoveStatus(@RequestParam("id") Long id, public CommonResult<Boolean> updateStockMoveStatus(@RequestParam("id") Long id,
@RequestParam("status") Integer status) { @RequestParam("status") Integer status) {
stockMoveService.updateStockMoveStatus(id, status); stockMoveService.updateStockMoveStatus(id, status);
@ -82,7 +83,7 @@ public class ErpStockMoveController {
@DeleteMapping("/delete") @DeleteMapping("/delete")
@Operation(summary = "删除库存调拨单") @Operation(summary = "删除库存调拨单")
@Parameter(name = "ids", description = "编号数组", required = true) @Parameter(name = "ids", description = "编号数组", required = true)
//@PreAuthorize("@ss.hasPermission('erp:stock-move:delete')") @PreAuthorize("@ss.hasPermission('erp:stock-move:delete')")
public CommonResult<Boolean> deleteStockMove(@RequestParam("ids") List<Long> ids) { public CommonResult<Boolean> deleteStockMove(@RequestParam("ids") List<Long> ids) {
stockMoveService.deleteStockMove(ids); stockMoveService.deleteStockMove(ids);
return success(true); return success(true);
@ -91,7 +92,7 @@ public class ErpStockMoveController {
@GetMapping("/get") @GetMapping("/get")
@Operation(summary = "获得库存调拨单") @Operation(summary = "获得库存调拨单")
@Parameter(name = "id", description = "编号", required = true, example = "1024") @Parameter(name = "id", description = "编号", required = true, example = "1024")
//@PreAuthorize("@ss.hasPermission('erp:stock-move:query')") @PreAuthorize("@ss.hasPermission('erp:stock-move:query')")
public CommonResult<ErpStockMoveRespVO> getStockMove(@RequestParam("id") Long id) { public CommonResult<ErpStockMoveRespVO> getStockMove(@RequestParam("id") Long id) {
ErpStockMoveDO stockMove = stockMoveService.getStockMove(id); ErpStockMoveDO stockMove = stockMoveService.getStockMove(id);
if (stockMove == null) { if (stockMove == null) {
@ -111,7 +112,7 @@ public class ErpStockMoveController {
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得库存调拨单分页") @Operation(summary = "获得库存调拨单分页")
//@PreAuthorize("@ss.hasPermission('erp:stock-move:query')") @PreAuthorize("@ss.hasPermission('erp:stock-move:query')")
public CommonResult<PageResult<ErpStockMoveRespVO>> getStockMovePage(@Valid ErpStockMovePageReqVO pageReqVO) { public CommonResult<PageResult<ErpStockMoveRespVO>> getStockMovePage(@Valid ErpStockMovePageReqVO pageReqVO) {
PageResult<ErpStockMoveDO> pageResult = stockMoveService.getStockMovePage(pageReqVO); PageResult<ErpStockMoveDO> pageResult = stockMoveService.getStockMovePage(pageReqVO);
return success(buildStockMoveVOPageResult(pageResult)); return success(buildStockMoveVOPageResult(pageResult));
@ -119,7 +120,7 @@ public class ErpStockMoveController {
@GetMapping("/export-excel") @GetMapping("/export-excel")
@Operation(summary = "导出库存调拨单 Excel") @Operation(summary = "导出库存调拨单 Excel")
//@PreAuthorize("@ss.hasPermission('erp:stock-move:export')") @PreAuthorize("@ss.hasPermission('erp:stock-move:export')")
@ApiAccessLog(operateType = EXPORT) @ApiAccessLog(operateType = EXPORT)
public void exportStockMoveExcel(@Valid ErpStockMovePageReqVO pageReqVO, public void exportStockMoveExcel(@Valid ErpStockMovePageReqVO pageReqVO,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {

@ -30,6 +30,7 @@ import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -71,14 +72,14 @@ public class ErpStockOutController {
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建其它出库单") @Operation(summary = "创建其它出库单")
//@PreAuthorize("@ss.hasPermission('erp:stock-out:create')") @PreAuthorize("@ss.hasPermission('erp:stock-out:create')")
public CommonResult<Long> createStockOut(@Valid @RequestBody ErpStockOutSaveReqVO createReqVO) { public CommonResult<Long> createStockOut(@Valid @RequestBody ErpStockOutSaveReqVO createReqVO) {
return success(stockOutService.createStockOut(createReqVO)); return success(stockOutService.createStockOut(createReqVO));
} }
@PutMapping("/update") @PutMapping("/update")
@Operation(summary = "更新其它出库单") @Operation(summary = "更新其它出库单")
//@PreAuthorize("@ss.hasPermission('erp:stock-out:update')") @PreAuthorize("@ss.hasPermission('erp:stock-out:update')")
public CommonResult<Boolean> updateStockOut(@Valid @RequestBody ErpStockOutSaveReqVO updateReqVO) { public CommonResult<Boolean> updateStockOut(@Valid @RequestBody ErpStockOutSaveReqVO updateReqVO) {
stockOutService.updateStockOut(updateReqVO); stockOutService.updateStockOut(updateReqVO);
return success(true); return success(true);
@ -86,7 +87,7 @@ public class ErpStockOutController {
@PutMapping("/update-status") @PutMapping("/update-status")
@Operation(summary = "更新其它出库单的状态") @Operation(summary = "更新其它出库单的状态")
//@PreAuthorize("@ss.hasPermission('erp:stock-out:update-status')") @PreAuthorize("@ss.hasPermission('erp:stock-out:update-status')")
public CommonResult<Boolean> updateStockOutStatus(@RequestParam("id") Long id, public CommonResult<Boolean> updateStockOutStatus(@RequestParam("id") Long id,
@RequestParam("status") Integer status) { @RequestParam("status") Integer status) {
stockOutService.updateStockOutStatus(id, status); stockOutService.updateStockOutStatus(id, status);
@ -96,7 +97,7 @@ public class ErpStockOutController {
@DeleteMapping("/delete") @DeleteMapping("/delete")
@Operation(summary = "删除其它出库单") @Operation(summary = "删除其它出库单")
@Parameter(name = "ids", description = "编号数组", required = true) @Parameter(name = "ids", description = "编号数组", required = true)
//@PreAuthorize("@ss.hasPermission('erp:stock-out:delete')") @PreAuthorize("@ss.hasPermission('erp:stock-out:delete')")
public CommonResult<Boolean> deleteStockOut(@RequestParam("ids") List<Long> ids) { public CommonResult<Boolean> deleteStockOut(@RequestParam("ids") List<Long> ids) {
stockOutService.deleteStockOut(ids); stockOutService.deleteStockOut(ids);
return success(true); return success(true);
@ -105,7 +106,7 @@ public class ErpStockOutController {
@GetMapping("/get") @GetMapping("/get")
@Operation(summary = "获得其它出库单") @Operation(summary = "获得其它出库单")
@Parameter(name = "id", description = "编号", required = true, example = "1024") @Parameter(name = "id", description = "编号", required = true, example = "1024")
//@PreAuthorize("@ss.hasPermission('erp:stock-out:query')") @PreAuthorize("@ss.hasPermission('erp:stock-out:query')")
public CommonResult<ErpStockOutRespVO> getStockOut(@RequestParam("id") Long id) { public CommonResult<ErpStockOutRespVO> getStockOut(@RequestParam("id") Long id) {
ErpStockOutDO stockOut = stockOutService.getStockOut(id); ErpStockOutDO stockOut = stockOutService.getStockOut(id);
if (stockOut == null) { if (stockOut == null) {
@ -138,7 +139,7 @@ public class ErpStockOutController {
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得其它出库单分页") @Operation(summary = "获得其它出库单分页")
//@PreAuthorize("@ss.hasPermission('erp:stock-out:query')") @PreAuthorize("@ss.hasPermission('erp:stock-out:query')")
public CommonResult<PageResult<ErpStockOutRespVO>> getStockOutPage(@Valid ErpStockOutPageReqVO pageReqVO) { public CommonResult<PageResult<ErpStockOutRespVO>> getStockOutPage(@Valid ErpStockOutPageReqVO pageReqVO) {
if(StringUtils.isEmpty(pageReqVO.getOutType())){ if(StringUtils.isEmpty(pageReqVO.getOutType())){
List<String> list = new ArrayList<>(); List<String> list = new ArrayList<>();
@ -153,7 +154,7 @@ public class ErpStockOutController {
} }
@GetMapping("/export-excel") @GetMapping("/export-excel")
@Operation(summary = "导出其它出库单 Excel") @Operation(summary = "导出其它出库单 Excel")
//@PreAuthorize("@ss.hasPermission('erp:stock-out:export')") @PreAuthorize("@ss.hasPermission('erp:stock-out:export')")
@ApiAccessLog(operateType = EXPORT) @ApiAccessLog(operateType = EXPORT)
public void exportStockOutExcel(@Valid ErpStockOutPageReqVO pageReqVO, public void exportStockOutExcel(@Valid ErpStockOutPageReqVO pageReqVO,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {
@ -208,14 +209,14 @@ public class ErpStockOutController {
@PostMapping("/createMesStockOut") @PostMapping("/createMesStockOut")
@Operation(summary = "创建生产领料出库单") @Operation(summary = "创建生产领料出库单")
//@PreAuthorize("@ss.hasPermission('erp:stock-out:create')") @PreAuthorize("@ss.hasPermission('erp:stock-out:create')")
public CommonResult<Long> createMesStockout(@Valid @RequestBody ErpStockOutSaveReqVO createReqVO) { public CommonResult<Long> createMesStockout(@Valid @RequestBody ErpStockOutSaveReqVO createReqVO) {
createReqVO.setOutType(StockOutTypeEnum..getValue()); createReqVO.setOutType(StockOutTypeEnum..getValue());
return success(stockOutService.createStockOut(createReqVO)); return success(stockOutService.createStockOut(createReqVO));
} }
@GetMapping("/pageMesStockOut") @GetMapping("/pageMesStockOut")
@Operation(summary = "获得生产领料出库单分页") @Operation(summary = "获得生产领料出库单分页")
//@PreAuthorize("@ss.hasPermission('erp:stock-out:query')") @PreAuthorize("@ss.hasPermission('erp:stock-out:query')")
public CommonResult<PageResult<ErpStockOutRespVO>> getMesStockOutPage(@Valid ErpStockOutPageReqVO pageReqVO) { public CommonResult<PageResult<ErpStockOutRespVO>> getMesStockOutPage(@Valid ErpStockOutPageReqVO pageReqVO) {
pageReqVO.setOutType(StockOutTypeEnum..getValue()); pageReqVO.setOutType(StockOutTypeEnum..getValue());
PageResult<ErpStockOutDO> pageResult = stockOutService.getStockOutPage(pageReqVO); PageResult<ErpStockOutDO> pageResult = stockOutService.getStockOutPage(pageReqVO);

@ -21,6 +21,7 @@ import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
@ -57,7 +58,7 @@ public class ErpStockRecordController {
@GetMapping("/get") @GetMapping("/get")
@Operation(summary = "获得产品库存明细") @Operation(summary = "获得产品库存明细")
@Parameter(name = "id", description = "编号", required = true, example = "1024") @Parameter(name = "id", description = "编号", required = true, example = "1024")
//@PreAuthorize("@ss.hasPermission('erp:stock-record:query')") @PreAuthorize("@ss.hasPermission('erp:stock-record:query')")
public CommonResult<ErpStockRecordRespVO> getStockRecord(@RequestParam("id") Long id) { public CommonResult<ErpStockRecordRespVO> getStockRecord(@RequestParam("id") Long id) {
ErpStockRecordDO stockRecord = stockRecordService.getStockRecord(id); ErpStockRecordDO stockRecord = stockRecordService.getStockRecord(id);
return success(BeanUtils.toBean(stockRecord, ErpStockRecordRespVO.class)); return success(BeanUtils.toBean(stockRecord, ErpStockRecordRespVO.class));
@ -65,7 +66,7 @@ public class ErpStockRecordController {
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得产品库存明细分页") @Operation(summary = "获得产品库存明细分页")
//@PreAuthorize("@ss.hasPermission('erp:stock-record:query')") @PreAuthorize("@ss.hasPermission('erp:stock-record:query')")
public CommonResult<PageResult<ErpStockRecordRespVO>> getStockRecordPage(@Valid ErpStockRecordPageReqVO pageReqVO) { public CommonResult<PageResult<ErpStockRecordRespVO>> getStockRecordPage(@Valid ErpStockRecordPageReqVO pageReqVO) {
PageResult<ErpStockRecordDO> pageResult = stockRecordService.getStockRecordPage(pageReqVO); PageResult<ErpStockRecordDO> pageResult = stockRecordService.getStockRecordPage(pageReqVO);
return success(buildStockRecrodVOPageResult(pageResult)); return success(buildStockRecrodVOPageResult(pageResult));
@ -73,7 +74,7 @@ public class ErpStockRecordController {
@GetMapping("/export-excel") @GetMapping("/export-excel")
@Operation(summary = "导出产品库存明细 Excel") @Operation(summary = "导出产品库存明细 Excel")
//@PreAuthorize("@ss.hasPermission('erp:stock-record:export')") @PreAuthorize("@ss.hasPermission('erp:stock-record:export')")
@ApiAccessLog(operateType = EXPORT) @ApiAccessLog(operateType = EXPORT)
public void exportStockRecordExcel(@Valid ErpStockRecordPageReqVO pageReqVO, public void exportStockRecordExcel(@Valid ErpStockRecordPageReqVO pageReqVO,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {

@ -16,6 +16,7 @@ import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Parameters; import io.swagger.v3.oas.annotations.Parameters;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -40,14 +41,14 @@ public class ErpWarehouseController {
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建仓库") @Operation(summary = "创建仓库")
//@PreAuthorize("@ss.hasPermission('erp:warehouse:create')") @PreAuthorize("@ss.hasPermission('erp:warehouse:create')")
public CommonResult<Long> createWarehouse(@Valid @RequestBody ErpWarehouseSaveReqVO createReqVO) { public CommonResult<Long> createWarehouse(@Valid @RequestBody ErpWarehouseSaveReqVO createReqVO) {
return success(warehouseService.createWarehouse(createReqVO)); return success(warehouseService.createWarehouse(createReqVO));
} }
@PutMapping("/update") @PutMapping("/update")
@Operation(summary = "更新仓库") @Operation(summary = "更新仓库")
//@PreAuthorize("@ss.hasPermission('erp:warehouse:update')") @PreAuthorize("@ss.hasPermission('erp:warehouse:update')")
public CommonResult<Boolean> updateWarehouse(@Valid @RequestBody ErpWarehouseSaveReqVO updateReqVO) { public CommonResult<Boolean> updateWarehouse(@Valid @RequestBody ErpWarehouseSaveReqVO updateReqVO) {
warehouseService.updateWarehouse(updateReqVO); warehouseService.updateWarehouse(updateReqVO);
return success(true); return success(true);
@ -68,7 +69,7 @@ public class ErpWarehouseController {
@DeleteMapping("/delete") @DeleteMapping("/delete")
@Operation(summary = "删除仓库") @Operation(summary = "删除仓库")
@Parameter(name = "id", description = "编号", required = true) @Parameter(name = "id", description = "编号", required = true)
//@PreAuthorize("@ss.hasPermission('erp:warehouse:delete')") @PreAuthorize("@ss.hasPermission('erp:warehouse:delete')")
public CommonResult<Boolean> deleteWarehouse(@RequestParam("id") Long id) { public CommonResult<Boolean> deleteWarehouse(@RequestParam("id") Long id) {
warehouseService.deleteWarehouse(id); warehouseService.deleteWarehouse(id);
return success(true); return success(true);
@ -77,7 +78,7 @@ public class ErpWarehouseController {
@GetMapping("/get") @GetMapping("/get")
@Operation(summary = "获得仓库") @Operation(summary = "获得仓库")
@Parameter(name = "id", description = "编号", required = true, example = "1024") @Parameter(name = "id", description = "编号", required = true, example = "1024")
//@PreAuthorize("@ss.hasPermission('erp:warehouse:query')") @PreAuthorize("@ss.hasPermission('erp:warehouse:query')")
public CommonResult<ErpWarehouseRespVO> getWarehouse(@RequestParam("id") Long id) { public CommonResult<ErpWarehouseRespVO> getWarehouse(@RequestParam("id") Long id) {
ErpWarehouseDO warehouse = warehouseService.getWarehouse(id); ErpWarehouseDO warehouse = warehouseService.getWarehouse(id);
return success(BeanUtils.toBean(warehouse, ErpWarehouseRespVO.class)); return success(BeanUtils.toBean(warehouse, ErpWarehouseRespVO.class));
@ -85,7 +86,7 @@ public class ErpWarehouseController {
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得仓库分页") @Operation(summary = "获得仓库分页")
//@PreAuthorize("@ss.hasPermission('erp:warehouse:query')") @PreAuthorize("@ss.hasPermission('erp:warehouse:query')")
public CommonResult<PageResult<ErpWarehouseRespVO>> getWarehousePage(@Valid ErpWarehousePageReqVO pageReqVO) { public CommonResult<PageResult<ErpWarehouseRespVO>> getWarehousePage(@Valid ErpWarehousePageReqVO pageReqVO) {
PageResult<ErpWarehouseDO> pageResult = warehouseService.getWarehousePage(pageReqVO); PageResult<ErpWarehouseDO> pageResult = warehouseService.getWarehousePage(pageReqVO);
return success(BeanUtils.toBean(pageResult, ErpWarehouseRespVO.class)); return success(BeanUtils.toBean(pageResult, ErpWarehouseRespVO.class));
@ -101,7 +102,7 @@ public class ErpWarehouseController {
@GetMapping("/export-excel") @GetMapping("/export-excel")
@Operation(summary = "导出仓库 Excel") @Operation(summary = "导出仓库 Excel")
//@PreAuthorize("@ss.hasPermission('erp:warehouse:export')") @PreAuthorize("@ss.hasPermission('erp:warehouse:export')")
@ApiAccessLog(operateType = EXPORT) @ApiAccessLog(operateType = EXPORT)
public void exportWarehouseExcel(@Valid ErpWarehousePageReqVO pageReqVO, public void exportWarehouseExcel(@Valid ErpWarehousePageReqVO pageReqVO,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {

@ -51,7 +51,7 @@ public class ErpStockInSaveReqVO {
private Long id; private Long id;
@Schema(description = "仓库编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "3113") @Schema(description = "仓库编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "3113")
@NotNull(message = "仓库编号不能为空") // @NotNull(message = "仓库编号不能为空")
private Long warehouseId; private Long warehouseId;
@Schema(description = "产品编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "3113") @Schema(description = "产品编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "3113")

@ -46,7 +46,7 @@ public class ErpStockOutSaveReqVO {
private Long id; private Long id;
@Schema(description = "仓库编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "3113") @Schema(description = "仓库编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "3113")
@NotNull(message = "仓库编号不能为空") // @NotNull(message = "仓库编号不能为空")
private Long warehouseId; private Long warehouseId;
@Schema(description = "产品编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "3113") @Schema(description = "产品编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "3113")

@ -133,22 +133,22 @@ public class ErpStockInServiceImpl implements ErpStockInService {
// 3. 变更库存 // 3. 变更库存
List<ErpStockInItemDO> stockInItems = stockInItemMapper.selectListByInId(id); List<ErpStockInItemDO> stockInItems = stockInItemMapper.selectListByInId(id);
Integer bizType = approve ? ErpStockRecordBizTypeEnum.OTHER_IN.getType() // Integer bizType = approve ? ErpStockRecordBizTypeEnum.OTHER_IN.getType()
: ErpStockRecordBizTypeEnum.OTHER_IN_CANCEL.getType(); // : ErpStockRecordBizTypeEnum.OTHER_IN_CANCEL.getType();
stockInItems.forEach(stockInItem -> { // stockInItems.forEach(stockInItem -> {
BigDecimal count = approve ? stockInItem.getCount() : stockInItem.getCount().negate(); // BigDecimal count = approve ? stockInItem.getCount() : stockInItem.getCount().negate();
if (Objects.equals(stockIn.getInType(), "模具入库")) { // if (Objects.equals(stockIn.getInType(), "模具入库")) {
MoldDO moldDO = moldService.getMold(stockInItem.getProductId()); // MoldDO moldDO = moldService.getMold(stockInItem.getProductId());
stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO( // stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO(
stockInItem.getProductId(),moldDO.getBrandId(), stockInItem.getWarehouseId(), count, // stockInItem.getProductId(),moldDO.getBrandId(), stockInItem.getWarehouseId(), count,
bizType, stockInItem.getInId(), stockInItem.getId(), stockIn.getNo(), stockIn.getInTime())); // bizType, stockInItem.getInId(), stockInItem.getId(), stockIn.getNo(), stockIn.getInTime()));
} else { // } else {
ErpProductDO productDO = productService.getProduct(stockInItem.getProductId()); // ErpProductDO productDO = productService.getProduct(stockInItem.getProductId());
stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO( // stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO(
stockInItem.getProductId(),productDO.getCategoryId(), stockInItem.getWarehouseId(), count, // stockInItem.getProductId(),productDO.getCategoryId(), stockInItem.getWarehouseId(), count,
bizType, stockInItem.getInId(), stockInItem.getId(), stockIn.getNo(), stockIn.getInTime())); // bizType, stockInItem.getInId(), stockInItem.getId(), stockIn.getNo(), stockIn.getInTime()));
} // }
}); // });
// 更改状态 // 更改状态
if (Objects.equals(stockIn.getInType(), "模具入库")) { if (Objects.equals(stockIn.getInType(), "模具入库")) {
@ -176,8 +176,8 @@ public class ErpStockInServiceImpl implements ErpStockInService {
convertSet(list, ErpStockInSaveReqVO.Item::getProductId)); convertSet(list, ErpStockInSaveReqVO.Item::getProductId));
Map<Long, MoldDO> moldMap = convertMap(moldList, MoldDO::getId); Map<Long, MoldDO> moldMap = convertMap(moldList, MoldDO::getId);
// 1.2 校验仓库存在 // 1.2 校验仓库存在
warehouseService.validWarehouseList(convertSet( // warehouseService.validWarehouseList(convertSet(
list, ErpStockInSaveReqVO.Item::getWarehouseId)); // list, ErpStockInSaveReqVO.Item::getWarehouseId));
// 2. 转化为 ErpStockInItemDO 列表 // 2. 转化为 ErpStockInItemDO 列表
return convertList(list, o -> BeanUtils.toBean(o, ErpStockInItemDO.class, item -> item return convertList(list, o -> BeanUtils.toBean(o, ErpStockInItemDO.class, item -> item
.setProductUnitId(moldMap.get(item.getProductId()).getUnitId()) .setProductUnitId(moldMap.get(item.getProductId()).getUnitId())

@ -139,24 +139,24 @@ public class ErpStockOutServiceImpl implements ErpStockOutService {
// 3. 变更库存 // 3. 变更库存
List<ErpStockOutItemDO> stockOutItems = stockOutItemMapper.selectListByOutId(id); List<ErpStockOutItemDO> stockOutItems = stockOutItemMapper.selectListByOutId(id);
Integer bizType = approve ? ErpStockRecordBizTypeEnum.OTHER_OUT.getType() // Integer bizType = approve ? ErpStockRecordBizTypeEnum.OTHER_OUT.getType()
: ErpStockRecordBizTypeEnum.OTHER_OUT_CANCEL.getType(); // : ErpStockRecordBizTypeEnum.OTHER_OUT_CANCEL.getType();
stockOutItems.forEach(stockOutItem -> { // stockOutItems.forEach(stockOutItem -> {
BigDecimal count = approve ? stockOutItem.getCount().negate() : stockOutItem.getCount(); // BigDecimal count = approve ? stockOutItem.getCount().negate() : stockOutItem.getCount();
if (Objects.equals(stockOut.getOutType(), "模具出库")) { // if (Objects.equals(stockOut.getOutType(), "模具出库")) {
MoldDO moldDO = moldService.getMold(stockOutItem.getProductId()); // MoldDO moldDO = moldService.getMold(stockOutItem.getProductId());
stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO( // stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO(
stockOutItem.getProductId(),moldDO.getBrandId(), stockOutItem.getWarehouseId(), count, // stockOutItem.getProductId(),moldDO.getBrandId(), stockOutItem.getWarehouseId(), count,
bizType, stockOutItem.getOutId(), stockOutItem.getId(), stockOut.getNo(),stockOut.getOutTime())); // bizType, stockOutItem.getOutId(), stockOutItem.getId(), stockOut.getNo(),stockOut.getOutTime()));
//
} else { // } else {
ErpProductDO productDO = productService.getProduct(stockOutItem.getProductId()); // ErpProductDO productDO = productService.getProduct(stockOutItem.getProductId());
stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO( // stockRecordService.createStockRecord(new ErpStockRecordCreateReqBO(
stockOutItem.getProductId(),productDO.getCategoryId(), stockOutItem.getWarehouseId(), count, // stockOutItem.getProductId(),productDO.getCategoryId(), stockOutItem.getWarehouseId(), count,
bizType, stockOutItem.getOutId(), stockOutItem.getId(), stockOut.getNo(),stockOut.getOutTime())); // bizType, stockOutItem.getOutId(), stockOutItem.getId(), stockOut.getNo(),stockOut.getOutTime()));
//
} // }
}); // });
// 更改状态 // 更改状态
if (Objects.equals(stockOut.getOutType(), "模具出库")) { if (Objects.equals(stockOut.getOutType(), "模具出库")) {
for (ErpStockOutItemDO item : stockOutItems) { for (ErpStockOutItemDO item : stockOutItems) {
@ -181,7 +181,7 @@ public class ErpStockOutServiceImpl implements ErpStockOutService {
convertSet(list, ErpStockOutSaveReqVO.Item::getProductId)); convertSet(list, ErpStockOutSaveReqVO.Item::getProductId));
Map<Long, MoldDO> moldMap = convertMap(moldList, MoldDO::getId); Map<Long, MoldDO> moldMap = convertMap(moldList, MoldDO::getId);
// 1.2 校验仓库存在 // 1.2 校验仓库存在
warehouseService.validWarehouseList(convertSet(list, ErpStockOutSaveReqVO.Item::getWarehouseId)); // warehouseService.validWarehouseList(convertSet(list, ErpStockOutSaveReqVO.Item::getWarehouseId));
// 2. 转化为 ErpStockOutItemDO 列表 // 2. 转化为 ErpStockOutItemDO 列表
return convertList(list, o -> BeanUtils.toBean(o, ErpStockOutItemDO.class, item -> item return convertList(list, o -> BeanUtils.toBean(o, ErpStockOutItemDO.class, item -> item
.setProductUnitId(moldMap.get(item.getProductId()).getUnitId()) .setProductUnitId(moldMap.get(item.getProductId()).getUnitId())
@ -192,7 +192,7 @@ public class ErpStockOutServiceImpl implements ErpStockOutService {
convertSet(list, ErpStockOutSaveReqVO.Item::getProductId)); convertSet(list, ErpStockOutSaveReqVO.Item::getProductId));
Map<Long, ErpProductDO> productMap = convertMap(productList, ErpProductDO::getId); Map<Long, ErpProductDO> productMap = convertMap(productList, ErpProductDO::getId);
// 1.2 校验仓库存在 // 1.2 校验仓库存在
warehouseService.validWarehouseList(convertSet(list, ErpStockOutSaveReqVO.Item::getWarehouseId)); // warehouseService.validWarehouseList(convertSet(list, ErpStockOutSaveReqVO.Item::getWarehouseId));
// 2. 转化为 ErpStockOutItemDO 列表 // 2. 转化为 ErpStockOutItemDO 列表
return convertList(list, o -> BeanUtils.toBean(o, ErpStockOutItemDO.class, item -> item return convertList(list, o -> BeanUtils.toBean(o, ErpStockOutItemDO.class, item -> item
.setProductUnitId(productMap.get(item.getProductId()).getUnitId()) .setProductUnitId(productMap.get(item.getProductId()).getUnitId())

@ -179,7 +179,7 @@ public class DeviceController {
@PostMapping("/copy") @PostMapping("/copy")
@Operation(summary = "复制设备") @Operation(summary = "复制设备")
// @PreAuthorize("@ss.hasPermission('iot:device-model:create')") @PreAuthorize("@ss.hasPermission('iot:device-model:update')")
public CommonResult<Long> copyDevice(@RequestParam("id") Long id) { public CommonResult<Long> copyDevice(@RequestParam("id") Long id) {
return success(deviceService.copyDevice(id)); return success(deviceService.copyDevice(id));
} }
@ -187,7 +187,7 @@ public class DeviceController {
@GetMapping("/lineDevicePage") @GetMapping("/lineDevicePage")
@Operation(summary = "获得产线设备分页") @Operation(summary = "获得产线设备分页")
@PreAuthorize("@ss.hasPermission('iot:device:query')") // @PreAuthorize("@ss.hasPermission('iot:device:lineDevicePage')")
public CommonResult<PageResult<LineDeviceRespVO>> lineDevicePage(@Valid LineDeviceRequestVO pageReqVO) { public CommonResult<PageResult<LineDeviceRespVO>> lineDevicePage(@Valid LineDeviceRequestVO pageReqVO) {
PageResult<LineDeviceRespVO> pageResult = deviceService.lineDevicePage(pageReqVO); PageResult<LineDeviceRespVO> pageResult = deviceService.lineDevicePage(pageReqVO);
return success(pageResult); return success(pageResult);
@ -195,7 +195,7 @@ public class DeviceController {
@GetMapping("/export-line-device") @GetMapping("/export-line-device")
@Operation(summary = "导出产线设备分页 Excel") @Operation(summary = "导出产线设备分页 Excel")
@PreAuthorize("@ss.hasPermission('iot:device:export')") // @PreAuthorize("@ss.hasPermission('iot:device:lineDeviceExport')")
@ApiAccessLog(operateType = EXPORT) @ApiAccessLog(operateType = EXPORT)
public void exportLineDevice(@Valid LineDeviceRequestVO pageReqVO, public void exportLineDevice(@Valid LineDeviceRequestVO pageReqVO,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {

@ -1,6 +1,5 @@
package cn.iocoder.yudao.module.iot.controller.admin.deviceattributetype; package cn.iocoder.yudao.module.iot.controller.admin.deviceattributetype;
import cn.iocoder.yudao.module.iot.dal.dataobject.devicemodel.DeviceModelDO;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -14,6 +13,7 @@ import javax.validation.*;
import javax.servlet.http.*; import javax.servlet.http.*;
import java.util.*; import java.util.*;
import java.io.IOException; import java.io.IOException;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.pojo.PageParam;

@ -97,7 +97,7 @@ public class DeviceOperationRecordController {
@GetMapping("/deviceOperationPage") @GetMapping("/deviceOperationPage")
@Operation(summary = "设备运行报表") @Operation(summary = "设备运行报表")
@PreAuthorize("@ss.hasPermission('mes:repair-tems:query')") @PreAuthorize("@ss.hasPermission('iot:device-operation-record:query')")
public CommonResult<PageResult<DeviceTotalTimeRecordRespVO>> deviceOperationPage(@Valid DeviceTotalTimeRecordReqVO pageReqVO) { public CommonResult<PageResult<DeviceTotalTimeRecordRespVO>> deviceOperationPage(@Valid DeviceTotalTimeRecordReqVO pageReqVO) {
PageResult<DeviceTotalTimeRecordRespVO> pageResult = deviceOperationRecordService.deviceOperationPage(pageReqVO); PageResult<DeviceTotalTimeRecordRespVO> pageResult = deviceOperationRecordService.deviceOperationPage(pageReqVO);
return success(pageResult); return success(pageResult);

@ -82,6 +82,7 @@ public class RecipePlanDetailController {
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "分页查询配方计划详情(含关联信息)") @Operation(summary = "分页查询配方计划详情(含关联信息)")
@PreAuthorize("@ss.hasPermission('iot:recipe-plan-detail:query')")
public CommonResult<PageResult<RecipePlanDetailPageRespDTO>> pageRecipePlanDetail(RecipePlanDetailPageReqVO reqVO) { public CommonResult<PageResult<RecipePlanDetailPageRespDTO>> pageRecipePlanDetail(RecipePlanDetailPageReqVO reqVO) {
PageResult<RecipePlanDetailPageRespDTO> pageResult = recipePlanDetailService.pageRecipePlanDetail(reqVO); PageResult<RecipePlanDetailPageRespDTO> pageResult = recipePlanDetailService.pageRecipePlanDetail(reqVO);
return CommonResult.success(pageResult); return CommonResult.success(pageResult);

@ -42,6 +42,7 @@ import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.JsonProcessingException;
@ -63,6 +64,7 @@ import java.text.SimpleDateFormat;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
@ -1184,91 +1186,110 @@ public class DeviceServiceImpl implements DeviceService {
@Override @Override
public List<Map<String, Object>> getMultiDeviceAttributes(Long goviewId) { public List<Map<String, Object>> getMultiDeviceAttributes(Long goviewId) {
List<Map<String, Object>> result = new ArrayList<>(); List<Map<String, Object>> result = new ArrayList<>();
try { try {
// 直接从数据库查询deviceIds JSON字符串
String deviceIdsJson = deviceMapper.selectDeviceIdsByGoviewId(goviewId); String deviceIdsJson = deviceMapper.selectDeviceIdsByGoviewId(goviewId);
if (StringUtils.isBlank(deviceIdsJson)) { if (StringUtils.isBlank(deviceIdsJson)) {
log.info("No deviceIds found for goviewId: {}", goviewId);
return result; return result;
} }
// 解析JSON格式的deviceIds // 1. 解析(允许重复 device
Map<Long, Set<Long>> deviceAttributeMap = parseDeviceIdsJson(deviceIdsJson); List<Map.Entry<Long, Set<Long>>> deviceAttributeList =
if (deviceAttributeMap.isEmpty()) { parseDeviceIdsJson(deviceIdsJson);
log.warn("No valid device-attribute mapping found for goviewId: {}", goviewId);
if (CollectionUtils.isEmpty(deviceAttributeList)) {
return result; return result;
} }
// 批量获取所有设备的最新运行记录,减少数据库查询次数 // 2. 收集所有 deviceId / attributeId用于批量查询
Map<Long, DeviceOperationRecordDO> latestRecordMap = getLatestDeviceOperationRecords(deviceAttributeMap.keySet()); Set<Long> allDeviceIds = deviceAttributeList.stream()
.map(Map.Entry::getKey)
.collect(Collectors.toSet());
Set<Long> allAttributeIds = deviceAttributeList.stream()
.flatMap(e -> e.getValue().stream())
.collect(Collectors.toSet());
// 3. 批量查设备
Map<Long, DeviceDO> deviceMap = deviceMapper
.selectBatchIds(allDeviceIds)
.stream()
.collect(Collectors.toMap(DeviceDO::getId, Function.identity()));
// 4. 批量查属性
Map<Long, DeviceContactModelDO> attributeMap =
deviceContactModelMapper.selectList(
Wrappers.<DeviceContactModelDO>lambdaQuery()
.in(DeviceContactModelDO::getId, allAttributeIds)
).stream().collect(Collectors.toMap(
DeviceContactModelDO::getId,
Function.identity()
));
// 5. 批量查运行状态
Map<Long, DeviceOperationRecordDO> latestRecordMap =
getLatestDeviceOperationRecords(allDeviceIds);
log.info("Found {} devices with attribute mappings for goviewId {}: {}", // 6. 批量查最新采集数据(需为批量方法)
deviceAttributeMap.size(), goviewId, deviceAttributeMap); Map<Long, Map<Long, Map<String, Object>>> deviceDataMap =
createDeviceDataMapBatch(allDeviceIds, attributeMap);
// 7. 按原始结构组装(不合并重复设备)
for (Map.Entry<Long, Set<Long>> entry : deviceAttributeList) {
// 遍历每个设备ID获取设备属性数据
for (Map.Entry<Long, Set<Long>> entry : deviceAttributeMap.entrySet()) {
Long deviceId = entry.getKey(); Long deviceId = entry.getKey();
Set<Long> attributeIds = entry.getValue(); Set<Long> attributeIds = entry.getValue();
try { DeviceDO device = deviceMap.get(deviceId);
// 获取设备信息
DeviceDO device = deviceMapper.selectById(deviceId);
if (device == null) { if (device == null) {
log.warn("Device not found for ID: {}", deviceId);
continue; continue;
} }
// 创建设备层级的Map Map<String, Object> deviceResult = new HashMap<>();
Map<String, Object> deviceMap = new HashMap<>(); deviceResult.put("deviceId", deviceId);
deviceMap.put("deviceId", deviceId); deviceResult.put("deviceName", device.getDeviceName());
deviceMap.put("deviceName", device.getDeviceName()); deviceResult.put("deviceCode", device.getDeviceCode());
deviceMap.put("deviceCode", device.getDeviceCode());
// 添加设备运行状态 String operatingStatus =
String operatingStatus = getDeviceOperatingStatus(deviceId, latestRecordMap); getDeviceOperatingStatus(deviceId, latestRecordMap);
deviceMap.put("operatingStatus", operatingStatus); deviceResult.put("operatingStatus", operatingStatus);
// 获取设备属性列表只查询指定的属性ID List<Map<String, Object>> attributeList = new ArrayList<>();
List<DeviceContactModelDO> attributes = deviceContactModelMapper.selectList(
Wrappers.<DeviceContactModelDO>lambdaQuery()
.eq(DeviceContactModelDO::getDeviceId, deviceId)
.in(DeviceContactModelDO::getId, attributeIds));
// 获取设备最新数据 Map<Long, Map<String, Object>> deviceAttrData =
Map<Long, Map<String, Object>> deviceDataMap = createDeviceDataMap(deviceId); deviceDataMap.getOrDefault(deviceId, Collections.emptyMap());
// 创建属性集合 for (Long attributeId : attributeIds) {
List<Map<String, Object>> attributeList = new ArrayList<>();
for (DeviceContactModelDO attribute : attributes) {
Map<String, Object> attributeData = new HashMap<>();
attributeData.put("attributeId", attribute.getId());
attributeData.put("attributeName", attribute.getAttributeName());
attributeData.put("attributeCode", attribute.getAttributeCode());
attributeData.put("dataType", attribute.getDataType());
attributeData.put("dataUnit", attribute.getDataUnit());
// 获取最新数据
Map<String, Object> latestData = deviceDataMap.get(attribute.getId());
if (latestData != null) {
attributeData.put("addressValue", adjustByRatio(latestData.get("addressValue"), attribute.getRatio()));
attributeData.put("latestCollectionTime", latestData.get("timestamp"));
}
attributeList.add(attributeData); DeviceContactModelDO attribute = attributeMap.get(attributeId);
if (attribute == null) {
continue;
} }
// 将属性集合添加到设备层级 Map<String, Object> attrResult = new HashMap<>();
deviceMap.put("attributes", attributeList); attrResult.put("attributeId", attribute.getId());
attrResult.put("attributeName", attribute.getAttributeName());
attrResult.put("attributeCode", attribute.getAttributeCode());
attrResult.put("dataType", attribute.getDataType());
attrResult.put("dataUnit", attribute.getDataUnit());
// 添加到结果列表 Map<String, Object> latestData = deviceAttrData.get(attributeId);
result.add(deviceMap); if (latestData != null) {
} catch (Exception e) { attrResult.put("addressValue",
log.error("Error processing device ID: {} with attributes: {}", deviceId, attributeIds, e); adjustByRatio(latestData.get("addressValue"), attribute.getRatio()));
// 继续处理其他设备,不中断整体流程 attrResult.put("latestCollectionTime", latestData.get("timestamp"));
} }
attributeList.add(attrResult);
}
deviceResult.put("attributes", attributeList);
result.add(deviceResult);
} }
} catch (Exception e) { } catch (Exception e) {
log.error("Failed to get multi-device attributes by goviewId: {}", goviewId, e); log.error("Failed to get multi-device attributes by goviewId: {}", goviewId, e);
} }
@ -1276,6 +1297,11 @@ public class DeviceServiceImpl implements DeviceService {
return result; return result;
} }
private Map<Long, Map<Long, Map<String, Object>>> createDeviceDataMapBatch(Set<Long> allDeviceIds, Map<Long, DeviceContactModelDO> deviceContactModelDOMap) {
return tdengineService.createDeviceDataMapBatch(allDeviceIds,deviceContactModelDOMap);
}
/** /**
* *
* @param deviceId ID * @param deviceId ID
@ -1327,74 +1353,60 @@ public class DeviceServiceImpl implements DeviceService {
* @param deviceIdsJson JSON * @param deviceIdsJson JSON
* @return IDID * @return IDID
*/ */
private Map<Long, Set<Long>> parseDeviceIdsJson(String deviceIdsJson) { private List<Map.Entry<Long, Set<Long>>> parseDeviceIdsJson(String deviceIdsJson) {
Map<Long, Set<Long>> deviceAttributeMap = new HashMap<>();
List<Map.Entry<Long, Set<Long>>> result = new ArrayList<>();
if (StringUtils.isBlank(deviceIdsJson)) { if (StringUtils.isBlank(deviceIdsJson)) {
return deviceAttributeMap; return result;
} }
try { try {
// 使用Jackson解析JSON字符串
ObjectMapper objectMapper = new ObjectMapper(); ObjectMapper objectMapper = new ObjectMapper();
List<Map<String, Object>> deviceAttributeList = objectMapper.readValue(
deviceIdsJson, new TypeReference<List<Map<String, Object>>>() {});
// 遍历解析结果,构建设备-属性映射并去重 List<Map<String, Object>> deviceAttributeList =
objectMapper.readValue(deviceIdsJson,
new TypeReference<List<Map<String, Object>>>() {});
for (Map<String, Object> item : deviceAttributeList) { for (Map<String, Object> item : deviceAttributeList) {
try {
// 提取设备ID
Object deviceIdObj = item.get("deviceId"); Object deviceIdObj = item.get("deviceId");
if (deviceIdObj == null) { if (deviceIdObj == null) {
log.warn("Device ID is null in item: {}", item);
continue; continue;
} }
Long deviceId = null;
Long deviceId;
if (deviceIdObj instanceof Number) { if (deviceIdObj instanceof Number) {
deviceId = ((Number) deviceIdObj).longValue(); deviceId = ((Number) deviceIdObj).longValue();
} else { } else {
deviceId = Long.parseLong(deviceIdObj.toString()); deviceId = Long.parseLong(deviceIdObj.toString());
} }
// 提取属性ID数组 Set<Long> attributeIds = new HashSet<>();
List<Long> attributeIds = new ArrayList<>();
Object attributesIdsObj = item.get("attributesIds"); Object attributesIdsObj = item.get("attributesIds");
if (attributesIdsObj instanceof List) { if (attributesIdsObj instanceof List) {
List<?> attributesList = (List<?>) attributesIdsObj; for (Object attrIdObj : (List<?>) attributesIdsObj) {
for (Object attrIdObj : attributesList) {
if (attrIdObj instanceof Number) { if (attrIdObj instanceof Number) {
attributeIds.add(((Number) attrIdObj).longValue()); attributeIds.add(((Number) attrIdObj).longValue());
} else if (attrIdObj != null) { } else if (attrIdObj != null) {
try { try {
attributeIds.add(Long.parseLong(attrIdObj.toString())); attributeIds.add(Long.parseLong(attrIdObj.toString()));
} catch (NumberFormatException e) { } catch (Exception ignore) {
log.warn("Invalid attribute ID: {}", attrIdObj);
} }
} }
} }
} }
// 合并属性ID到现有设备映射中避免Lambda变量捕获问题 // 每条记录单独保存,不合并
Set<Long> existingAttributes = deviceAttributeMap.get(deviceId); result.add(new AbstractMap.SimpleEntry<>(deviceId, attributeIds));
if (existingAttributes == null) {
// 如果设备不存在,创建新的属性集合
Set<Long> newAttributesSet = new HashSet<>(attributeIds);
deviceAttributeMap.put(deviceId, newAttributesSet);
} else {
// 如果设备已存在将新的属性ID添加到现有集合中
for (Long attrId : attributeIds) {
existingAttributes.add(attrId);
}
}
} catch (Exception e) {
log.warn("Error parsing device-attribute item: {}", item, e);
}
} }
} catch (Exception e) { } catch (Exception e) {
log.error("Error parsing deviceIds JSON: {}", deviceIdsJson, e); log.error("Error parsing deviceIds JSON: {}", deviceIdsJson, e);
} }
return deviceAttributeMap; return result;
} }
@Override @Override

@ -1417,6 +1417,82 @@ public class TDengineService {
} }
@DS("tdengine")
public Map<Long, Map<Long, Map<String, Object>>> createDeviceDataMapBatch(
Set<Long> deviceIds,
Map<Long, DeviceContactModelDO> attributeMap) {
if (CollectionUtils.isEmpty(deviceIds)) {
return Collections.emptyMap();
}
Map<Long, Map<Long, Map<String, Object>>> result = new HashMap<>();
// 先把 attributeCode -> attributeId 做反向索引
Map<String, Long> codeToAttrIdMap = attributeMap.values()
.stream()
.collect(Collectors.toMap(
item -> item.getAttributeCode().toLowerCase(),
DeviceContactModelDO::getId,
(a, b) -> a
));
for (Long deviceId : deviceIds) {
String tableName = "besure_server.d_" + deviceId;
String sql = "SELECT * FROM " + tableName +
" ORDER BY ts DESC LIMIT 1";
try {
List<Map<String, Object>> list =
jdbcTemplate.queryForList(sql);
if (CollectionUtils.isEmpty(list)) {
continue;
}
Map<String, Object> row = list.get(0);
convertTs(row); // 你已有方法
Map<Long, Map<String, Object>> attributeDataMap = new HashMap<>();
Object ts = row.get("ts");
for (Map.Entry<String, Object> column : row.entrySet()) {
String columnName = column.getKey();
if ("ts".equalsIgnoreCase(columnName)) {
continue;
}
Long attributeId = codeToAttrIdMap.get(columnName);
if (attributeId == null) {
continue;
}
Map<String, Object> valueMap = new HashMap<>();
valueMap.put("addressValue", column.getValue());
valueMap.put("timestamp", ts);
attributeDataMap.put(attributeId, valueMap);
}
result.put(deviceId, attributeDataMap);
} catch (Exception e) {
log.error("查询设备最新数据失败 deviceId={}", deviceId, e);
}
}
return result;
}
private void convertTs(Map<String, Object> row) { private void convertTs(Map<String, Object> row) {

@ -99,14 +99,14 @@ public class EnergyDeviceController {
@GetMapping("/queryDataRecords") @GetMapping("/queryDataRecords")
@Operation(summary = "查询数据记录") @Operation(summary = "查询数据记录")
@PreAuthorize("@ss.hasPermission('mes:energy-device:create')") @PreAuthorize("@ss.hasPermission('mes:energy-device:queryRecords')")
public CommonResult<List<EnergyDeviceRespVO>> queryDataRecords(@Valid EnergyDeviceConsumptionReqVO deviceConsumptionReqVO) { public CommonResult<List<EnergyDeviceRespVO>> queryDataRecords(@Valid EnergyDeviceConsumptionReqVO deviceConsumptionReqVO) {
return success(energyDeviceService.queryDataRecords(deviceConsumptionReqVO)); return success(energyDeviceService.queryDataRecords(deviceConsumptionReqVO));
} }
@GetMapping("/record-export-excel") @GetMapping("/record-export-excel")
@Operation(summary = "导出数据记录 Excel") @Operation(summary = "导出数据记录 Excel")
@PreAuthorize("@ss.hasPermission('mes:energy-device:export')") @PreAuthorize("@ss.hasPermission('mes:energy-device:exportRecords')")
@ApiAccessLog(operateType = EXPORT) @ApiAccessLog(operateType = EXPORT)
public void recordExportExcel(@Valid EnergyDeviceConsumptionReqVO deviceConsumptionReqVO, public void recordExportExcel(@Valid EnergyDeviceConsumptionReqVO deviceConsumptionReqVO,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {

@ -189,6 +189,7 @@ public class MoldSubjectController {
@GetMapping("/getAllList") @GetMapping("/getAllList")
@Operation(summary = "获得模具维保项目列表") @Operation(summary = "获得模具维保项目列表")
@PreAuthorize("@ss.hasPermission('mes:mold-subject:query')")
public CommonResult<List<MoldSubjectDO>> getMoldSubjectAllList() { public CommonResult<List<MoldSubjectDO>> getMoldSubjectAllList() {
List<MoldSubjectDO> doList = moldSubjectService.getAllList(); List<MoldSubjectDO> doList = moldSubjectService.getAllList();
return success(doList); return success(doList);

@ -34,14 +34,14 @@ public class OrganizationController {
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建产线工位") @Operation(summary = "创建产线工位")
//@PreAuthorize("@ss.hasPermission('mes:organization:create')") @PreAuthorize("@ss.hasPermission('mes:organization:create')")
public CommonResult<Long> createOrganization(@Valid @RequestBody OrganizationSaveReqVO createReqVO) { public CommonResult<Long> createOrganization(@Valid @RequestBody OrganizationSaveReqVO createReqVO) {
return success(organizationService.createOrganization(createReqVO)); return success(organizationService.createOrganization(createReqVO));
} }
@PutMapping("/update") @PutMapping("/update")
@Operation(summary = "更新产线工位") @Operation(summary = "更新产线工位")
//@PreAuthorize("@ss.hasPermission('mes:organization:update')") @PreAuthorize("@ss.hasPermission('mes:organization:update')")
public CommonResult<Boolean> updateOrganization(@Valid @RequestBody OrganizationSaveReqVO updateReqVO) { public CommonResult<Boolean> updateOrganization(@Valid @RequestBody OrganizationSaveReqVO updateReqVO) {
organizationService.updateOrganization(updateReqVO); organizationService.updateOrganization(updateReqVO);
return success(true); return success(true);
@ -50,7 +50,7 @@ public class OrganizationController {
@DeleteMapping("/delete") @DeleteMapping("/delete")
@Operation(summary = "删除产线工位") @Operation(summary = "删除产线工位")
@Parameter(name = "id", description = "编号", required = true) @Parameter(name = "id", description = "编号", required = true)
//@PreAuthorize("@ss.hasPermission('mes:organization:delete')") @PreAuthorize("@ss.hasPermission('mes:organization:delete')")
public CommonResult<Boolean> deleteOrganization(@RequestParam("id") Long id) { public CommonResult<Boolean> deleteOrganization(@RequestParam("id") Long id) {
organizationService.deleteOrganization(id); organizationService.deleteOrganization(id);
return success(true); return success(true);
@ -59,7 +59,7 @@ public class OrganizationController {
@GetMapping("/get") @GetMapping("/get")
@Operation(summary = "获得产线工位") @Operation(summary = "获得产线工位")
@Parameter(name = "id", description = "编号", required = true, example = "1024") @Parameter(name = "id", description = "编号", required = true, example = "1024")
//@PreAuthorize("@ss.hasPermission('mes:organization:query')") @PreAuthorize("@ss.hasPermission('mes:organization:query')")
public CommonResult<OrganizationRespVO> getOrganization(@RequestParam("id") Long id) { public CommonResult<OrganizationRespVO> getOrganization(@RequestParam("id") Long id) {
OrganizationDO organization = organizationService.getOrganization(id); OrganizationDO organization = organizationService.getOrganization(id);
return success(BeanUtils.toBean(organization, OrganizationRespVO.class)); return success(BeanUtils.toBean(organization, OrganizationRespVO.class));
@ -67,21 +67,21 @@ public class OrganizationController {
@GetMapping("/list") @GetMapping("/list")
@Operation(summary = "获得产线工位列表") @Operation(summary = "获得产线工位列表")
//@PreAuthorize("@ss.hasPermission('mes:organization:query')") @PreAuthorize("@ss.hasPermission('mes:organization:query')")
public CommonResult<List<OrganizationRespVO>> getOrganizationList(@Valid OrganizationListReqVO listReqVO) { public CommonResult<List<OrganizationRespVO>> getOrganizationList(@Valid OrganizationListReqVO listReqVO) {
List<OrganizationDO> list = organizationService.getOrganizationList(listReqVO); List<OrganizationDO> list = organizationService.getOrganizationList(listReqVO);
return success(organizationService.buildVOList(list)); return success(organizationService.buildVOList(list));
} }
@GetMapping("/listOrgWorker") @GetMapping("/listOrgWorker")
@Operation(summary = "获得派工工位列表") @Operation(summary = "获得派工工位列表")
//@PreAuthorize("@ss.hasPermission('mes:organization:query')") @PreAuthorize("@ss.hasPermission('mes:organization:query')")
public CommonResult<List<OrganizationRespVO>> getListOrgWorker(@Valid OrganizationListReqVO listReqVO) { public CommonResult<List<OrganizationRespVO>> getListOrgWorker(@Valid OrganizationListReqVO listReqVO) {
List<OrganizationDO> list = organizationService.getOrganizationList(listReqVO); List<OrganizationDO> list = organizationService.getOrganizationList(listReqVO);
return success(organizationService.buildWorkerVOList(list)); return success(organizationService.buildWorkerVOList(list));
} }
@GetMapping("/export-excel") @GetMapping("/export-excel")
@Operation(summary = "导出产线工位 Excel") @Operation(summary = "导出产线工位 Excel")
//@PreAuthorize("@ss.hasPermission('mes:organization:export')") @PreAuthorize("@ss.hasPermission('mes:organization:export')")
@ApiAccessLog(operateType = EXPORT) @ApiAccessLog(operateType = EXPORT)
public void exportOrganizationExcel(@Valid OrganizationListReqVO listReqVO, public void exportOrganizationExcel(@Valid OrganizationListReqVO listReqVO,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {

@ -72,7 +72,7 @@ public class PlanController {
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建生产计划") @Operation(summary = "创建生产计划")
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
//@PreAuthorize("@ss.hasPermission('mes:plan:create')") @PreAuthorize("@ss.hasPermission('mes:plan:create')")
public CommonResult<Boolean> createPlan(@Valid @RequestBody PlanSaveReqVO createReqVO) { public CommonResult<Boolean> createPlan(@Valid @RequestBody PlanSaveReqVO createReqVO) {
Long id = planService.createPlan(createReqVO); Long id = planService.createPlan(createReqVO);
if (createReqVO.getIsPreProduction() != null && createReqVO.getIsPreProduction().compareTo(new BigDecimal(1)) == 0) { if (createReqVO.getIsPreProduction() != null && createReqVO.getIsPreProduction().compareTo(new BigDecimal(1)) == 0) {
@ -97,7 +97,7 @@ public class PlanController {
@PutMapping("/update") @PutMapping("/update")
@Operation(summary = "更新生产计划") @Operation(summary = "更新生产计划")
//@PreAuthorize("@ss.hasPermission('mes:plan:update')") @PreAuthorize("@ss.hasPermission('mes:plan:update')")
public CommonResult<Boolean> updatePlan(@Valid @RequestBody PlanSaveReqVO updateReqVO) { public CommonResult<Boolean> updatePlan(@Valid @RequestBody PlanSaveReqVO updateReqVO) {
planService.updatePlan(updateReqVO); planService.updatePlan(updateReqVO);
return success(true); return success(true);
@ -106,7 +106,7 @@ public class PlanController {
@DeleteMapping("/delete") @DeleteMapping("/delete")
@Operation(summary = "删除生产计划") @Operation(summary = "删除生产计划")
@Parameter(name = "id", description = "编号", required = true) @Parameter(name = "id", description = "编号", required = true)
//@PreAuthorize("@ss.hasPermission('mes:plan:delete')") @PreAuthorize("@ss.hasPermission('mes:plan:delete')")
public CommonResult<Boolean> deletePlan(@RequestParam("id") Long id) { public CommonResult<Boolean> deletePlan(@RequestParam("id") Long id) {
planService.deletePlan(id); planService.deletePlan(id);
return success(true); return success(true);
@ -115,7 +115,7 @@ public class PlanController {
@GetMapping("/get") @GetMapping("/get")
@Operation(summary = "获得生产计划") @Operation(summary = "获得生产计划")
@Parameter(name = "id", description = "编号", required = true, example = "1024") @Parameter(name = "id", description = "编号", required = true, example = "1024")
//@PreAuthorize("@ss.hasPermission('mes:plan:query')") @PreAuthorize("@ss.hasPermission('mes:plan:query')")
public CommonResult<PlanRespVO> getPlan(@RequestParam("id") Long id) { public CommonResult<PlanRespVO> getPlan(@RequestParam("id") Long id) {
PlanDO plan = planService.getPlan(id); PlanDO plan = planService.getPlan(id);
return success(planService.getPlanRespVO(plan)); return success(planService.getPlanRespVO(plan));
@ -123,7 +123,7 @@ public class PlanController {
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得生产计划分页") @Operation(summary = "获得生产计划分页")
//@PreAuthorize("@ss.hasPermission('mes:plan:query')") @PreAuthorize("@ss.hasPermission('mes:plan:query')")
public CommonResult<PageResult<PlanRespVO>> getPlanPage(@Valid PlanPageReqVO pageReqVO) { public CommonResult<PageResult<PlanRespVO>> getPlanPage(@Valid PlanPageReqVO pageReqVO) {
PageResult<PlanRespVO> pageResult = planService.getPlanPage(pageReqVO); PageResult<PlanRespVO> pageResult = planService.getPlanPage(pageReqVO);
return success(new PageResult<>(buildVOList(pageResult.getList()), pageResult.getTotal())); return success(new PageResult<>(buildVOList(pageResult.getList()), pageResult.getTotal()));
@ -142,7 +142,7 @@ public class PlanController {
@GetMapping("/export-excel") @GetMapping("/export-excel")
@Operation(summary = "导出生产计划 Excel") @Operation(summary = "导出生产计划 Excel")
//@PreAuthorize("@ss.hasPermission('mes:plan:export')") @PreAuthorize("@ss.hasPermission('mes:plan:export')")
@ApiAccessLog(operateType = EXPORT) @ApiAccessLog(operateType = EXPORT)
public void exportPlanExcel(@Valid PlanPageReqVO pageReqVO, public void exportPlanExcel(@Valid PlanPageReqVO pageReqVO,
HttpServletResponse response) throws IOException { HttpServletResponse response) throws IOException {
@ -167,7 +167,7 @@ public class PlanController {
@PutMapping("/paigong") @PutMapping("/paigong")
@Operation(summary = "下料派工") @Operation(summary = "下料派工")
//@PreAuthorize("@ss.hasPermission('mes:plan:update')") @PreAuthorize("@ss.hasPermission('mes:plan:update')")
public CommonResult<Boolean> updatePlan(@Valid @RequestBody ItemRequisitionSaveReqVO saveReqVO) { public CommonResult<Boolean> updatePlan(@Valid @RequestBody ItemRequisitionSaveReqVO saveReqVO) {
PlanDO planDO = planMapper.selectById(saveReqVO.getPlanId()); PlanDO planDO = planMapper.selectById(saveReqVO.getPlanId());
List<ItemRequisitionAndStock> list = analysisService.getItemAnalysis(planDO); List<ItemRequisitionAndStock> list = analysisService.getItemAnalysis(planDO);
@ -177,7 +177,7 @@ public class PlanController {
@PutMapping("/typePaigong") @PutMapping("/typePaigong")
@Operation(summary = "工序派工") @Operation(summary = "工序派工")
//@PreAuthorize("@ss.hasPermission('mes:plan:update')") @PreAuthorize("@ss.hasPermission('mes:plan:update')")
public CommonResult<Boolean> updatePlanNum(@Valid @RequestBody ItemRequisitionSaveReqVO saveReqVO) { public CommonResult<Boolean> updatePlanNum(@Valid @RequestBody ItemRequisitionSaveReqVO saveReqVO) {
PlanDO planDO = planMapper.selectById(saveReqVO.getPlanId()); PlanDO planDO = planMapper.selectById(saveReqVO.getPlanId());
//List<ItemRequisitionAndStock> list = analysisService.getItemAnalysis(planDO); //List<ItemRequisitionAndStock> list = analysisService.getItemAnalysis(planDO);
@ -187,7 +187,7 @@ public class PlanController {
@PutMapping("/updateStatus") @PutMapping("/updateStatus")
@Operation(summary = "更新生产计划状态") @Operation(summary = "更新生产计划状态")
//@PreAuthorize("@ss.hasPermission('mes:plan:update')") @PreAuthorize("@ss.hasPermission('mes:plan:update')")
public CommonResult<Boolean> updatePlanStatus(@Valid @RequestBody PlanStatusUpdateVO statusUpdateVO) { public CommonResult<Boolean> updatePlanStatus(@Valid @RequestBody PlanStatusUpdateVO statusUpdateVO) {
PlanDO planDO = planMapper.selectById(statusUpdateVO.getId()); PlanDO planDO = planMapper.selectById(statusUpdateVO.getId());
// 试产 // 试产
@ -217,7 +217,7 @@ public class PlanController {
@PutMapping("/updatePlanZjStatus") @PutMapping("/updatePlanZjStatus")
@Operation(summary = "更新生产计划质检状态") @Operation(summary = "更新生产计划质检状态")
//@PreAuthorize("@ss.hasPermission('mes:plan:update')") @PreAuthorize("@ss.hasPermission('mes:plan:update')")
public CommonResult<Boolean> updatePlanZjStatus(@Valid @RequestBody PlanStatusUpdateVO statusUpdateVO) { public CommonResult<Boolean> updatePlanZjStatus(@Valid @RequestBody PlanStatusUpdateVO statusUpdateVO) {
PlanDO planDO = planMapper.selectById(statusUpdateVO.getId()); PlanDO planDO = planMapper.selectById(statusUpdateVO.getId());
planDO.setIsZj(true); planDO.setIsZj(true);
@ -228,7 +228,7 @@ public class PlanController {
@GetMapping("/getProductByStatus") @GetMapping("/getProductByStatus")
@Operation(summary = "获得正在开工生产的产品") @Operation(summary = "获得正在开工生产的产品")
@Parameter(name = "id", description = "编号", required = true, example = "1024") @Parameter(name = "id", description = "编号", required = true, example = "1024")
//@PreAuthorize("@ss.hasPermission('mes:plan:query')") @PreAuthorize("@ss.hasPermission('mes:plan:query')")
public CommonResult<List<ErpProductRespVO>> getPlan() { public CommonResult<List<ErpProductRespVO>> getPlan() {
List<Integer> status = new ArrayList<>(); List<Integer> status = new ArrayList<>();
status.add(PlanStatusEnum..getValue()); status.add(PlanStatusEnum..getValue());

Loading…
Cancel
Save