BigLawn 3 ماه پیش
والد
کامیت
ba9fb30eae

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

@@ -59,38 +59,114 @@ public class MuseumFlowController {
     @PostMapping("/outbound")
     @Operation(summary = "添加出库单")
     public CommonResult<Boolean>  createMuseumFlowOutbound(@RequestBody MuseumFlowSaveVO saveVO) {
-        List<String> sample_ids = saveVO.getNumber();
+        String sample_id = saveVO.getNumber();
+        String number = saveVO.getNumber();
+        MuseumInfoDO result = museumFlowService.selectMuseumFlowSampleId(sample_id);
+        MuseumFlowDO event = museumFlowService.selectMuseumFlowNumber(number);
+//             Save中 1现为未出库或已回库,0为已出库
+//             State中 0现为未出库或已回库,1为已出库,2为审批中,3为审批通过,4为审批驳回
+        //TODO 你这里上面获取了result和event的值再判断他为空,怎么可能为空 ,所以如果为空的话,上面两句就直接报错了
+        if (result == null) {
+            return CommonResult.error(200, "标本不存在");
+        }
+        else{
+            int Save = result.getSave();
+            if (Save == 1) {
+                if (event != null) {
+                    int State = event.getState();
+                    if (State == 2) {
+                    return CommonResult.error(200, "标本正在审批");
+                    } else if (State == 3) {
+                        return CommonResult.error(200, "标本审批已通过");
+                    } else if (State == 4) {
+                        return CommonResult.error(200, "标本已审批已驳回");
+                    }
+                } else {
+                    String name = result.getChineseName();
+                    saveVO.setSampleName(name);
+                    museumFlowService.createMuseumFlow(saveVO);
+                    museumFlowService.updateMuseumFlowStateOutbound2(saveVO);
+                    return CommonResult.success(true);
+                }
+            } else {
+                return CommonResult.error(200, "标本不在库中");
+            }
+        }
+        return CommonResult.success(true);
+//        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) {
+//                errorList.add(sample_id+"标本不存在");
+//                return CommonResult.error(200, "标本不存在");
+//            }
+//            else {
+//                int save = result.getSave();
+//                String name = result.getChineseName();
+//                if (save == 0) {
+//                    errorList.add(sample_id+"标本不在库中");
+//                    return CommonResult.error(200, "标本不在库中");
+//                }else {
+//                    sample_names.add(name);
+//                }
+//            }
+//        }
+//        if (errorList.isEmpty()) {
+//            saveVO.setSampleName(sample_names);//设置标本名称
+//            museumFlowService.createMuseumFlow(saveVO);//创建表单
+//            museumFlowService.updateMuseumFlowStateOutbound2(saveVO);//更改标本状态为出库
+//
+////            museumFlowService.selectPageS(respVO);
+//            return CommonResult.success(true);
+//        }else {
+//            System.out.println(errorList);
+//            return CommonResult.error(200, "标本存在错误");
+//        }
+    }
+
+    @PostMapping("outboundEnd")
+    @Operation(summary = "出库完成功能")
+    public CommonResult<Boolean> createMuseumFlowOutboundEnd(@RequestBody MuseumFlowReviewVO reviewVO){
+        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+"标本不存在");
-                return CommonResult.error(200, "标本不存在");
-            }
-            else {
-                int save = result.getSave();
-                String name = result.getChineseName();
-                if (save == 0) {
-                    errorList.add(sample_id+"标本不在库中");
-                    return CommonResult.error(200, "标本不在库中");
-                }else {
+            MuseumFlowDO event = museumFlowService.selectMuseumFlowNumber(sample_id);
+            String name = result.getChineseName();
+            if (event != null) {
+                int State = event.getState();
+                if (State == 2) {
+                    errorList.add(sample_id+"标本正在审批");
+                }else if (State == 3) {
                     sample_names.add(name);
+                }else if (State == 4) {
+                    errorList.add(sample_id+"标本审批已驳回");
                 }
+            }else {
+                errorList.add(sample_id+"标本未申请出库");
             }
         }
         if (errorList.isEmpty()) {
-            saveVO.setSampleName(sample_names);//设置标本名称
-            museumFlowService.createMuseumFlow(saveVO);//创建表单
-            museumFlowService.updateMuseumFlowStateOutbound2(saveVO);//更改标本状态为出库
+            for (String sample_id : sample_ids) {
+                String number = sample_id;
+                museumFlowService.updateMuseumFlowStateOutbound1(number);
+            }
+            reviewVO.setSampleName(sample_names);//设置标本名称
+            museumFlowService.createMuseumFlowReview(reviewVO);//创建表单
+            museumFlowService.updateMuseumFlowStateOutbounds1(reviewVO);//更改标本状态为出库
 
 //            museumFlowService.selectPageS(respVO);
             return CommonResult.success(true);
         }else {
             System.out.println(errorList);
-            return CommonResult.error(200, "标本存在错误");
+            return CommonResult.error(200, errorList.toString());
         }
     }
 
@@ -110,22 +186,43 @@ public class MuseumFlowController {
     @Operation(summary = "通过的审批单")
     public CommonResult<Boolean> createMuseumFlowReview(@RequestBody MuseumFlowReviewVO reviewVO) {
         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为审批驳回
-        if (sample_ids == null){
-            return CommonResult.error(200, "所填标本并未申请出库");
+        for (String sample_id : sample_ids) {
+            MuseumInfoDO result = museumFlowService.selectMuseumFlowSampleId(sample_id);
+            MuseumFlowDO event = museumFlowService.selectMuseumFlowNumber(sample_id);
+            String name = result.getChineseName();
+                if (event != null) {
+                    int State = event.getState();
+                    if (State == 2) {
+                        sample_names.add(name);
+                    }else if (State == 3) {
+                        errorList.add(sample_id+"标本审批已通过");
+                    }else if (State == 4) {
+                        errorList.add(sample_id+"标本审批已驳回");
+                    }
+                }else {
+                    errorList.add(sample_id+"标本未申请出库");
+                }
         }
-        else {
-            MuseumFlowDO result = museumFlowService.selectMuseumFlowNumbers(sample_ids);
-            int state = result.getState();
-            if (state == 3) {
-                return CommonResult.error(200, "样品已审批通过");
-            }else if (state == 4) {
-                return CommonResult.error(200, "样品审批已被驳回");
-            }else {
-                museumFlowService.updateMuseumFlowStateReview3(reviewVO);
+        if (errorList.isEmpty()) {
+            for (String sample_id : sample_ids) {
+                String number = sample_id;
+                museumFlowService.updateMuseumFlowStateReview3(number);
             }
+            reviewVO.setSampleName(sample_names);//设置标本名称
+            museumFlowService.createMuseumFlowReview(reviewVO);//创建表单
+            museumFlowService.updateMuseumFlowStateReviews3(reviewVO);//更改标本状态为出库
+
+//            museumFlowService.selectPageS(respVO);
+            return CommonResult.success(true);
+        }else {
+            System.out.println(errorList);
+            return CommonResult.error(200, errorList.toString());
         }
+    }
 //        String sample_id = reviewVO.getNumber();
 //        String number = reviewVO.getNumber();
 //        MuseumInfoDO result = museumFlowService.selectMuseumFlowSampleId(sample_id);
@@ -156,8 +253,6 @@ public class MuseumFlowController {
 //        } else {
 //            return CommonResult.error(200, "样品已审批通过并出库");
 //        }
-        return CommonResult.success(true);
-    }
 
     @PostMapping("/reject")
     @Operation(summary = "新增驳回的审批单")
@@ -169,29 +264,61 @@ public class MuseumFlowController {
 ////             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 {
+            MuseumFlowDO event = museumFlowService.selectMuseumFlowNumber(sample_id);
+            String name = result.getChineseName();
+            if (event != null) {
+                int State = event.getState();
+                if (State == 2) {
                     sample_names.add(name);
+                }else if (State == 3) {
+                    errorList.add(sample_id+"标本审批已通过");
+                }else if (State == 4) {
+                    errorList.add(sample_id+"标本审批已驳回");
                 }
+            }else {
+                errorList.add(sample_id+"标本未申请出库");
             }
         }
         if (errorList.isEmpty()) {
+            for (String sample_id : sample_ids) {
+                String number = sample_id;
+                museumFlowService.updateMuseumFlowStateReview4(number);
+            }
             reviewVO.setSampleName(sample_names);//设置标本名称
             museumFlowService.createMuseumFlowReview(reviewVO);//创建表单
-            museumFlowService.updateMuseumFlowStateReview4(reviewVO);
+            museumFlowService.updateMuseumFlowStateReviews4(reviewVO);//更改标本状态为出库
+
 //            museumFlowService.selectPageS(respVO);
             return CommonResult.success(true);
         }else {
             System.out.println(errorList);
-            return CommonResult.error(200, "标本存在错误");
+            return CommonResult.error(200, errorList.toString());
         }
+//        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);
+//                }
+//            }
+//        }
+//        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);
@@ -256,5 +383,4 @@ public class MuseumFlowController {
         }
         return CommonResult.success(true);
     }
-
 }

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

@@ -16,10 +16,10 @@ public class MuseumFlowSaveVO {
     private Integer id;
 
     @Schema(description = "样品编号")
-    private List<String> number;
+    private String number;
 
     @Schema(description = "样品名称")
-    private List<String> sampleName;
+    private String sampleName;
 
     @Schema(description = "出库员")
     private String outboundPerson;

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

@@ -47,6 +47,18 @@ public interface MuseumFlowMapper extends BaseMapperX<MuseumFlowDO> {
     @Update("UPDATE museum_info SET save=1  WHERE sample_id = #{sample_id} AND deleted =0 ")
     void updateMuseumFlowSave1(MuseumFlowDO museumFlowDO);
 
+    /**将样品状态更新为1 已出库**/
+    @Update("UPDATE museum_info SET save=1  WHERE sample_id = #{sample_id} AND deleted =0 ")
+    void updateMuseumFlowStateOutbound1(String number);
+
+    /**将样品数组状态更新为1 已出库**/
+    @Update("UPDATE museum_info SET save=1  WHERE sample_id = #{sample_id} AND deleted =0 ")
+    void updateMuseumFlowStateOutbounds1(MuseumFlowDO MuseumFlowDO);
+
+
+    /**将样品状态更新为2 审批中**/
+    @Update("UPDATE museum_outbound SET state=2  WHERE number =#{number} AND deleted =0 ")
+    void updateMuseumFlowStateOutbound2(MuseumFlowDO MuseumFlowDO);
 
 //   default MuseumFlowDO selectPageMuseumFlowByPage(String number){return selectOne(MuseumFlowDO::getNumber,number);}
 /**分页**/
@@ -82,17 +94,22 @@ public interface MuseumFlowMapper extends BaseMapperX<MuseumFlowDO> {
 
 /**审批功能
 
-    /**将样品状态更新为2 审批中**/
-    @Update("UPDATE museum_outbound SET state=2  WHERE number =#{number} AND deleted =0 ")
-    void updateMuseumFlowStateReview2(MuseumFlowDO MuseumFlowDO);
 
     /**将样品状态更新为3 审批通过**/
     @Update("UPDATE museum_outbound SET state=3  WHERE number =#{number} AND deleted =0 ")
-    void updateMuseumFlowStateReview3(MuseumFlowDO MuseumFlowDO);
+    void updateMuseumFlowStateReview3(String number);
 
     /**将样品状态更新为4 审批驳回**/
     @Update("UPDATE museum_outbound SET state=4  WHERE number =#{number} AND deleted =0 ")
-    void updateMuseumFlowStateReview4(MuseumFlowDO MuseumFlowDO);
+    void updateMuseumFlowStateReview4(String number);
+
+    /**将样品数组状态更新为3 审批通过**/
+    @Update("UPDATE museum_outbound SET state=3  WHERE number =#{number} AND deleted =0 ")
+    void updateMuseumFlowStateReviews3(MuseumFlowDO MuseumFlowDO);
+
+    /**将样品数组状态更新为4 审批驳回**/
+    @Update("UPDATE museum_outbound SET state=4  WHERE number =#{number} AND deleted =0 ")
+    void updateMuseumFlowStateReviews4(MuseumFlowDO MuseumFlowDO);
 
 
 /**回库功能

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

@@ -1,6 +1,7 @@
 package cn.iocoder.yudao.module.museum.service.museumflow;
 
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
 import cn.iocoder.yudao.module.museum.controller.admin.museumflow.vo.MuseumFlowPageVO;
 import cn.iocoder.yudao.module.museum.controller.admin.museumflow.vo.MuseumFlowReturnVO;
 import cn.iocoder.yudao.module.museum.controller.admin.museumflow.vo.MuseumFlowReviewVO;
@@ -35,21 +36,27 @@ public interface MuseumFlowService {
 
 /**搜索功能
 
-    /**根据号在Flow库中进行查找*/
+    /**根据号在Flow库中进行查找*/
     MuseumFlowDO selectMuseumFlowNumber(String number);
 
     /**根据编号在总表中进行查找*/
     MuseumInfoDO selectMuseumFlowSampleId(String sample_id);
 
-    /**根据号数组在Flow库中进行查找*/
+    /**根据号数组在Flow库中进行查找*/
     MuseumFlowDO selectMuseumFlowNumbers(List<String> number);
 
 /**出库功能
 
-    /**将主库中样品状态设置为1*/
+    /**将主库中标本状态设置为1*/
     void updateMuseumFlowSave1(MuseumFlowSaveVO saveVO);
 
-    /**将样品状态设置为2 审批中*/
+    /**标本状态设置为1*/
+    void updateMuseumFlowStateOutbound1(String number);
+
+    /**标本状态设置为1*/
+    void updateMuseumFlowStateOutbounds1(MuseumFlowReviewVO reviewVO);
+
+    /**将标本状态设置为2 审批中*/
     void updateMuseumFlowStateOutbound2(MuseumFlowSaveVO saveVO);
 
 
@@ -67,21 +74,23 @@ public interface MuseumFlowService {
     /**新建审批单*/
     Integer createMuseumFlowReview(MuseumFlowReviewVO reviewVO);
 
-    /**将样品状态设置为2 审批中*/
-    void updateMuseumFlowStateReview2(MuseumFlowReviewVO reviewVO);
+    /**将标本状态设置为3 审批通过*/
+    void updateMuseumFlowStateReview3(String number);
 
-    /**将样品状态设置为2 审批通过*/
-    void updateMuseumFlowStateReview3(MuseumFlowReviewVO reviewVO);
+    /**将标本状态设置为4 审批驳回*/
+    void updateMuseumFlowStateReview4(String number);
 
-    /**将样品状态设置为2 审批驳回*/
-    void updateMuseumFlowStateReview4(MuseumFlowReviewVO reviewVO);
+    /**将标本数组状态设置为3 审批通过*/
+    void updateMuseumFlowStateReviews3(MuseumFlowReviewVO reviewVO);
 
+    /**将标本数组状态设置为4 审批驳回*/
+    void updateMuseumFlowStateReviews4(MuseumFlowReviewVO reviewVO);
 
 /**回库功能
 
     /**新建出库单**/
     Integer createMuseumFlowReturn(MuseumFlowReturnVO returnVO);
 
-    /**将主库中样品状态设置为1*/
+    /**将主库中标本状态设置为1*/
     void updateMuseumFlowSave0(MuseumFlowReturnVO returnVO);
 }

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

@@ -76,9 +76,21 @@ public class MuseumFlowServiceImpl implements MuseumFlowService {
         museumFlowMapper.updateMuseumFlowSave1(BeanUtils.toBean(saveVO,MuseumFlowDO.class));
     }
 
+    /**将样品状态设置为1 已出库*/
+    @Override
+    public void updateMuseumFlowStateOutbound1(String number){
+        museumFlowMapper.updateMuseumFlowStateOutbound1(number);
+    }
+
+    /**将样品组状态设置为1 已出库*/
+    @Override
+    public void updateMuseumFlowStateOutbounds1(MuseumFlowReviewVO reviewVO){
+        museumFlowMapper.updateMuseumFlowStateOutbounds1(BeanUtils.toBean(reviewVO,MuseumFlowDO.class));
+    }
+
     /**将样品状态设置为2 审批中*/
     public void updateMuseumFlowStateOutbound2(MuseumFlowSaveVO saveVO){
-        museumFlowMapper.updateMuseumFlowStateReview2(BeanUtils.toBean(saveVO,MuseumFlowDO.class));
+        museumFlowMapper.updateMuseumFlowStateOutbound2(BeanUtils.toBean(saveVO,MuseumFlowDO.class));
     }
 
 
@@ -108,20 +120,26 @@ public class MuseumFlowServiceImpl implements MuseumFlowService {
     return museumFlowMapper.insert(result);
     }
 
-    /**将样品状态设置为2 审批中*/
-    @Override
-    public void updateMuseumFlowStateReview2(MuseumFlowReviewVO reviewVO){
-        museumFlowMapper.updateMuseumFlowStateReview2(BeanUtils.toBean(reviewVO,MuseumFlowDO.class));
-    }
     /**将样品状态设置为3 审批通过*/
     @Override
-    public void updateMuseumFlowStateReview3(MuseumFlowReviewVO reviewVO){
-        museumFlowMapper.updateMuseumFlowStateReview3(BeanUtils.toBean(reviewVO,MuseumFlowDO.class));
+    public void updateMuseumFlowStateReview3(String number){
+        museumFlowMapper.updateMuseumFlowStateReview3(number);
     }
     /**将样品状态设置为4 审批驳回*/
     @Override
-    public void updateMuseumFlowStateReview4(MuseumFlowReviewVO reviewVO){
-        museumFlowMapper.updateMuseumFlowStateReview4(BeanUtils.toBean(reviewVO,MuseumFlowDO.class));
+    public void updateMuseumFlowStateReview4(String number) {
+        museumFlowMapper.updateMuseumFlowStateReview4(number);
+    }
+    /**将样品数组状态设置为3 审批通过*/
+    @Override
+    public void updateMuseumFlowStateReviews3(MuseumFlowReviewVO reviewVO) {
+        museumFlowMapper.updateMuseumFlowStateReviews3(BeanUtils.toBean(reviewVO,MuseumFlowDO.class));
+    }
+
+    /**将样品数组状态设置为4 审批驳回*/
+    @Override
+    public void updateMuseumFlowStateReviews4(MuseumFlowReviewVO reviewVO) {
+        museumFlowMapper.updateMuseumFlowStateReviews4(BeanUtils.toBean(reviewVO,MuseumFlowDO.class));
     }
 
 

+ 1 - 0
yudao-module-museum/yudao-module-museum-biz/src/main/java/cn/iocoder/yudao/module/museum/service/museumpicture/PictureGroupServiceImpl.java

@@ -41,4 +41,5 @@ public  class PictureGroupServiceImpl implements PictureGroupService {
     public PageResult<PictureGroupDO> getGroupPage(GroupPageReqVO pageVO) {
         return null;
     }
+
 }