Browse Source

审批程序

BigLawn 2 months ago
parent
commit
896da42a13
10 changed files with 180 additions and 42 deletions
  1. 42 12
      yudao-module-museum/yudao-module-museum-biz/src/main/java/cn/iocoder/yudao/module/museum/controller/admin/museumflow/MuseumFlowController.java
  2. 3 3
      yudao-module-museum/yudao-module-museum-biz/src/main/java/cn/iocoder/yudao/module/museum/controller/admin/museumflow/vo/MuseumFlowPageVO.java
  3. 3 3
      yudao-module-museum/yudao-module-museum-biz/src/main/java/cn/iocoder/yudao/module/museum/controller/admin/museumflow/vo/MuseumFlowRespVO.java
  4. 76 0
      yudao-module-museum/yudao-module-museum-biz/src/main/java/cn/iocoder/yudao/module/museum/controller/admin/museumflow/vo/MuseumFlowReturnVO.java
  5. 3 3
      yudao-module-museum/yudao-module-museum-biz/src/main/java/cn/iocoder/yudao/module/museum/controller/admin/museumflow/vo/MuseumFlowReviewVO.java
  6. 3 3
      yudao-module-museum/yudao-module-museum-biz/src/main/java/cn/iocoder/yudao/module/museum/controller/admin/museumflow/vo/MuseumFlowSaveVO.java
  7. 3 3
      yudao-module-museum/yudao-module-museum-biz/src/main/java/cn/iocoder/yudao/module/museum/dal/database/museumflow/MuseumFlowDO.java
  8. 15 10
      yudao-module-museum/yudao-module-museum-biz/src/main/java/cn/iocoder/yudao/module/museum/dal/mysql/museumflow/MuseumFlowMapper.java
  9. 12 2
      yudao-module-museum/yudao-module-museum-biz/src/main/java/cn/iocoder/yudao/module/museum/service/museumflow/MuseumFlowService.java
  10. 20 3
      yudao-module-museum/yudao-module-museum-biz/src/main/java/cn/iocoder/yudao/module/museum/service/museumflow/MuseumFlowServiceImpl.java

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

@@ -1,13 +1,9 @@
 package cn.iocoder.yudao.module.museum.controller.admin.museumflow;
 
-import cn.hutool.poi.excel.cell.CellSetter;
 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
 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.MuseumFlowRespVO;
-import cn.iocoder.yudao.module.museum.controller.admin.museumflow.vo.MuseumFlowReviewVO;
-import cn.iocoder.yudao.module.museum.controller.admin.museumflow.vo.MuseumFlowSaveVO;
+import cn.iocoder.yudao.module.museum.controller.admin.museumflow.vo.*;
 import cn.iocoder.yudao.module.museum.dal.database.museumflow.MuseumFlowDO;
 import cn.iocoder.yudao.module.museum.dal.database.museuminfo.MuseumInfoDO;
 import cn.iocoder.yudao.module.museum.service.museumflow.MuseumFlowService;
@@ -17,7 +13,6 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import javax.validation.Valid;
-import java.util.Objects;
 
 @Tag(name = "博物馆-出回库管理")
 @RestController
@@ -57,7 +52,7 @@ public class MuseumFlowController {
 
     @PostMapping("/Outbound")
     @Operation(summary = "添加出库单")
-    public CommonResult<Boolean>  createMuseumFlowState(@RequestBody MuseumFlowSaveVO saveVO){
+    public CommonResult<Boolean>  createMuseumFlowOutbound(@RequestBody MuseumFlowSaveVO saveVO){
         String sample_id=saveVO.getNumber();
         String number=saveVO.getNumber();
         MuseumInfoDO result = museumFlowService.selectMuseumFlowSampleId(sample_id);
@@ -113,7 +108,7 @@ public class MuseumFlowController {
         } else {
             return CommonResult.error(200, "样品已审批通过并出库");
         }
-        return null;
+        return CommonResult.success(true);
     }
 
     @PostMapping("/reject")
@@ -132,9 +127,9 @@ public class MuseumFlowController {
         } else if (event == null) {
             return CommonResult.error(200, "样品在出入库的库中不存在");
         }
-        else if (Save == 0) {
-            return CommonResult.error(200, "样品并未申请出库");
-        } else if (Save == 1) {
+        else if (Save == 1) {
+            return CommonResult.error(200, "样品出库");
+        } else if (Save == 0) {
             if (State == 2) {
                 museumFlowService.createMuseumFlowReview(reviewVO);
                 museumFlowService.updateMuseumFlowStateReview4(reviewVO);
@@ -147,6 +142,41 @@ public class MuseumFlowController {
         } else {
             return CommonResult.error(200, "样品已审批通过并出库");
         }
-        return null;
+        return CommonResult.success(true);
+    }
+
+    @PostMapping("/return")
+    @Operation(summary = "新建回库单")
+    public CommonResult<Boolean> createMuseumFlowReturn(@RequestBody MuseumFlowReturnVO returnVO) {
+        String sample_id = returnVO.getNumber();
+        String number = returnVO.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, "样品在出入库的库中不存在");
+        }
+         if (Save == 1) {
+            return CommonResult.error(200, "样品已出库");
+        } else if (Save == 0) {
+            if (State == 2) {
+                museumFlowService.createMuseumFlowReturn(returnVO);
+                museumFlowService.updateMuseumFlowSave0(returnVO);
+                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);
     }
+
 }

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

@@ -10,7 +10,7 @@ import lombok.NoArgsConstructor;
 
 import java.time.LocalDateTime;
 
-@Schema(description ="博物馆-申请表分页")
+@Schema(description ="博物馆-申请表分页 page VO")
 @Data
 @NoArgsConstructor
 @AllArgsConstructor
@@ -24,10 +24,10 @@ public class MuseumFlowPageVO extends PageParam {
     @Schema(description = "样品编号")
     private String number;
 
-    @Schema(description = "尺寸")
+    @Schema(description = "样品名称")
     private String sampleName;
 
-    @Schema(description = "样品名称")
+    @Schema(description = "出库员")
     private String outboundPerson;
 
     @Schema(description = "出库时间")

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

@@ -17,10 +17,10 @@ public class MuseumFlowRespVO {
     @Schema(description = "样品编号")
     private String number;
 
-    @Schema(description = "尺寸")
+    @Schema(description = "样品名称")
     private String sampleName;
 
-    @Schema(description = "样品名称")
+    @Schema(description = "出库员")
     private String outboundPerson;
 
     @Schema(description = "出库时间")
@@ -51,7 +51,7 @@ public class MuseumFlowRespVO {
     private Integer stateReview;
 
     @Schema(description = "审批时间")
-    private LocalDateTime reviewTime;
+    private LocalDateTime[] reviewTime;
 
     @Schema(description = "拒绝原因")
     private String rejectSeason;

+ 76 - 0
yudao-module-museum/yudao-module-museum-biz/src/main/java/cn/iocoder/yudao/module/museum/controller/admin/museumflow/vo/MuseumFlowReturnVO.java

@@ -0,0 +1,76 @@
+package cn.iocoder.yudao.module.museum.controller.admin.museumflow.vo;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Schema(description = "博物馆-出库表信息 return VO")
+@Data
+public class MuseumFlowReturnVO {
+
+    @TableId
+    @Schema(description = "样品ID")
+    private Integer id;
+
+    @Schema(description = "样品编号")
+    private String number;
+
+    @Schema(description = "样品名称")
+    private String sampleName;
+
+    @Schema(description = "出库员")
+    private String outboundPerson;
+
+    @Schema(description = "出库时间")
+    private LocalDateTime outboundTime;
+
+    @Schema(description = "目的")
+    private String purpose;
+
+    @Schema(description = "出库附件")
+    private String annexOut;
+
+    @Schema(description = "申请人")
+    private String applyPerson;
+
+    @Schema(description = "申请单位")
+    private String applyUnit;
+
+    @Schema(description = "申请时间")
+    private LocalDateTime applyTime;
+
+    @Schema(description = "预计退还时间")
+    private String returnExpect;
+
+    @Schema(description = "审批人")
+    private String reviewPerson;
+
+    @Schema(description = "审批状态")
+    private Integer stateReview;
+
+    @Schema(description = "审批时间")
+    private LocalDateTime[] reviewTime;
+
+    @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 - 3
yudao-module-museum/yudao-module-museum-biz/src/main/java/cn/iocoder/yudao/module/museum/controller/admin/museumflow/vo/MuseumFlowReviewVO.java

@@ -17,14 +17,14 @@ public class MuseumFlowReviewVO {
     @Schema(description = "样品编号")
     private String number;
 
-    @Schema(description = "尺寸")
+    @Schema(description = "样品名称")
     private String sampleName;
 
-    @Schema(description = "样品名称")
+    @Schema(description = "出库员")
     private String outboundPerson;
 
     @Schema(description = "出库时间")
-    private LocalDateTime outboundTime;
+    private LocalDateTime[] outboundTime;
 
     @Schema(description = "目的")
     private String purpose;

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

@@ -17,14 +17,14 @@ public class MuseumFlowSaveVO {
     @Schema(description = "样品编号")
     private String number;
 
-    @Schema(description = "尺寸")
+    @Schema(description = "样品名称")
     private String sampleName;
 
-    @Schema(description = "样品名称")
+    @Schema(description = "出库员")
     private String outboundPerson;
 
     @Schema(description = "出库时间")
-    private LocalDateTime outboundTime;
+    private LocalDateTime[] outboundTime;
 
     @Schema(description = "目的")
     private String purpose;

+ 3 - 3
yudao-module-museum/yudao-module-museum-biz/src/main/java/cn/iocoder/yudao/module/museum/dal/database/museumflow/MuseumFlowDO.java

@@ -28,14 +28,14 @@ public class MuseumFlowDO extends BaseDO {
     @Schema(description = "样品编号")
     private String number;
 
-    @Schema(description = "尺寸")
+    @Schema(description = "样品名称")
     private String sampleName;
 
-    @Schema(description = "样品名称")
+    @Schema(description = "出库员")
     private String outboundPerson;
 
     @Schema(description = "出库时间")
-    private LocalDateTime outboundTime;
+    private LocalDateTime[] outboundTime;
 
     @Schema(description = "目的")
     private String purpose;

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

@@ -6,13 +6,11 @@ import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
 import cn.iocoder.yudao.module.museum.controller.admin.museumflow.vo.MuseumFlowPageVO;
 import cn.iocoder.yudao.module.museum.dal.database.museumflow.MuseumFlowDO;
 import cn.iocoder.yudao.module.museum.dal.database.museuminfo.MuseumInfoDO;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 import org.apache.ibatis.annotations.Update;
 
-import java.util.Collection;
 import java.util.List;
 
 @Mapper
@@ -31,19 +29,19 @@ public interface MuseumFlowMapper extends BaseMapperX<MuseumFlowDO> {
 /**搜索功能
 
     /**根据编号在总表中进行查找**/
-    @Select("SELECT * FROM museum_info WHERE sample_id = #{sample_id} AND deleted =0 ")
+    @Select("SELECT * FROM museum_info WHERE sample_id = #{sample_id} AND deleted =0  AND deleted =0 ")
     MuseumInfoDO selectMuseumFlowBySampleId(@Param("sample_id") String sample_id);
 
     /**根据编号在Flow库中进行查找*/
-    @Select("SELECT * FROM museum_outbound WHERE number = #{id} AND deleted = 0")
+    @Select("SELECT * FROM museum_outbound WHERE number = #{id} AND deleted = 0 AND deleted =0 ")
     MuseumFlowDO selectMuseumFlowByNumber(@Param("number")String number);
 
 
 /**出库功能
 
-    /**将主库样品状态更新为1**/
-    @Update("UPDATE museum_info SET save=1  WHERE sample_id = #{sample_id}")
-    void updateMuseumFlowSave(MuseumFlowDO museumFlowDO);
+    /**将主库样品状态更新为1 已出库**/
+    @Update("UPDATE museum_info SET save=1  WHERE sample_id = #{sample_id} AND deleted =0 ")
+    void updateMuseumFlowSave1(MuseumFlowDO museumFlowDO);
 
 
 //   default MuseumFlowDO selectPageMuseumFlowByPage(String number){return selectOne(MuseumFlowDO::getNumber,number);}
@@ -78,14 +76,21 @@ public interface MuseumFlowMapper extends BaseMapperX<MuseumFlowDO> {
 /**审批功能
 
     /**将样品状态更新为2 审批中**/
-    @Update("UPDATE museum_outbound SET state=2  WHERE number =#{number}")
+    @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}")
+    @Update("UPDATE museum_outbound SET state=3  WHERE number =#{number} AND deleted =0 ")
     void updateMuseumFlowStateReview3(MuseumFlowDO MuseumFlowDO);
 
     /**将样品状态更新为4 审批驳回**/
-    @Update("UPDATE museum_outbound SET state=4  WHERE number =#{number}")
+    @Update("UPDATE museum_outbound SET state=4  WHERE number =#{number} AND deleted =0 ")
     void updateMuseumFlowStateReview4(MuseumFlowDO MuseumFlowDO);
+
+
+/**回库功能
+
+    /**将总库中样品状态更新为0 未出库或已回库**/
+    @Update("UPDATE museum_outbound SET save=0  WHERE number =#{number} AND deleted =0 ")
+    void updateMuseumFlowSave0(MuseumFlowDO MuseumFlowDO);
 }

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

@@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.museum.service.museumflow;
 
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 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;
 import cn.iocoder.yudao.module.museum.controller.admin.museumflow.vo.MuseumFlowSaveVO;
 import cn.iocoder.yudao.module.museum.dal.database.museumflow.MuseumFlowDO;
@@ -43,8 +44,8 @@ public interface MuseumFlowService {
 
 /**出库功能
 
-    /**将样品状态设置为1*/
-    void updateMuseumFlowSave(MuseumFlowSaveVO saveVO);
+    /**将主库中样品状态设置为1*/
+    void updateMuseumFlowSave1(MuseumFlowSaveVO saveVO);
 
     /**将样品状态设置为2 审批中*/
     void updateMuseumFlowStateOutbound2(MuseumFlowSaveVO saveVO);
@@ -72,4 +73,13 @@ public interface MuseumFlowService {
 
     /**将样品状态设置为2 审批驳回*/
     void updateMuseumFlowStateReview4(MuseumFlowReviewVO reviewVO);
+
+
+/**回库功能
+
+    /**新建出库单**/
+    Integer createMuseumFlowReturn(MuseumFlowReturnVO returnVO);
+
+    /**将主库中样品状态设置为1*/
+    void updateMuseumFlowSave0(MuseumFlowReturnVO returnVO);
 }

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

@@ -3,6 +3,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;
 import cn.iocoder.yudao.module.museum.controller.admin.museumflow.vo.MuseumFlowSaveVO;
 import cn.iocoder.yudao.module.museum.dal.database.museumflow.MuseumFlowDO;
@@ -56,10 +57,10 @@ public class MuseumFlowServiceImpl implements MuseumFlowService {
 
 /**出库功能
 
-    /**将样品状态设置为1*/
+    /**将主库中样品状态设置为1*/
     @Override
-    public void updateMuseumFlowSave(MuseumFlowSaveVO saveVO){
-        museumFlowMapper.updateMuseumFlowSave(BeanUtils.toBean(saveVO,MuseumFlowDO.class));
+    public void updateMuseumFlowSave1(MuseumFlowSaveVO saveVO){
+        museumFlowMapper.updateMuseumFlowSave1(BeanUtils.toBean(saveVO,MuseumFlowDO.class));
     }
 
     /**将样品状态设置为2 审批中*/
@@ -109,4 +110,20 @@ public class MuseumFlowServiceImpl implements MuseumFlowService {
     public void updateMuseumFlowStateReview4(MuseumFlowReviewVO reviewVO){
         museumFlowMapper.updateMuseumFlowStateReview4(BeanUtils.toBean(reviewVO,MuseumFlowDO.class));
     }
+
+
+/**出库功能
+
+    /**新建出库单**/
+    @Override
+    public Integer createMuseumFlowReturn(MuseumFlowReturnVO returnVO){
+        MuseumFlowDO result = BeanUtils.toBean(returnVO, MuseumFlowDO.class);
+        return museumFlowMapper.insert(result);
+    }
+
+    /**将主库中样品状态设置为1*/
+    @Override
+    public void updateMuseumFlowSave0(MuseumFlowReturnVO returnVO){
+        museumFlowMapper.updateMuseumFlowSave0(BeanUtils.toBean(returnVO,MuseumFlowDO.class));
+    }
  }