BigLawn пре 1 месец
родитељ
комит
0fc893f908

+ 101 - 53
yudao-module-museum/yudao-module-museum-biz/src/main/java/cn/iocoder/yudao/module/museum/controller/admin/museumflow/MuseumFlowController.java

@@ -62,6 +62,8 @@ public class MuseumFlowController {
         List<String> sample_ids = saveVO.getNumber();
         List<String> errorList = new ArrayList<>();
         List<String> sample_names = new ArrayList<>();
+////             Save中 1现为未出库或已回库,0为已出库
+////             State中 0现为未出库或已回库,1为已出库,2为审批中,3为审批通过,4为审批驳回
         for (String sample_id : sample_ids) {
             MuseumInfoDO result = museumFlowService.selectMuseumFlowSampleId(sample_id);
             if (result == null) {
@@ -82,7 +84,6 @@ public class MuseumFlowController {
             museumFlowService.createMuseumFlow(saveVO);//创建表单
             museumFlowService.updateMuseumFlowStateOutbound2(saveVO);//更改标本状态为出库
 
-
 //            museumFlowService.selectPageS(respVO);
             return CommonResult.success(true);
         }else {
@@ -106,71 +107,118 @@ public class MuseumFlowController {
     @PostMapping("/review")
     @Operation(summary = "通过的审批单")
     public CommonResult<Boolean> createMuseumFlowReview(@RequestBody MuseumFlowReviewVO reviewVO) {
-        String sample_id = reviewVO.getNumber();
-        String number = reviewVO.getNumber();
-        MuseumInfoDO result = museumFlowService.selectMuseumFlowSampleId(sample_id);
-        MuseumFlowDO event = museumFlowService.selectMuseumFlowNumber(number);
-
-        int Save = result.getSave();
-        int State = event.getState();
-//             Save中 0现为未出库或已回库,1为已出库
-//             State中 0现为未出库或已回库,1为已出库,2为审批中,3为审批通过,4为审批驳回
-        //TODO 你这里上面获取了result和event的值再判断他为空,怎么可能为空 ,所以如果为空的话,上面两句就直接报错了
-        if (result == null) {
-            return CommonResult.error(200, "样品不存在");
-        } else if (event == null) {
-            return CommonResult.error(200, "样品在出入库的库中不存在");
+        List<String> sample_ids = reviewVO.getNumber();
+////             Save中 1现为未出库或已回库,0为已出库
+////             State中 0现为未出库或已回库,1为已出库,2为审批中,3为审批通过,4为审批驳回
+        if (sample_ids == null){
+            return CommonResult.error(200, "所填标本并未申请出库");
         }
-        else if (Save == 0) {
-            return CommonResult.error(200, "样品并未申请出库");
-        } else if (Save == 1) {
-            if (State == 2) {
-                museumFlowService.createMuseumFlowReview(reviewVO);
-                museumFlowService.updateMuseumFlowStateReview3(reviewVO);
-                return CommonResult.success(true);
-            } else if (State == 3) {
+        else {
+            MuseumFlowDO result = museumFlowService.selectMuseumFlowNumbers(sample_ids);
+            int state = result.getState();
+            if (state == 3) {
                 return CommonResult.error(200, "样品已审批通过");
-            } else if (State == 4) {
+            }else if (state == 4) {
                 return CommonResult.error(200, "样品审批已被驳回");
+            }else {
+                museumFlowService.updateMuseumFlowStateReview3(reviewVO);
             }
-        } else {
-            return CommonResult.error(200, "样品已审批通过并出库");
         }
+//        String sample_id = reviewVO.getNumber();
+//        String number = reviewVO.getNumber();
+//        MuseumInfoDO result = museumFlowService.selectMuseumFlowSampleId(sample_id);
+//        MuseumFlowDO event = museumFlowService.selectMuseumFlowNumber(number);
+//
+//        int Save = result.getSave();
+//        int State = event.getState();
+////             Save中 0现为未出库或已回库,1为已出库
+////             State中 0现为未出库或已回库,1为已出库,2为审批中,3为审批通过,4为审批驳回
+//        //TODO 你这里上面获取了result和event的值再判断他为空,怎么可能为空 ,所以如果为空的话,上面两句就直接报错了
+//        if (result == null) {
+//            return CommonResult.error(200, "样品不存在");
+//        } else if (event == null) {
+//            return CommonResult.error(200, "样品在出入库的库中不存在");
+//        }
+//        else if (Save == 0) {
+//            return CommonResult.error(200, "样品并未申请出库");
+//        } else if (Save == 1) {
+//            if (State == 2) {
+//                museumFlowService.createMuseumFlowReview(reviewVO);
+//                museumFlowService.updateMuseumFlowStateReview3(reviewVO);
+//                return CommonResult.success(true);
+//            } else if (State == 3) {
+//                return CommonResult.error(200, "样品已审批通过");
+//            } else if (State == 4) {
+//                return CommonResult.error(200, "样品审批已被驳回");
+//            }
+//        } else {
+//            return CommonResult.error(200, "样品已审批通过并出库");
+//        }
         return CommonResult.success(true);
     }
 
     @PostMapping("/reject")
     @Operation(summary = "新增驳回的审批单")
     public CommonResult<Boolean> createMuseumFlowReject(@RequestBody MuseumFlowReviewVO reviewVO) {
-        String sample_id = reviewVO.getNumber();
-        String number = reviewVO.getNumber();
-        MuseumInfoDO result = museumFlowService.selectMuseumFlowSampleId(sample_id);
-        MuseumFlowDO event = museumFlowService.selectMuseumFlowNumber(number);
-        int Save = result.getSave();
-        int State = event.getState();
-//             Save中 0现为未出库或已回库,1为已出库
-//             State中 0现为未出库或已回库,1为已出库,2为审批中,3为审批通过,4为审批驳回
-        if (result == null) {
-            return CommonResult.error(200, "样品不存在");
-        } else if (event == null) {
-            return CommonResult.error(200, "样品在出入库的库中不存在");
-        }
-        else if (Save == 1) {
-            return CommonResult.error(200, "样品已出库");
-        } else if (Save == 0) {
-            if (State == 2) {
-                museumFlowService.createMuseumFlowReview(reviewVO);
-                museumFlowService.updateMuseumFlowStateReview4(reviewVO);
-                return CommonResult.success(true);
-            } else if (State == 3) {
-                return CommonResult.error(200, "样品已审批通过");
-            } else if (State == 4) {
-                return CommonResult.error(200, "样品审批已被驳回");
+        List<String> sample_ids = reviewVO.getNumber();
+        List<String> errorList = new ArrayList<>();
+        List<String> sample_names = new ArrayList<>();
+////             Save中 1现为未出库或已回库,0为已出库
+////             State中 0现为未出库或已回库,1为已出库,2为审批中,3为审批通过,4为审批驳回
+        for (String sample_id : sample_ids) {
+            MuseumInfoDO result = museumFlowService.selectMuseumFlowSampleId(sample_id);
+            if (result == null) {
+                errorList.add(sample_id+"标本不存在");
+            }
+            else {
+                int save = result.getSave();
+                String name = result.getChineseName();
+                if (save == 0) {
+                    errorList.add(sample_id+"标本不在库中");
+                }else {
+                    sample_names.add(name);
+                }
             }
-        } else {
-            return CommonResult.error(200, "样品已审批通过并出库");
         }
-        return CommonResult.success(true);
+        if (errorList.isEmpty()) {
+            reviewVO.setSampleName(sample_names);//设置标本名称
+            museumFlowService.createMuseumFlowReview(reviewVO);//创建表单
+            museumFlowService.updateMuseumFlowStateReview4(reviewVO);
+//            museumFlowService.selectPageS(respVO);
+            return CommonResult.success(true);
+        }else {
+            System.out.println(errorList);
+            return CommonResult.error(200, "标本存在错误");
+        }
+//        String sample_id = reviewVO.getNumber();
+//        String number = reviewVO.getNumber();
+//        MuseumInfoDO result = museumFlowService.selectMuseumFlowSampleId(sample_id);
+//        MuseumFlowDO event = museumFlowService.selectMuseumFlowNumber(number);
+//        int Save = result.getSave();
+//        int State = event.getState();
+////             Save中 0现为未出库或已回库,1为已出库
+////             State中 0现为未出库或已回库,1为已出库,2为审批中,3为审批通过,4为审批驳回
+//        if (result == null) {
+//            return CommonResult.error(200, "样品不存在");
+//        } else if (event == null) {
+//            return CommonResult.error(200, "样品在出入库的库中不存在");
+//        }
+//        else if (Save == 1) {
+//            return CommonResult.error(200, "样品已出库");
+//        } else if (Save == 0) {
+//            if (State == 2) {
+//                museumFlowService.createMuseumFlowReview(reviewVO);
+//                museumFlowService.updateMuseumFlowStateReview4(reviewVO);
+//                return CommonResult.success(true);
+//            } else if (State == 3) {
+//                return CommonResult.error(200, "样品已审批通过");
+//            } else if (State == 4) {
+//                return CommonResult.error(200, "样品审批已被驳回");
+//            }
+//        } else {
+//            return CommonResult.error(200, "样品已审批通过并出库");
+//        }
+//        return CommonResult.success(true);
     }
 
     @PostMapping("/return")

+ 2 - 1
yudao-module-museum/yudao-module-museum-biz/src/main/java/cn/iocoder/yudao/module/museum/controller/admin/museumflow/vo/MuseumFlowPageVO.java

@@ -9,6 +9,7 @@ import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
 
 import java.time.LocalDateTime;
+import java.util.List;
 
 @Schema(description ="博物馆-申请表分页 page VO")
 @Data
@@ -21,7 +22,7 @@ public class MuseumFlowPageVO extends PageParam {
     private Integer id;
 
     @Schema(description = "样品编号")
-    private String number;
+    private List<String> number;
 
     @Schema(description = "样品名称")
     private String sampleName;

+ 16 - 3
yudao-module-museum/yudao-module-museum-biz/src/main/java/cn/iocoder/yudao/module/museum/controller/admin/museumflow/vo/MuseumFlowReviewVO.java

@@ -5,20 +5,20 @@ import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
 import java.time.LocalDateTime;
+import java.util.List;
 
 @Schema(description = "博物馆-审批表信息 review VO")
 @Data
 public class MuseumFlowReviewVO {
 
-    @TableId
     @Schema(description = "样品ID")
     private Integer id;
 
     @Schema(description = "样品编号")
-    private String number;
+    private List<String> number;
 
     @Schema(description = "样品名称")
-    private String sampleName;
+    private List<String> sampleName;
 
     @Schema(description = "出库员")
     private String outboundPerson;
@@ -53,9 +53,22 @@ public class MuseumFlowReviewVO {
     @Schema(description = "拒绝原因")
     private String rejectSeason;
 
+    @Schema(description = "退还员")
+    private String returnPerson;
+
+    @Schema(description = "退还时间")
+    private LocalDateTime returnTime;
+
+    @Schema(description = "点收人")
+    private String receivePerson;
+
+    @Schema(description = "回库附件")
+    private String annexReturn;
+
     @Schema(description = "备注")
     private String nots;
 
     @Schema(description = "状态")
     private Integer state;
+
 }

+ 3 - 0
yudao-module-museum/yudao-module-museum-biz/src/main/java/cn/iocoder/yudao/module/museum/dal/mysql/museumflow/MuseumFlowMapper.java

@@ -37,6 +37,9 @@ public interface MuseumFlowMapper extends BaseMapperX<MuseumFlowDO> {
     @Select("SELECT * FROM museum_outbound WHERE number = #{number} AND deleted = 0 ")
     MuseumFlowDO selectMuseumFlowByNumber(@Param("number")String number);
 
+    /**根据编号数组在Flow库中进行查找*/
+    @Select("SELECT * FROM museum_outbound WHERE number = #{number} AND deleted = 0 ")
+    MuseumFlowDO selectMuseumFlowByNumbers(@Param("number")List<String> number);
 
 /**出库功能
 

+ 4 - 0
yudao-module-museum/yudao-module-museum-biz/src/main/java/cn/iocoder/yudao/module/museum/service/museumflow/MuseumFlowService.java

@@ -8,6 +8,8 @@ import cn.iocoder.yudao.module.museum.controller.admin.museumflow.vo.MuseumFlowS
 import cn.iocoder.yudao.module.museum.dal.database.museumflow.MuseumFlowDO;
 import cn.iocoder.yudao.module.museum.dal.database.museuminfo.MuseumInfoDO;
 
+import java.util.List;
+
 public interface MuseumFlowService {
     /**
      * 创建标本
@@ -39,6 +41,8 @@ public interface MuseumFlowService {
     /**根据编号在总表中进行查找*/
     MuseumInfoDO selectMuseumFlowSampleId(String sample_id);
 
+    /**根据标号数组在Flow库中进行查找*/
+    MuseumFlowDO selectMuseumFlowNumbers(List<String> number);
 
 /**出库功能
 

+ 6 - 0
yudao-module-museum/yudao-module-museum-biz/src/main/java/cn/iocoder/yudao/module/museum/service/museumflow/MuseumFlowServiceImpl.java

@@ -13,6 +13,7 @@ import cn.iocoder.yudao.module.museum.dal.mysql.museumflow.MuseumFlowMapper;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.List;
 
 @Service
 public class MuseumFlowServiceImpl implements MuseumFlowService {
@@ -55,6 +56,11 @@ public class MuseumFlowServiceImpl implements MuseumFlowService {
         return museumFlowMapper.selectMuseumFlowByNumber(number);
     }
 
+    /**根据编号数组在Flow库中进行查找**/
+    public MuseumFlowDO selectMuseumFlowNumbers(List<String> number){
+        return museumFlowMapper.selectMuseumFlowByNumbers(number);
+    }
+
 /**出库功能
 
     /**创建出库单*/