diff --git a/src/main/java/tech/riemann/ims/controller/platform/acl/UserController.java b/src/main/java/tech/riemann/ims/controller/platform/acl/UserController.java index 8a79cf5..4f06d44 100644 --- a/src/main/java/tech/riemann/ims/controller/platform/acl/UserController.java +++ b/src/main/java/tech/riemann/ims/controller/platform/acl/UserController.java @@ -1,41 +1,30 @@ package tech.riemann.ims.controller.platform.acl; -import java.util.Arrays; -import java.util.List; - -import org.nutz.lang.Strings; -import org.springframework.http.HttpStatus; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PatchMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.ResponseStatus; -import org.springframework.web.bind.annotation.RestController; - -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; - import club.zhcs.lina.auth.encode.PasswordUtils; import club.zhcs.lina.auth.service.AuthUser.Sex; import club.zhcs.lina.starter.exception.BizException; import club.zhcs.lina.utils.enums.Codebook; import club.zhcs.lina.utils.enums.ICodeBook; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; +import org.nutz.lang.Strings; +import org.springframework.http.HttpStatus; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; import tech.riemann.ims.dto.response.PermissionInfo; import tech.riemann.ims.dto.response.RoleInfo; import tech.riemann.ims.entity.acl.Permission; import tech.riemann.ims.entity.acl.User; import tech.riemann.ims.service.acl.IUserService; +import java.util.Arrays; +import java.util.List; + /** *

* 用户 前端控制器 @@ -52,6 +41,12 @@ public class UserController { private final IUserService userService; + @GetMapping("user-all") + @Operation(summary = "所有用户") + public List all() { + return userService.list(); + } + @GetMapping("users") @Operation(summary = "分页查询用户") public IPage users( diff --git a/src/main/java/tech/riemann/ims/controller/platform/material/ApplyFormController.java b/src/main/java/tech/riemann/ims/controller/platform/material/ApplyFormController.java index a658ba2..3e65272 100644 --- a/src/main/java/tech/riemann/ims/controller/platform/material/ApplyFormController.java +++ b/src/main/java/tech/riemann/ims/controller/platform/material/ApplyFormController.java @@ -11,6 +11,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import tech.riemann.ims.dto.request.ApplyInfo; +import tech.riemann.ims.dto.request.AuditApplyInfo; import tech.riemann.ims.dto.response.ApplyDTO; import tech.riemann.ims.entity.material.ApplyDetail; import tech.riemann.ims.entity.material.ApplyForm; @@ -64,6 +65,7 @@ public class ApplyFormController { @Parameter(description = "审核状态") @RequestParam(name = "reviewResult", required = false) ReviewResultEnum reviewResult) { return applyFormService.page(Page.of(page, size), Wrappers.lambdaQuery() .eq(auditType != null, ApplyForm::getAuditType, auditType) + .eq(ApplyForm::getType, ApplyTypeEnum.AUDIT) .eq(taker != null, ApplyForm::getTaker, taker) .eq(createDate != null, ApplyForm::getCreatedTime, createDate) .eq(reviewResult != null, ApplyForm::getReviewResult, reviewResult) @@ -73,7 +75,7 @@ public class ApplyFormController { @GetMapping("apply/{applyId}") @Operation(summary = "查询申请单详情") - public ApplyInfo detail(@Parameter(description = "类型") @PathVariable(name = "applyId") Integer applyId) { + public ApplyInfo detail(@Parameter(description = "申请单ID") @PathVariable(name = "applyId") Integer applyId) { List list = applyDetailService.list(Wrappers.lambdaQuery().eq(ApplyDetail::getApplyId, applyId)); return ApplyInfo.builder() .applyForm(applyFormService.getById(applyId)) @@ -159,4 +161,19 @@ public class ApplyFormController { } + @PostMapping("audit-apply") + @Operation(summary = "提交盘点申请单") + @Transactional(rollbackFor = Exception.class) + public void auditApply(@Validated @Parameter(description = "申请单") @RequestBody AuditApplyInfo applyInfo) { + ApplyForm applyForm = applyInfo.to(); + applyForm.setType(ApplyTypeEnum.AUDIT); + applyFormService.save(applyForm); + List materials = materialService.listByIds(applyInfo.getIds()); + + materials.forEach(material -> applyDetailService.save(ApplyDetail.builder() + .applyId(applyForm.getId()) + .materialId(material.getId()) + .quantity(material.getStock()) + .build())); + } } diff --git a/src/main/java/tech/riemann/ims/dto/request/AuditApplyInfo.java b/src/main/java/tech/riemann/ims/dto/request/AuditApplyInfo.java new file mode 100644 index 0000000..51c4a55 --- /dev/null +++ b/src/main/java/tech/riemann/ims/dto/request/AuditApplyInfo.java @@ -0,0 +1,32 @@ +package tech.riemann.ims.dto.request; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import lombok.experimental.SuperBuilder; +import org.nutz.json.Json; +import tech.riemann.ims.entity.material.ApplyForm; + +import java.util.List; + +/** + * @author mayong + * @since 2024/12/7 12:23 + */ + +@Data +@SuperBuilder +@AllArgsConstructor +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +public class AuditApplyInfo extends ApplyForm { + + @Schema(description = "物料ids") + private List ids; + + + public ApplyForm to(){ + return Json.fromJson(ApplyForm.class, Json.toJson(this)); + } + + +} diff --git a/src/main/java/tech/riemann/ims/entity/material/ApplyForm.java b/src/main/java/tech/riemann/ims/entity/material/ApplyForm.java index 7c6eabd..8446618 100644 --- a/src/main/java/tech/riemann/ims/entity/material/ApplyForm.java +++ b/src/main/java/tech/riemann/ims/entity/material/ApplyForm.java @@ -111,7 +111,7 @@ public class ApplyForm extends IdBaseEntity { @ColDefine(type = ColType.VARCHAR, notNull = false, width = 128, precision = 0) private HandleEnum handle; - @Schema(description = "审核结果(1-通过 2-不通过 3-待审核 4-退回重新盘点)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @Schema(description = "审核结果(1-通过 2-不通过 3-待审核 4-退回重新盘点 5-待盘点)", requiredMode = Schema.RequiredMode.NOT_REQUIRED) @TableField("af_review_result") @Column("af_review_result") @Comment("审核结果(1-通过 2-不通过 3-待审核 4-退回重新盘点)") diff --git a/src/main/java/tech/riemann/ims/enums/ReviewResultEnum.java b/src/main/java/tech/riemann/ims/enums/ReviewResultEnum.java index 8302f4d..5bc22aa 100644 --- a/src/main/java/tech/riemann/ims/enums/ReviewResultEnum.java +++ b/src/main/java/tech/riemann/ims/enums/ReviewResultEnum.java @@ -13,10 +13,11 @@ import lombok.Getter; @AllArgsConstructor public enum ReviewResultEnum implements ICodeBook { - PASS("1", "全部盘点"), - UN_PASS("2", "部分盘点"), - WAIT("3", "等待审核"), + PASS("1", "通过"), + UN_PASS("2", "未通过"), + WAIT_AUDIT("3", "等待审核"), REJECT("4", "退回"), + WAIT_CHECK("5", "待盘点") ; @EnumValue