清理部分未使用的代码。

This commit is contained in:
c
2026-03-13 16:53:03 +08:00
parent 752c99ecf0
commit ddf933185f
40 changed files with 163 additions and 900 deletions

View File

@@ -1,18 +0,0 @@
package com.niuan.erp.module.auth.controller;
import com.niuan.erp.common.base.BaseResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RequestMapping("/auth")
@RestController
public class LoginController {
@GetMapping("/user/me")
public BaseResult<?> getCurrentUser() {
return BaseResult.success();
}
}

View File

@@ -1,10 +1,15 @@
package com.niuan.erp.module.auth.controller.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
@Schema(description = "登录DTO")
public record LoginDto(
@Schema(description = "登录账号")
@NotNull(message = "{loginName.notNull}")
String loginName,
@Schema(description = "密码")
@NotNull(message = "{password.notNull}")
String password
) {}

View File

@@ -1,68 +0,0 @@
package com.niuan.erp.module.common.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.niuan.erp.common.base.BaseDeleteBody;
import com.niuan.erp.common.base.BasePageReqParams;
import com.niuan.erp.common.base.BaseResult;
import com.niuan.erp.common.base.CommonValidateGroup.*;
import com.niuan.erp.module.common.controller.dto.QtCodeDto;
import com.niuan.erp.module.common.entity.QtCode;
import com.niuan.erp.module.common.service.QtCodeService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@Tag(name = "QtCode")
@RestController
@RequestMapping("/common/qtcode")
@RequiredArgsConstructor
public class QtCodeController {
private final QtCodeService qtCodeService;
@Operation(summary = "分页查询QtCode数据", operationId = "getQtCodePage")
@GetMapping("/getQtCodePage")
@PreAuthorize("hasAuthority('qtcode:index')")
public BaseResult<IPage<QtCodeDto>> getQtCodePage(@Validated BasePageReqParams pageParams,
@Validated(Get.class) QtCodeDto searchParams) {
var wrapper = new LambdaQueryWrapper<QtCode>();
return BaseResult.successWithData(qtCodeService.getQtCodePage(pageParams, wrapper));
}
@Operation(summary = "新增QtCode", operationId = "addQtCode")
@PostMapping("/addQtCode")
@PreAuthorize("hasAuthority('qtcode:add')")
public BaseResult<?> addQtCode(@Validated(Add.class) @RequestBody QtCodeDto dto) {
qtCodeService.addQtCode(dto);
return BaseResult.success();
}
@Operation(summary = "更新QtCode", operationId = "updateQtCode")
@PostMapping("/updateQtCode")
@PreAuthorize("hasAuthority('qtcode:update')")
public BaseResult<?> updateQtCode(@Validated(Update.class) @RequestBody QtCodeDto dto) {
qtCodeService.updateQtCode(dto);
return BaseResult.success();
}
@Operation(summary = "删除QtCode", operationId = "deleteQtCode")
@PostMapping("/deleteQtCode")
@PreAuthorize("hasAuthority('qtcode:delete')")
public BaseResult<?> deleteQtCode(@Validated(DeleteOne.class) @RequestBody BaseDeleteBody req) {
qtCodeService.deleteQtCode(req.id());
return BaseResult.success();
}
@Operation(summary = "批量删除QtCode", operationId = "deleteQtCodeBatch")
@PostMapping("/deleteQtCodeBatch")
@PreAuthorize("hasAuthority('qtcode:deleteBatch')")
public BaseResult<?> deleteQtCodeBatch(@Validated(DeleteBatch.class) @RequestBody BaseDeleteBody req) {
qtCodeService.deleteBatch(req.ids());
return BaseResult.success();
}
}

View File

@@ -1,10 +0,0 @@
package com.niuan.erp.module.common.controller.dto;
public record QtCodeDto(
Integer id,
String printCode,
Integer partNumber,
String productPacking,
String datecode,
String vendCode,
String brandCode) {}

View File

@@ -1,15 +0,0 @@
package com.niuan.erp.module.common.converter;
import com.niuan.erp.module.common.controller.dto.QtCodeDto;
import com.niuan.erp.module.common.entity.QtCode;
import org.mapstruct.Mapper;
import org.mapstruct.ReportingPolicy;
import java.util.List;
@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE)
public interface QtCodeConverter {
QtCode toEntity(QtCodeDto dto);
QtCodeDto toDto(QtCode entity);
List<QtCodeDto> toDtoList(List<QtCode> entities);
}

View File

@@ -1,49 +0,0 @@
package com.niuan.erp.module.common.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.io.Serializable;
/**
* <p>
*
* </p>
*
* @author
* @since 2026-02-11
*/
@Getter
@Setter
@ToString
@TableName("printcodelist")
public class QtCode implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@TableField("printCode")
private String printCode;
@TableField("PartNumber")
private Integer partNumber;
@TableField("ProductPacking")
private String productPacking;
@TableField("datecode")
private String datecode;
@TableField("vendCode")
private String vendCode;
@TableField("brandCode")
private String brandCode;
}

View File

@@ -1,16 +0,0 @@
package com.niuan.erp.module.common.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.niuan.erp.module.common.entity.QtCode;
/**
* <p>
* Mapper 接口
* </p>
*
* @author
* @since 2026-02-11
*/
public interface QtCodeMapper extends BaseMapper<QtCode> {
}

View File

@@ -1,23 +0,0 @@
package com.niuan.erp.module.common.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.niuan.erp.common.base.BasePageReqParams;
import com.niuan.erp.module.common.controller.dto.QtCodeDto;
import com.niuan.erp.module.common.entity.QtCode;
import java.util.List;
public interface QtCodeService {
IPage<QtCodeDto> getQtCodePage(BasePageReqParams pageParams, LambdaQueryWrapper<QtCode> wrapper);
void addQtCode(QtCodeDto dto);
void updateQtCode(QtCodeDto dto);
void deleteQtCode(long id);
void deleteBatch(List<Long> ids);
}

View File

@@ -1,58 +0,0 @@
package com.niuan.erp.module.common.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.niuan.erp.common.base.BasePageReqParams;
import com.niuan.erp.common.utils.SecurityUtils;
import com.niuan.erp.module.common.controller.dto.QtCodeDto;
import com.niuan.erp.module.common.converter.QtCodeConverter;
import com.niuan.erp.module.common.entity.QtCode;
import com.niuan.erp.module.common.mapper.QtCodeMapper;
import com.niuan.erp.module.common.service.QtCodeService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.List;
@Service
@Transactional
@RequiredArgsConstructor
public class QtCodeServiceImpl extends ServiceImpl<QtCodeMapper, QtCode> implements QtCodeService {
private final QtCodeConverter qtCodeConverter;
@Override
public IPage<QtCodeDto> getQtCodePage(BasePageReqParams pageParams, LambdaQueryWrapper<QtCode> wrapper) {
IPage<QtCode> result = this.baseMapper.selectPage(new Page<>(pageParams.page(), pageParams.pageSize()), wrapper);
return result.convert(qtCodeConverter::toDto);
}
@Override
public void addQtCode(QtCodeDto dto) {
QtCode entity = qtCodeConverter.toEntity(dto);
this.baseMapper.insert(entity);
}
@Override
public void updateQtCode(QtCodeDto dto) {
QtCode entity = qtCodeConverter.toEntity(dto);
this.baseMapper.updateById(entity);
}
@Override
public void deleteQtCode(long id) {
this.baseMapper.deleteById(id);
}
@Override
public void deleteBatch(List<Long> ids) {
this.baseMapper.deleteByIds(ids);
}
}

View File

@@ -4,9 +4,14 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.niuan.erp.common.annotation.ApiLog;
import com.niuan.erp.common.annotation.ModuleLog;
import com.niuan.erp.common.base.*;
import com.niuan.erp.common.base.CommonValidateGroup.*;
import com.niuan.erp.module.production.controller.dto.*;
import com.niuan.erp.common.base.BasePageReqParams;
import com.niuan.erp.common.base.BaseResult;
import com.niuan.erp.common.base.BaseSelectDto;
import com.niuan.erp.common.base.OperationType;
import com.niuan.erp.module.production.controller.dto.BomAddDto;
import com.niuan.erp.module.production.controller.dto.BomDto;
import com.niuan.erp.module.production.controller.dto.BomItemDto;
import com.niuan.erp.module.production.controller.dto.BomSearchParams;
import com.niuan.erp.module.production.entity.Bom;
import com.niuan.erp.module.production.service.BomService;
import io.swagger.v3.oas.annotations.Operation;
@@ -72,31 +77,4 @@ public class BomController {
bomService.addBom(dto);
return BaseResult.success();
}
// @ApiLog(type = OperationType.UPDATE, remark = "更新一条Bom记录")
// @Operation(summary = "更新Bom", operationId = "updateBom")
// @PostMapping("/updateBom")
// @PreAuthorize("hasAuthority('bom:update')")
// public BaseResult<?> updateBom(@Validated(Update.class) @RequestBody BomDto dto) {
// bomService.updateBom(dto);
// return BaseResult.success();
// }
//
// @ApiLog(type = OperationType.DELETE, remark = "删除一条Bom记录")
// @Operation(summary = "删除Bom", operationId = "deleteBom")
// @PostMapping("/deleteBom")
// @PreAuthorize("hasAuthority('bom:delete')")
// public BaseResult<?> deleteBom(@Validated(DeleteOne.class) @RequestBody BaseDeleteBody req) {
// bomService.deleteBom(req.id());
// return BaseResult.success();
// }
//
// @ApiLog(type = OperationType.DELETE, remark = "批量删除Bom记录")
// @Operation(summary = "批量删除Bom", operationId = "deleteBomBatch")
// @PostMapping("/deleteBomBatch")
// @PreAuthorize("hasAuthority('bom:deleteBatch')")
// public BaseResult<?> deleteBomBatch(@Validated(DeleteBatch.class) @RequestBody BaseDeleteBody req) {
// bomService.deleteBatch(req.ids());
// return BaseResult.success();
// }
}

View File

@@ -7,7 +7,10 @@ import com.niuan.erp.common.annotation.ModuleLog;
import com.niuan.erp.common.base.BaseDeleteBody;
import com.niuan.erp.common.base.BasePageReqParams;
import com.niuan.erp.common.base.BaseResult;
import com.niuan.erp.common.base.CommonValidateGroup.*;
import com.niuan.erp.common.base.CommonValidateGroup.Add;
import com.niuan.erp.common.base.CommonValidateGroup.DeleteOne;
import com.niuan.erp.common.base.CommonValidateGroup.Get;
import com.niuan.erp.common.base.CommonValidateGroup.Update;
import com.niuan.erp.common.base.OperationType;
import com.niuan.erp.module.common.entity.Document;
import com.niuan.erp.module.production.controller.dto.DeviceOutstockRequest;
@@ -22,7 +25,6 @@ import lombok.RequiredArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
@@ -72,17 +74,6 @@ public class FinishedProductReceiptController {
return BaseResult.success();
}
@ApiLog(type = OperationType.DELETE, remark = "批量删除FinishedProductReceipt记录")
@Operation(summary = "批量删除FinishedProductReceipt", operationId = "deleteFinishedProductReceiptBatch")
@PostMapping("/deleteFinishedProductReceiptBatch")
@PreAuthorize("hasAuthority('finished_product_receipt:remove')")
public BaseResult<?> deleteFinishedProductReceiptBatch(@Validated(DeleteBatch.class) @RequestBody BaseDeleteBody req) {
finishedProductReceiptService.deleteBatch(req.ids());
return BaseResult.success();
}
@Operation(summary = "获取FinishedProductReceipt明细", operationId = "getFinishedProductReceiptDetail")
@GetMapping("/getFinishedProductReceiptDetail")
@PreAuthorize("hasAuthority('finished_product_receipt:index')")

View File

@@ -7,7 +7,10 @@ import com.niuan.erp.common.annotation.ModuleLog;
import com.niuan.erp.common.base.BaseDeleteBody;
import com.niuan.erp.common.base.BasePageReqParams;
import com.niuan.erp.common.base.BaseResult;
import com.niuan.erp.common.base.CommonValidateGroup.*;
import com.niuan.erp.common.base.CommonValidateGroup.Add;
import com.niuan.erp.common.base.CommonValidateGroup.DeleteOne;
import com.niuan.erp.common.base.CommonValidateGroup.Get;
import com.niuan.erp.common.base.CommonValidateGroup.Update;
import com.niuan.erp.common.base.OperationType;
import com.niuan.erp.module.production.controller.dto.PlanProductionIssueAddDto;
import com.niuan.erp.module.production.controller.dto.ProductionPlanDto;
@@ -120,15 +123,4 @@ public class ProductionPlanController {
productionPlanService.generateProductionIssue(dto);
return BaseResult.success();
}
// @ApiLog(type = OperationType.DELETE, remark = "批量删除ProductionPlan记录")
// @Operation(summary = "批量删除生产计划", operationId = "deleteProductionPlanBatch")
// @PostMapping("/deleteProductionPlanBatch")
// @PreAuthorize("hasAuthority('production_plan:deleteBatch')")
// public BaseResult<?> deleteProductionPlanBatch(@Validated(DeleteBatch.class) @RequestBody BaseDeleteBody req) {
// productionPlanService.deleteBatch(req.ids());
// return BaseResult.success();
// }
}

View File

@@ -1,30 +1,38 @@
package com.niuan.erp.module.production.controller.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import java.util.List;
/**
* 添加 BOM Dto
* @param bomNo
* @param bomName
* @param manufacturer
* @param spec
* @param brandName
* @param formMark
* @param bomItems
*/
@Schema(description = "BOM新增DTO")
public record BomAddDto(
@Schema(description = "BOM编号")
@NotNull(message = "production.bom.validate.bom_no.not_null")
String bomNo,
@Schema(description = "BOM名称")
@NotNull(message = "production.bom.validate.bom_name.not_null")
String bomName,
@Schema(description = "制造商")
@NotNull(message = "production.bom.validate.manufacturer.not_null")
String manufacturer,
@Schema(description = "规格")
@NotNull(message = "production.bom.validate.spec.not_null")
String spec,
@Schema(description = "品牌名称")
@NotNull(message = "production.bom.validate.brand_name.not_null")
String brandName,
@Schema(description = "备注")
String formMark,
@Schema(description = "BOM明细列表")
List<BomItemAddDto> bomItems
) {}

View File

@@ -1,30 +1,59 @@
package com.niuan.erp.module.production.controller.dto;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.niuan.erp.common.base.CommonValidateGroup.*;
import com.niuan.erp.common.base.CommonValidateGroup.Add;
import com.niuan.erp.common.base.CommonValidateGroup.Update;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import java.time.LocalDateTime;
@JsonInclude(JsonInclude.Include.NON_NULL)
@Schema(description = "生产计划DTO")
public record ProductionPlanDto(
@NotNull(groups = Update.class, message = "")
@Schema(description = "ID")
@NotNull(groups = Update.class, message = "production.production_plan.validate.id.not_null")
Long id,
@Schema(description = "创建时间")
LocalDateTime createDate,
@NotNull(groups = { Add.class, Update.class }, message = "")
@Schema(description = "生产单号")
@NotNull(groups = { Add.class, Update.class }, message = "production.production_plan.validate.production_num.not_null")
String productionNum,
@NotNull(groups = { Add.class, Update.class }, message = "")
@Schema(description = "项目名称")
@NotNull(groups = { Add.class, Update.class }, message = "production.production_plan.validate.project_name.not_null")
String projectName,
@NotNull(groups = { Add.class, Update.class }, message = "")
@Schema(description = "项目ID")
@NotNull(groups = { Add.class, Update.class }, message = "production.production_plan.validate.project_id.not_null")
Integer projectId,
@NotNull(groups = { Add.class, Update.class }, message = "")
@Schema(description = "生产数量")
@NotNull(groups = { Add.class, Update.class }, message = "production.production_plan.validate.production_count.not_null")
Integer productionCount,
@Schema(description = "生产状态")
Integer productionStatus,
@Schema(description = "生产说明")
String productionNote,
@Schema(description = "生产报告")
String productionReport,
@Schema(description = "备注")
String productionMark,
@NotNull(groups = { Add.class, Update.class }, message = "")
@Schema(description = "仓库编号")
@NotNull(groups = { Add.class, Update.class }, message = "production.production_plan.validate.store_no.not_null")
Integer storeNo,
@NotNull(groups = { Add.class, Update.class }, message = "")
@Schema(description = "仓库名称")
@NotNull(groups = { Add.class, Update.class }, message = "production.production_plan.validate.store_name.not_null")
String storeName,
String customerName) {}
@Schema(description = "客户名称")
String customerName
) {}

View File

@@ -10,11 +10,7 @@ import com.niuan.erp.common.base.BaseResult;
import com.niuan.erp.common.base.CommonValidateGroup.Add;
import com.niuan.erp.common.base.OperationType;
import com.niuan.erp.module.common.entity.Document;
import com.niuan.erp.module.purchase.controller.dto.PurchaseOrderAddDto;
import com.niuan.erp.module.purchase.controller.dto.PurchaseOrderDto;
import com.niuan.erp.module.purchase.controller.dto.PurchaseOrderInboundDto;
import com.niuan.erp.module.purchase.controller.dto.PurchaseOrderItemDto;
import com.niuan.erp.module.purchase.controller.dto.PurchaseOrderQrCodeDto;
import com.niuan.erp.module.purchase.controller.dto.*;
import com.niuan.erp.module.purchase.service.PurchaseOrderService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
@@ -24,12 +20,7 @@ import lombok.RequiredArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.util.StringUtils;
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.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@@ -91,15 +82,6 @@ public class PurchaseOrderController {
return BaseResult.success();
}
@ApiLog(type = OperationType.DELETE, remark = "批量删除采购订单记录")
@Operation(summary = "批量删除采购订单", operationId = "deletePurchaseOrderBatch")
@PostMapping("/deletePurchaseOrderBatch")
@PreAuthorize("hasAuthority('purchase_order:deleteBatch')")
public BaseResult<?> deletePurchaseOrderBatch(@RequestBody BaseDeleteBody req) {
purchaseOrderService.deleteBatch(req.ids());
return BaseResult.success();
}
@ApiLog(type = OperationType.UPDATE, remark = "采购订单入库")
@Operation(summary = "采购订单入库", operationId = "inbound")
@PostMapping("/inbound")

View File

@@ -7,14 +7,12 @@ import com.niuan.erp.common.annotation.ModuleLog;
import com.niuan.erp.common.base.BaseDeleteBody;
import com.niuan.erp.common.base.BasePageReqParams;
import com.niuan.erp.common.base.BaseResult;
import com.niuan.erp.common.base.CommonValidateGroup.*;
import com.niuan.erp.common.base.CommonValidateGroup.Add;
import com.niuan.erp.common.base.CommonValidateGroup.DeleteOne;
import com.niuan.erp.common.base.CommonValidateGroup.Get;
import com.niuan.erp.common.base.CommonValidateGroup.Update;
import com.niuan.erp.common.base.OperationType;
import com.niuan.erp.module.purchase.controller.dto.GeneratePurchaseOrderDto;
import com.niuan.erp.module.purchase.controller.dto.PurchasePlanAddDto;
import com.niuan.erp.module.purchase.controller.dto.PurchasePlanDto;
import com.niuan.erp.module.purchase.controller.dto.PurchasePlanItemDto;
import com.niuan.erp.module.purchase.controller.dto.PurchasePlanItemsWithVendorSuggestionsDto;
import com.niuan.erp.module.purchase.controller.dto.VendorSuggestionDto;
import com.niuan.erp.module.purchase.controller.dto.*;
import com.niuan.erp.module.purchase.entity.PurchasePlan;
import com.niuan.erp.module.purchase.service.PurchasePlanService;
import io.swagger.v3.oas.annotations.Operation;
@@ -80,22 +78,6 @@ public class PurchasePlanController {
return BaseResult.success();
}
@ApiLog(type = OperationType.DELETE, remark = "批量删除采购计划记录")
@Operation(summary = "批量删除采购计划", operationId = "deletePurchasePlanBatch")
@PostMapping("/deletePurchasePlanBatch")
@PreAuthorize("hasAuthority('purchase_plan:deleteBatch')")
public BaseResult<?> deletePurchasePlanBatch(@Validated(DeleteBatch.class) @RequestBody BaseDeleteBody req) {
purchasePlanService.deleteBatch(req.ids());
return BaseResult.success();
}
@Operation(summary = "获取采购计划明细", operationId = "getPurchasePlanItems")
@GetMapping("/getPurchasePlanItems")
@PreAuthorize("hasAuthority('purchase_plan:index')")
public BaseResult<List<PurchasePlanItemDto>> getPurchasePlanItems(@RequestParam Long planId) {
return BaseResult.successWithData(purchasePlanService.getPurchasePlanItems(planId));
}
@Operation(summary = "获取采购计划明细及供应商建议", operationId = "getPurchasePlanItemsWithVendorSuggestions")
@GetMapping("/getPurchasePlanItemsWithVendorSuggestions")
@PreAuthorize("hasAuthority('purchase_plan:generatePurchaseOrder')")

View File

@@ -1,22 +1,31 @@
package com.niuan.erp.module.purchase.controller.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import java.util.List;
@Schema(description = "采购计划新增DTO")
public record PurchasePlanAddDto(
@Schema(description = "计划单号")
@NotNull(message = "purchase.purchase_plan.validate.plan_no.not_null")
String planNo,
// 收货仓库
@Schema(description = "收货仓库编号")
@NotNull(message = "purchase.purchase_plan.validate.store_no.not_null")
Long storeNo,
@Schema(description = "收货仓库名称")
@NotNull(message = "purchase.purchase_plan.validate.store_name.not_null")
String storeName,
// 备注
@Schema(description = "备注")
String remask,
// 计划单名称内容
@Schema(description = "计划单名称")
@NotNull(message = "purchase.purchase_plan.validate.plan_name.not_null")
String planName,
@Schema(description = "计划明细列表")
List<PurchasePlanItemAddDto> planItems
) {}

View File

@@ -4,12 +4,11 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.niuan.erp.common.annotation.ApiLog;
import com.niuan.erp.common.annotation.ModuleLog;
import com.niuan.erp.common.base.BaseApproveAndRejectDto;
import com.niuan.erp.common.base.BaseDeleteBody;
import com.niuan.erp.common.base.BasePageReqParams;
import com.niuan.erp.common.base.BaseResult;
import com.niuan.erp.common.base.CommonValidateGroup.*;
import com.niuan.erp.common.base.OperationType;
import com.niuan.erp.common.base.*;
import com.niuan.erp.common.base.CommonValidateGroup.Add;
import com.niuan.erp.common.base.CommonValidateGroup.DeleteOne;
import com.niuan.erp.common.base.CommonValidateGroup.Get;
import com.niuan.erp.common.base.CommonValidateGroup.Update;
import com.niuan.erp.module.common.entity.Document;
import com.niuan.erp.module.sale.controller.dto.SaleOrderAddDto;
import com.niuan.erp.module.sale.controller.dto.SaleOrderDto;
@@ -79,15 +78,6 @@ public class SaleOrderController {
return BaseResult.success();
}
@ApiLog(type = OperationType.DELETE, remark = "批量删除销售订单记录")
@Operation(summary = "批量删除销售订单", operationId = "deleteSaleOrderBatch")
@PostMapping("/deleteSaleOrderBatch")
@PreAuthorize("hasAuthority('sale_order:remove')")
public BaseResult<?> deleteSaleOrderBatch(@Validated(DeleteBatch.class) @RequestBody BaseDeleteBody req) {
saleOrderService.deleteBatch(req.ids());
return BaseResult.success();
}
@ApiLog(type = OperationType.UPDATE, remark = "审核销售订单")
@Operation(summary = "审核销售订单", operationId = "approveSaleOrder")
@PostMapping("/approveSaleOrder")

View File

@@ -1,76 +0,0 @@
package com.niuan.erp.module.sale.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.niuan.erp.common.annotation.ApiLog;
import com.niuan.erp.common.annotation.ModuleLog;
import com.niuan.erp.common.base.BaseDeleteBody;
import com.niuan.erp.common.base.BasePageReqParams;
import com.niuan.erp.common.base.BaseResult;
import com.niuan.erp.common.base.CommonValidateGroup.*;
import com.niuan.erp.common.base.OperationType;
import com.niuan.erp.module.sale.controller.dto.SaleOrderItemDto;
import com.niuan.erp.module.sale.entity.SaleOrderItem;
import com.niuan.erp.module.sale.service.SaleOrderItemService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@Tag(name = "SaleOrderItem")
@ModuleLog("SaleOrderItem管理")
@RestController
@RequestMapping("/sale/saleorderitem")
@RequiredArgsConstructor
public class SaleOrderItemController {
private final SaleOrderItemService saleOrderItemService;
@Operation(summary = "分页查询SaleOrderItem数据", operationId = "getSaleOrderItemPage")
@GetMapping("/getSaleOrderItemPage")
@PreAuthorize("hasAuthority('sale_order_item:index')")
public BaseResult<IPage<SaleOrderItemDto>> getSaleOrderItemPage(@Validated BasePageReqParams pageParams,
@Validated(Get.class) SaleOrderItemDto searchParams) {
var wrapper = new LambdaQueryWrapper<SaleOrderItem>();
return BaseResult.successWithData(saleOrderItemService.getSaleOrderItemPage(pageParams, wrapper));
}
@ApiLog(type = OperationType.ADD, remark = "新增一条SaleOrderItem记录")
@Operation(summary = "新增SaleOrderItem", operationId = "addSaleOrderItem")
@PostMapping("/addSaleOrderItem")
@PreAuthorize("hasAuthority('sale_order_item:add')")
public BaseResult<?> addSaleOrderItem(@Validated(Add.class) @RequestBody SaleOrderItemDto dto) {
saleOrderItemService.addSaleOrderItem(dto);
return BaseResult.success();
}
@ApiLog(type = OperationType.UPDATE, remark = "更新一条SaleOrderItem记录")
@Operation(summary = "更新SaleOrderItem", operationId = "updateSaleOrderItem")
@PostMapping("/updateSaleOrderItem")
@PreAuthorize("hasAuthority('sale_order_item:update')")
public BaseResult<?> updateSaleOrderItem(@Validated(Update.class) @RequestBody SaleOrderItemDto dto) {
saleOrderItemService.updateSaleOrderItem(dto);
return BaseResult.success();
}
@ApiLog(type = OperationType.DELETE, remark = "删除一条SaleOrderItem记录")
@Operation(summary = "删除SaleOrderItem", operationId = "deleteSaleOrderItem")
@PostMapping("/deleteSaleOrderItem")
@PreAuthorize("hasAuthority('sale_order_item:delete')")
public BaseResult<?> deleteSaleOrderItem(@Validated(DeleteOne.class) @RequestBody BaseDeleteBody req) {
saleOrderItemService.deleteSaleOrderItem(req.id());
return BaseResult.success();
}
@ApiLog(type = OperationType.DELETE, remark = "批量删除SaleOrderItem记录")
@Operation(summary = "批量删除SaleOrderItem", operationId = "deleteSaleOrderItemBatch")
@PostMapping("/deleteSaleOrderItemBatch")
@PreAuthorize("hasAuthority('sale_order_item:deleteBatch')")
public BaseResult<?> deleteSaleOrderItemBatch(@Validated(DeleteBatch.class) @RequestBody BaseDeleteBody req) {
saleOrderItemService.deleteBatch(req.ids());
return BaseResult.success();
}
}

View File

@@ -1,15 +0,0 @@
package com.niuan.erp.module.sale.converter;
import com.niuan.erp.module.sale.controller.dto.SaleOrderItemDto;
import com.niuan.erp.module.sale.entity.SaleOrderItem;
import org.mapstruct.Mapper;
import org.mapstruct.ReportingPolicy;
import java.util.List;
@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE)
public interface SaleOrderItemConverter {
SaleOrderItem toEntity(SaleOrderItemDto dto);
SaleOrderItemDto toDto(SaleOrderItem entity);
List<SaleOrderItemDto> toDtoList(List<SaleOrderItem> entities);
}

View File

@@ -2,15 +2,8 @@ package com.niuan.erp.module.sale.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.niuan.erp.module.sale.entity.SaleOrderItem;
import org.apache.ibatis.annotations.Mapper;
/**
* <p>
* Mapper 接口
* </p>
*
* @author
* @since 2026-02-11
*/
@Mapper
public interface SaleOrderItemMapper extends BaseMapper<SaleOrderItem> {
}

View File

@@ -1,23 +0,0 @@
package com.niuan.erp.module.sale.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.niuan.erp.common.base.BasePageReqParams;
import com.niuan.erp.module.sale.controller.dto.SaleOrderItemDto;
import com.niuan.erp.module.sale.entity.SaleOrderItem;
import java.util.List;
public interface SaleOrderItemService {
IPage<SaleOrderItemDto> getSaleOrderItemPage(BasePageReqParams pageParams, LambdaQueryWrapper<SaleOrderItem> wrapper);
void addSaleOrderItem(SaleOrderItemDto dto);
void updateSaleOrderItem(SaleOrderItemDto dto);
void deleteSaleOrderItem(long id);
void deleteBatch(List<Long> ids);
}

View File

@@ -1,65 +0,0 @@
package com.niuan.erp.module.sale.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.niuan.erp.common.base.BasePageReqParams;
import com.niuan.erp.common.utils.SecurityUtils;
import com.niuan.erp.module.sale.controller.dto.SaleOrderItemDto;
import com.niuan.erp.module.sale.converter.SaleOrderItemConverter;
import com.niuan.erp.module.sale.entity.SaleOrderItem;
import com.niuan.erp.module.sale.mapper.SaleOrderItemMapper;
import com.niuan.erp.module.sale.service.SaleOrderItemService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.List;
@Service
@Transactional
@RequiredArgsConstructor
public class SaleOrderItemServiceImpl extends ServiceImpl<SaleOrderItemMapper, SaleOrderItem> implements SaleOrderItemService {
private final SaleOrderItemConverter saleOrderItemConverter;
@Override
public IPage<SaleOrderItemDto> getSaleOrderItemPage(BasePageReqParams pageParams, LambdaQueryWrapper<SaleOrderItem> wrapper) {
IPage<SaleOrderItem> result = this.baseMapper.selectPage(new Page<>(pageParams.page(), pageParams.pageSize()), wrapper);
return result.convert(saleOrderItemConverter::toDto);
}
@Override
public void addSaleOrderItem(SaleOrderItemDto dto) {
SaleOrderItem entity = saleOrderItemConverter.toEntity(dto);
entity.setCreateUserId(SecurityUtils.getUserId());
entity.setCreateUserName(SecurityUtils.getUserName());
entity.setCreateDate(LocalDateTime.now());
entity.setStatus(0);
this.baseMapper.insert(entity);
}
@Override
public void updateSaleOrderItem(SaleOrderItemDto dto) {
SaleOrderItem entity = saleOrderItemConverter.toEntity(dto);
entity.setUpdateUserId(SecurityUtils.getUserId());
entity.setUpdateUserName(SecurityUtils.getUserName());
entity.setUpdateDate(LocalDateTime.now());
this.baseMapper.updateById(entity);
}
@Override
public void deleteSaleOrderItem(long id) {
this.baseMapper.deleteById(id);
}
@Override
public void deleteBatch(List<Long> ids) {
this.baseMapper.deleteByIds(ids);
}
}

View File

@@ -2,13 +2,8 @@ package com.niuan.erp.module.sys.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.niuan.erp.common.base.BaseDeleteBody;
import com.niuan.erp.common.base.BasePageReqParams;
import com.niuan.erp.common.base.BaseResult;
import com.niuan.erp.common.base.BaseTree;
import com.niuan.erp.common.base.CommonValidateGroup.DeleteBatch;
import com.niuan.erp.common.base.*;
import com.niuan.erp.common.base.CommonValidateGroup.DeleteOne;
import com.niuan.erp.common.base.BaseSelectDto;
import com.niuan.erp.module.sys.controller.dto.KeyAccountDto;
import com.niuan.erp.module.sys.entity.KeyAccount;
import com.niuan.erp.module.sys.service.KeyAccountService;
@@ -71,9 +66,4 @@ public class KeyAccountController {
return BaseResult.success();
}
@PostMapping("/deleteBatch")
public BaseResult<?> deleteBatch(@Validated(DeleteBatch.class) @RequestBody BaseDeleteBody req) {
keyAccountService.deleteBatch(req.ids());
return BaseResult.success();
}
}

View File

@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.niuan.erp.common.base.BaseDeleteBody;
import com.niuan.erp.common.base.BasePageReqParams;
import com.niuan.erp.common.base.BaseResult;
import com.niuan.erp.common.base.CommonValidateGroup.DeleteBatch;
import com.niuan.erp.common.base.CommonValidateGroup.DeleteOne;
import com.niuan.erp.module.sys.controller.dto.StoreDto;
import com.niuan.erp.module.sys.entity.Store;
@@ -55,10 +54,4 @@ public class StoreController {
return BaseResult.success();
}
@PostMapping("/deleteBatch")
@PreAuthorize("hasAuthority('store:deleteBatch')")
public BaseResult<?> deleteBatch(@Validated(DeleteBatch.class) @RequestBody BaseDeleteBody req) {
storeService.deleteBatch(req.ids());
return BaseResult.success();
}
}

View File

@@ -3,7 +3,6 @@ package com.niuan.erp.module.sys.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.niuan.erp.common.base.*;
import com.niuan.erp.common.base.CommonValidateGroup.DeleteBatch;
import com.niuan.erp.common.base.CommonValidateGroup.DeleteOne;
import com.niuan.erp.module.sys.controller.dto.SysChannelDto;
import com.niuan.erp.module.sys.entity.SysChannel;
@@ -37,11 +36,6 @@ public class SysChannelController {
return BaseResult.successWithData(sysChannelService.getSysChannelPage(dto, wrapper));
}
@GetMapping("/getSysChannelTree")
public BaseResult<List<BaseTree>> getSysChannelTree() {
return BaseResult.successWithData(sysChannelService.getSysChannelTree(false));
}
@GetMapping("/getMenuTree")
public BaseResult<List<BaseTree>> getMenuTree() {
return BaseResult.successWithData(sysChannelService.getSysChannelTree(true));
@@ -65,12 +59,6 @@ public class SysChannelController {
return BaseResult.success();
}
@PostMapping("/deleteBatch")
public BaseResult<?> deleteBatch(@Validated(DeleteBatch.class) @RequestBody BaseDeleteBody req) {
sysChannelService.deleteBatch(req.ids());
return BaseResult.success();
}
@PostMapping("/setStatus")
public BaseResult<?> setStatus(@Valid @RequestBody BaseStatusBody req) {
sysChannelService.setStatus(req.id(), req.status());

View File

@@ -2,11 +2,7 @@ package com.niuan.erp.module.sys.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.niuan.erp.common.base.BaseDeleteBody;
import com.niuan.erp.common.base.BasePageReqParams;
import com.niuan.erp.common.base.BaseResult;
import com.niuan.erp.common.base.BaseStatusBody;
import com.niuan.erp.common.base.CommonValidateGroup;
import com.niuan.erp.common.base.*;
import com.niuan.erp.module.sys.controller.dto.SysRoleDto;
import com.niuan.erp.module.sys.controller.dto.SysRoleSelectDto;
import com.niuan.erp.module.sys.entity.SysRole;
@@ -75,15 +71,6 @@ public class SysRoleController {
return BaseResult.success();
}
@PostMapping("/deleteBatch")
@Operation(summary = "批量删除角色")
@PreAuthorize("hasAnyAuthority('sysrole:remove')")
public BaseResult<?> deleteBatch(
@Validated(CommonValidateGroup.DeleteBatch.class) @RequestBody BaseDeleteBody req) {
sysRoleService.deleteBatch(req.ids());
return BaseResult.success();
}
@PostMapping("/setStatus")
@Operation(summary = "修改角色状态")
@PreAuthorize("hasAnyAuthority('sysrole:enable', 'sysrole:disable')")

View File

@@ -67,14 +67,6 @@ public class SysUserController {
return BaseResult.success();
}
@PostMapping("/deleteBatch")
@Operation(summary = "批量删除用户")
@PreAuthorize("hasAnyAuthority('sysuser:remove')")
public BaseResult<?> deleteBatch(@Valid @RequestBody BaseDeleteBody req) {
userService.deleteBatch(req.ids());
return BaseResult.success();
}
@PostMapping("/setStatus")
@Operation(summary = "修改用户状态")
@PreAuthorize("hasAnyAuthority('sysuser:enable', 'sysuser:disable')")

View File

@@ -4,12 +4,11 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.niuan.erp.common.annotation.ApiLog;
import com.niuan.erp.common.annotation.ModuleLog;
import com.niuan.erp.common.base.BaseDeleteBody;
import com.niuan.erp.common.base.BasePageReqParams;
import com.niuan.erp.common.base.BaseResult;
import com.niuan.erp.common.base.BaseSelectDto;
import com.niuan.erp.common.base.CommonValidateGroup.*;
import com.niuan.erp.common.base.OperationType;
import com.niuan.erp.common.base.*;
import com.niuan.erp.common.base.CommonValidateGroup.Add;
import com.niuan.erp.common.base.CommonValidateGroup.DeleteOne;
import com.niuan.erp.common.base.CommonValidateGroup.Get;
import com.niuan.erp.common.base.CommonValidateGroup.Update;
import com.niuan.erp.module.sys.controller.dto.VendorDto;
import com.niuan.erp.module.sys.entity.Vendor;
import com.niuan.erp.module.sys.service.VendorService;
@@ -71,15 +70,6 @@ public class VendorController {
return BaseResult.success();
}
@ApiLog(type = OperationType.DELETE, remark = "批量删除供应商记录")
@Operation(summary = "批量删除供应商", operationId = "deleteVendorBatch")
@PreAuthorize("hasAuthority('vendor:deleteBatch')")
@PostMapping("/deleteVendorBatch")
public BaseResult<?> deleteVendorBatch(@Validated(DeleteBatch.class) @RequestBody BaseDeleteBody req) {
vendorService.deleteBatch(req.ids());
return BaseResult.success();
}
@Operation(summary = "获取供应商列表", operationId = "getVendorList")
@PreAuthorize("hasAnyAuthority('vendor:index', 'purchase_plan:add', 'purchase_plan:edit')")
@GetMapping("/getVendorList")

View File

@@ -1,76 +0,0 @@
package com.niuan.erp.module.warehouse.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.niuan.erp.common.annotation.ApiLog;
import com.niuan.erp.common.annotation.ModuleLog;
import com.niuan.erp.common.base.BaseDeleteBody;
import com.niuan.erp.common.base.BasePageReqParams;
import com.niuan.erp.common.base.BaseResult;
import com.niuan.erp.common.base.CommonValidateGroup.*;
import com.niuan.erp.common.base.OperationType;
import com.niuan.erp.module.warehouse.controller.dto.InventoryCountItemDto;
import com.niuan.erp.module.warehouse.entity.InventoryCountItem;
import com.niuan.erp.module.warehouse.service.InventoryCountItemService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
@Tag(name = "InventoryCountItem")
@ModuleLog("InventoryCountItem管理")
@RestController
@RequestMapping("/warehouse/inventorycountitem")
@RequiredArgsConstructor
public class InventoryCountItemController {
private final InventoryCountItemService inventoryCountItemService;
@Operation(summary = "分页查询InventoryCountItem数据", operationId = "getInventoryCountItemPage")
@GetMapping("/getInventoryCountItemPage")
@PreAuthorize("hasAuthority('inventory_count_item:index')")
public BaseResult<IPage<InventoryCountItemDto>> getInventoryCountItemPage(@Validated BasePageReqParams pageParams,
@Validated(Get.class) InventoryCountItemDto searchParams) {
var wrapper = new LambdaQueryWrapper<InventoryCountItem>();
return BaseResult.successWithData(inventoryCountItemService.getInventoryCountItemPage(pageParams, wrapper));
}
@ApiLog(type = OperationType.ADD, remark = "新增一条InventoryCountItem记录")
@Operation(summary = "新增InventoryCountItem", operationId = "addInventoryCountItem")
@PostMapping("/addInventoryCountItem")
@PreAuthorize("hasAuthority('inventory_count_item:add')")
public BaseResult<?> addInventoryCountItem(@Validated(Add.class) @RequestBody InventoryCountItemDto dto) {
inventoryCountItemService.addInventoryCountItem(dto);
return BaseResult.success();
}
@ApiLog(type = OperationType.UPDATE, remark = "更新一条InventoryCountItem记录")
@Operation(summary = "更新InventoryCountItem", operationId = "updateInventoryCountItem")
@PostMapping("/updateInventoryCountItem")
@PreAuthorize("hasAuthority('inventory_count_item:update')")
public BaseResult<?> updateInventoryCountItem(@Validated(Update.class) @RequestBody InventoryCountItemDto dto) {
inventoryCountItemService.updateInventoryCountItem(dto);
return BaseResult.success();
}
@ApiLog(type = OperationType.DELETE, remark = "删除一条InventoryCountItem记录")
@Operation(summary = "删除InventoryCountItem", operationId = "deleteInventoryCountItem")
@PostMapping("/deleteInventoryCountItem")
@PreAuthorize("hasAuthority('inventory_count_item:delete')")
public BaseResult<?> deleteInventoryCountItem(@Validated(DeleteOne.class) @RequestBody BaseDeleteBody req) {
inventoryCountItemService.deleteInventoryCountItem(req.id());
return BaseResult.success();
}
@ApiLog(type = OperationType.DELETE, remark = "批量删除InventoryCountItem记录")
@Operation(summary = "批量删除InventoryCountItem", operationId = "deleteInventoryCountItemBatch")
@PostMapping("/deleteInventoryCountItemBatch")
@PreAuthorize("hasAuthority('inventory_count_item:deleteBatch')")
public BaseResult<?> deleteInventoryCountItemBatch(@Validated(DeleteBatch.class) @RequestBody BaseDeleteBody req) {
inventoryCountItemService.deleteBatch(req.ids());
return BaseResult.success();
}
}

View File

@@ -3,12 +3,10 @@ package com.niuan.erp.module.warehouse.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.niuan.erp.common.annotation.ApiLog;
import com.niuan.erp.common.annotation.ModuleLog;
import com.niuan.erp.common.base.BaseApproveAndRejectDto;
import com.niuan.erp.common.base.BaseDeleteBody;
import com.niuan.erp.common.base.BasePageReqParams;
import com.niuan.erp.common.base.BaseResult;
import com.niuan.erp.common.base.CommonValidateGroup.*;
import com.niuan.erp.common.base.OperationType;
import com.niuan.erp.common.base.*;
import com.niuan.erp.common.base.CommonValidateGroup.Add;
import com.niuan.erp.common.base.CommonValidateGroup.DeleteOne;
import com.niuan.erp.common.base.CommonValidateGroup.Update;
import com.niuan.erp.module.warehouse.controller.dto.StockTransferOrderAddDto;
import com.niuan.erp.module.warehouse.controller.dto.StockTransferOrderDto;
import com.niuan.erp.module.warehouse.controller.dto.StockTransferOrderItemDto;
@@ -67,15 +65,6 @@ public class StockTransferOrderController {
return BaseResult.success();
}
@ApiLog(type = OperationType.DELETE, remark = "批量删除StockTransferOrder记录")
@Operation(summary = "批量删除StockTransferOrder", operationId = "deleteStockTransferOrderBatch")
@PostMapping("/deleteStockTransferOrderBatch")
@PreAuthorize("hasAuthority('stock_transfer_order:deleteBatch')")
public BaseResult<?> deleteStockTransferOrderBatch(@Validated(DeleteBatch.class) @RequestBody BaseDeleteBody req) {
stockTransferOrderService.deleteBatch(req.ids());
return BaseResult.success();
}
@ApiLog(type = OperationType.UPDATE, remark = "审核StockTransferOrder")
@Operation(summary = "审核StockTransferOrder", operationId = "approveStockTransferOrder")
@PostMapping("/approveStockTransferOrder")

View File

@@ -5,7 +5,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.niuan.erp.common.annotation.ApiLog;
import com.niuan.erp.common.annotation.ModuleLog;
import com.niuan.erp.common.base.*;
import com.niuan.erp.common.base.CommonValidateGroup.*;
import com.niuan.erp.common.base.CommonValidateGroup.Add;
import com.niuan.erp.common.base.CommonValidateGroup.DeleteOne;
import com.niuan.erp.common.base.CommonValidateGroup.Get;
import com.niuan.erp.common.base.CommonValidateGroup.Update;
import com.niuan.erp.module.warehouse.controller.dto.WarehouseDto;
import com.niuan.erp.module.warehouse.entity.Warehouse;
import com.niuan.erp.module.warehouse.service.WarehouseService;
@@ -77,12 +80,4 @@ public class WarehouseController {
return BaseResult.success();
}
@ApiLog(type = OperationType.DELETE, remark = "批量删除Warehouse记录")
@Operation(summary = "批量删除Warehouse", operationId = "deleteWarehouseBatch")
@PostMapping("/deleteWarehouseBatch")
@PreAuthorize("hasAuthority('warehouse:deleteBatch')")
public BaseResult<?> deleteWarehouseBatch(@Validated(DeleteBatch.class) @RequestBody BaseDeleteBody req) {
warehouseService.deleteBatch(req.ids());
return BaseResult.success();
}
}

View File

@@ -5,7 +5,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.niuan.erp.common.annotation.ApiLog;
import com.niuan.erp.common.annotation.ModuleLog;
import com.niuan.erp.common.base.*;
import com.niuan.erp.common.base.CommonValidateGroup.*;
import com.niuan.erp.common.base.CommonValidateGroup.Add;
import com.niuan.erp.common.base.CommonValidateGroup.DeleteOne;
import com.niuan.erp.common.base.CommonValidateGroup.Get;
import com.niuan.erp.common.base.CommonValidateGroup.Update;
import com.niuan.erp.module.warehouse.controller.dto.ProductVendorMapAddDto;
import com.niuan.erp.module.warehouse.controller.dto.ProductVendorMapDto;
import com.niuan.erp.module.warehouse.controller.dto.WarehouseItemDto;
@@ -89,15 +92,6 @@ public class WarehouseItemController {
return BaseResult.success();
}
@ApiLog(type = OperationType.DELETE, remark = "批量删除物料信息记录")
@Operation(summary = "批量删除物料信息", operationId = "deleteWarehouseItemBatch")
@PostMapping("/deleteWarehouseItemBatch")
@PreAuthorize("hasAuthority('warehouse_item:deleteBatch')")
public BaseResult<?> deleteWarehouseItemBatch(@Validated(DeleteBatch.class) @RequestBody BaseDeleteBody req) {
warehouseItemService.deleteBatch(req.ids());
return BaseResult.success();
}
@Operation(summary = "判断 partNumber 的物料是否存在仓库", operationId = "existsWarehouseItem")
@GetMapping("/existsWarehouseItem")
@PreAuthorize("hasAnyAuthority('bom:add', 'purchase_order:add', 'purchase_order:update')")

View File

@@ -4,12 +4,11 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.niuan.erp.common.annotation.ApiLog;
import com.niuan.erp.common.annotation.ModuleLog;
import com.niuan.erp.common.base.BaseApproveAndRejectDto;
import com.niuan.erp.common.base.BaseDeleteBody;
import com.niuan.erp.common.base.BasePageReqParams;
import com.niuan.erp.common.base.BaseResult;
import com.niuan.erp.common.base.CommonValidateGroup.*;
import com.niuan.erp.common.base.OperationType;
import com.niuan.erp.common.base.*;
import com.niuan.erp.common.base.CommonValidateGroup.Add;
import com.niuan.erp.common.base.CommonValidateGroup.DeleteOne;
import com.niuan.erp.common.base.CommonValidateGroup.Get;
import com.niuan.erp.common.base.CommonValidateGroup.Update;
import com.niuan.erp.module.common.entity.Document;
import com.niuan.erp.module.warehouse.controller.dto.WarehouseReceiptAddDto;
import com.niuan.erp.module.warehouse.controller.dto.WarehouseReceiptDto;
@@ -23,7 +22,6 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.util.StringUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
@@ -81,15 +79,6 @@ public class WarehouseReceiptController {
return BaseResult.success();
}
@ApiLog(type = OperationType.DELETE, remark = "批量删除WarehouseReceipt记录")
@Operation(summary = "批量删除WarehouseReceipt", operationId = "deleteWarehouseReceiptBatch")
@PostMapping("/deleteWarehouseReceiptBatch")
@PreAuthorize("hasAuthority('warehouse_receipt:deleteBatch')")
public BaseResult<?> deleteWarehouseReceiptBatch(@Validated(DeleteBatch.class) @RequestBody BaseDeleteBody req) {
warehouseReceiptService.deleteBatch(req.ids());
return BaseResult.success();
}
@ApiLog(type = OperationType.UPDATE, remark = "审核WarehouseReceipt")
@Operation(summary = "审核WarehouseReceipt", operationId = "approveWarehouseReceipt")
@PostMapping("/approveWarehouseReceipt")

View File

@@ -1,21 +1,56 @@
package com.niuan.erp.module.warehouse.controller.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import java.time.LocalDateTime;
@Schema(description = "仓库DTO")
public record WarehouseDto(
@Schema(description = "ID")
Long id,
@Schema(description = "状态: 0-禁用, 1-启用")
Integer status,
@Schema(description = "创建时间")
LocalDateTime createDate,
@Schema(description = "创建人ID")
Long createUserId,
@Schema(description = "创建人名称")
String createUserName,
@Schema(description = "更新时间")
LocalDateTime updateDate,
@Schema(description = "更新人ID")
Long updateUserId,
@Schema(description = "更新人名称")
String updateUserName,
@Schema(description = "仓库编号")
Integer storeNo,
@Schema(description = "仓库名称")
String storeName,
@Schema(description = "仓库备注")
String storeMark,
@Schema(description = "预留字段1")
Integer reserve1,
@Schema(description = "预留字段2")
String reserve2,
@Schema(description = "项目ID")
Long projectId,
@Schema(description = "客户ID")
Integer customerId,
String searchCode) {}
@Schema(description = "搜索编码")
String searchCode
) {}

View File

@@ -1,15 +0,0 @@
package com.niuan.erp.module.warehouse.converter;
import com.niuan.erp.module.warehouse.controller.dto.InventoryCountItemDto;
import com.niuan.erp.module.warehouse.entity.InventoryCountItem;
import org.mapstruct.Mapper;
import org.mapstruct.ReportingPolicy;
import java.util.List;
@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE)
public interface InventoryCountItemConverter {
InventoryCountItem toEntity(InventoryCountItemDto dto);
InventoryCountItemDto toDto(InventoryCountItem entity);
List<InventoryCountItemDto> toDtoList(List<InventoryCountItem> entities);
}

View File

@@ -2,15 +2,8 @@ package com.niuan.erp.module.warehouse.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.niuan.erp.module.warehouse.entity.InventoryCountItem;
import org.apache.ibatis.annotations.Mapper;
/**
* <p>
* Mapper 接口
* </p>
*
* @author
* @since 2026-02-12
*/
@Mapper
public interface InventoryCountItemMapper extends BaseMapper<InventoryCountItem> {
}

View File

@@ -1,23 +0,0 @@
package com.niuan.erp.module.warehouse.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.niuan.erp.common.base.BasePageReqParams;
import com.niuan.erp.module.warehouse.controller.dto.InventoryCountItemDto;
import com.niuan.erp.module.warehouse.entity.InventoryCountItem;
import java.util.List;
public interface InventoryCountItemService {
IPage<InventoryCountItemDto> getInventoryCountItemPage(BasePageReqParams pageParams, LambdaQueryWrapper<InventoryCountItem> wrapper);
void addInventoryCountItem(InventoryCountItemDto dto);
void updateInventoryCountItem(InventoryCountItemDto dto);
void deleteInventoryCountItem(long id);
void deleteBatch(List<Long> ids);
}

View File

@@ -1,65 +0,0 @@
package com.niuan.erp.module.warehouse.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.niuan.erp.common.base.BasePageReqParams;
import com.niuan.erp.common.utils.SecurityUtils;
import com.niuan.erp.module.warehouse.controller.dto.InventoryCountItemDto;
import com.niuan.erp.module.warehouse.converter.InventoryCountItemConverter;
import com.niuan.erp.module.warehouse.entity.InventoryCountItem;
import com.niuan.erp.module.warehouse.mapper.InventoryCountItemMapper;
import com.niuan.erp.module.warehouse.service.InventoryCountItemService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.util.List;
@Service
@Transactional
@RequiredArgsConstructor
public class InventoryCountItemServiceImpl extends ServiceImpl<InventoryCountItemMapper, InventoryCountItem> implements InventoryCountItemService {
private final InventoryCountItemConverter inventoryCountItemConverter;
@Override
public IPage<InventoryCountItemDto> getInventoryCountItemPage(BasePageReqParams pageParams, LambdaQueryWrapper<InventoryCountItem> wrapper) {
IPage<InventoryCountItem> result = this.baseMapper.selectPage(new Page<>(pageParams.page(), pageParams.pageSize()), wrapper);
return result.convert(inventoryCountItemConverter::toDto);
}
@Override
public void addInventoryCountItem(InventoryCountItemDto dto) {
InventoryCountItem entity = inventoryCountItemConverter.toEntity(dto);
entity.setCreateUserId(SecurityUtils.getUserId());
entity.setCreateUserName(SecurityUtils.getUserName());
entity.setCreateDate(LocalDateTime.now());
entity.setStatus(0);
this.baseMapper.insert(entity);
}
@Override
public void updateInventoryCountItem(InventoryCountItemDto dto) {
InventoryCountItem entity = inventoryCountItemConverter.toEntity(dto);
entity.setUpdateUserId(SecurityUtils.getUserId());
entity.setUpdateUserName(SecurityUtils.getUserName());
entity.setUpdateDate(LocalDateTime.now());
this.baseMapper.updateById(entity);
}
@Override
public void deleteInventoryCountItem(long id) {
this.baseMapper.deleteById(id);
}
@Override
public void deleteBatch(List<Long> ids) {
this.baseMapper.deleteByIds(ids);
}
}