hyy 8 сар өмнө
parent
commit
41e7f939e1

+ 1 - 1
yudao-module-museums/yudao-module-museums-biz/src/main/java/cn/iocoder/yudao/module/museums/controller/admin/specimenoutbound/SpecimenOutboundController.java

@@ -51,7 +51,7 @@ public class SpecimenOutboundController {
     @PutMapping("/update")
     @Operation(summary = "更新标本回库信息")
     @PreAuthorize("@ss.hasPermission('museums:specimen-outbound:update')")
-    public CommonResult<Boolean> updateSpecimenOutbound(@Valid @RequestBody SpecimenOutboundSaveReqVO updateReqVO) {
+    public CommonResult<Boolean> updateSpecimenOutbound(@Valid @RequestBody SpecimenOutboundReturnReqVO updateReqVO) {
         specimenOutboundService.updateSpecimenOutbound(updateReqVO);
         return success(true);
     }

+ 22 - 0
yudao-module-museums/yudao-module-museums-biz/src/main/java/cn/iocoder/yudao/module/museums/controller/admin/specimenoutbound/vo/SpecimenOutboundApprovalReqVO.java

@@ -0,0 +1,22 @@
+package cn.iocoder.yudao.module.museums.controller.admin.specimenoutbound.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import javax.validation.constraints.*;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.time.LocalDateTime;
+
+@Schema(description = "管理后台 - 标本出库回库信息新增/修改 Request VO")
+@Data
+public class SpecimenOutboundApprovalReqVO {
+
+    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
+    private Long id;
+
+    @Schema(description = "审批状态", example = "2")
+    private Integer status;
+
+    @Schema(description = "驳回原因", example = "反对")
+    private String processInstanceId;
+}

+ 35 - 0
yudao-module-museums/yudao-module-museums-biz/src/main/java/cn/iocoder/yudao/module/museums/controller/admin/specimenoutbound/vo/SpecimenOutboundReturnReqVO.java

@@ -0,0 +1,35 @@
+package cn.iocoder.yudao.module.museums.controller.admin.specimenoutbound.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.*;
+import java.util.*;
+import javax.validation.constraints.*;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.time.LocalDateTime;
+
+
+@Schema(description = "管理后台 - 标本回库信息编辑 Request VO")
+@Data
+public class SpecimenOutboundReturnReqVO {
+
+    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
+    private Long id;
+
+    @Schema(description = "标本情况")
+    private String specimenCondition;
+
+    @Schema(description = "退还人")
+    private String returner;
+
+    @Schema(description = "点收人")
+    private String receiver;
+
+    @Schema(description = "退还日期")
+    private LocalDateTime returnDate;
+
+    @Schema(description = "备注信息")
+    private String remarks;
+
+    @Schema(description = "审批状态", example = "2")
+    private Integer status;
+}

+ 1 - 1
yudao-module-museums/yudao-module-museums-biz/src/main/java/cn/iocoder/yudao/module/museums/service/specimenoutbound/SpecimenOutboundService.java

@@ -34,7 +34,7 @@ public interface SpecimenOutboundService {
      *
      * @param updateReqVO 更新信息
      */
-    void updateSpecimenOutbound(@Valid SpecimenOutboundSaveReqVO updateReqVO);
+    void updateSpecimenOutbound(@Valid SpecimenOutboundReturnReqVO updateReqVO);
 
 //    //确认出库
 //    void confirmOutbound(Long id, String operator);

+ 32 - 26
yudao-module-museums/yudao-module-museums-biz/src/main/java/cn/iocoder/yudao/module/museums/service/specimenoutbound/SpecimenOutboundServiceImpl.java

@@ -49,37 +49,43 @@ public class SpecimenOutboundServiceImpl implements SpecimenOutboundService {
 //    }
 
     //用来填写回库表单,为方便添加数据,现在先用上面这段
-    @Override
-    public void updateSpecimenOutbound(SpecimenOutboundSaveReqVO updateReqVO) {
-        // 校验存在
-        validateSpecimenOutboundExists(updateReqVO.getId());
-        // 更新
-        SpecimenOutboundDO updateObj = BeanUtils.toBean(updateReqVO, SpecimenOutboundDO.class);
-        specimenOutboundMapper.updateById(updateObj);
-    }
-    //测试成功
 //    @Override
 //    public void updateSpecimenOutbound(SpecimenOutboundSaveReqVO updateReqVO) {
 //        // 校验存在
 //        validateSpecimenOutboundExists(updateReqVO.getId());
-//
-//        // 获取当前标本的状态
-//        SpecimenOutboundDO existingSpecimen = specimenOutboundMapper.selectById(updateReqVO.getId());
-//
-//        // 判断状态是否为已出库(3)
-//        if (existingSpecimen == null || existingSpecimen.getStatus() != 3) {
-//            throw new IllegalStateException("只能更新状态为已出库的标本回库单");
-//        }
-//
-//        // 更新标本状态为已回库(4)
-//        existingSpecimen.setStatus(4); // 修改状态为已回库
-//
-//        // 设置回库时间为当前时间
-//        existingSpecimen.setReturnDate(LocalDateTime.now());
-//
-//        // 更新数据库
-//        specimenOutboundMapper.updateById(existingSpecimen);
+//        // 更新
+//        SpecimenOutboundDO updateObj = BeanUtils.toBean(updateReqVO, SpecimenOutboundDO.class);
+//        specimenOutboundMapper.updateById(updateObj);
 //    }
+    //测试成功
+    @Override
+    public void updateSpecimenOutbound(SpecimenOutboundReturnReqVO updateReqVO) {
+        // 校验存在
+        validateSpecimenOutboundExists(updateReqVO.getId());
+
+        // 获取当前标本的状态
+        SpecimenOutboundDO existingSpecimen = specimenOutboundMapper.selectById(updateReqVO.getId());
+
+        // 判断状态是否为已出库(3)
+        if (existingSpecimen == null || existingSpecimen.getStatus() != 3) {
+            throw new IllegalStateException("只能更新状态为已出库的标本回库单");
+        }
+
+        // 更新标本状态为已回库(4)
+        existingSpecimen.setStatus(4); // 修改状态为已回库
+
+        // 设置回库时间为当前时间
+        existingSpecimen.setReturnDate(LocalDateTime.now());
+
+        // 填写回库表单信息
+        existingSpecimen.setSpecimenCondition(updateReqVO.getSpecimenCondition());
+        existingSpecimen.setReturner(updateReqVO.getReturner());
+        existingSpecimen.setReceiver(updateReqVO.getReceiver());
+        existingSpecimen.setReceiver(updateReqVO.getRemarks());
+
+        // 更新数据库
+        specimenOutboundMapper.updateById(existingSpecimen);
+    }
 
     //待定
 //    @Override