Browse Source

回库程序

BigLawn 2 weeks ago
parent
commit
b48bdfd31c

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

@@ -99,7 +99,6 @@ public class MuseumFlowController {
         Long UserId = getLoginUserId();
         if (permissionService.hasAnyRoles(UserId, "operate")) {//获取操作者id并对其权限做判断,不为operate则结束进程
             List<String> errorList = new ArrayList<>();
-//            errorList.add(museumFlowService.isMuseumFlowIn(saveVO));
 //      store中 1现为未出库或已回库,0为已出库
 //      State中 0在库,1为已出库,2为审批中,3为审批通过,4为审批驳回
             for (String number : saveVO.getNumber()) {
@@ -107,21 +106,24 @@ public class MuseumFlowController {
                 //根据标本编号查询标本在标本库中是否存在
                 if (result == null) {
                     return CommonResult.error(2, number + "标本不存在");
-                } else {//若存在则检查标本馆藏状态
-                    if (result.getStore() == 0) {//出库时返回已出库的信息
-                        return CommonResult.error(2, number + "标本已出库");
-                    } else if (result.getStore() == 1) {//在库时对该标本是否有过出库申请记录进行查询
-                        List<MuseumFlowDO> event = museumFlowService.selectMuseumFlowByNumbersLike(number);
-                        //根据标本编号在出回库中进行包含查询
-                        if (event != null) {
-                            errorList.addAll(museumFlowService.isMuseumFlowStateOutbound0(event, number));
-                            //若该标本有过出库申请记录且未回库,则返回相关错误信息到errorList中
-                        }
-                    } else {
-                        return CommonResult.error(2, number + "标本状态异常");//标本馆藏状态为null或不为所需求的0和1
+                }
+                //若存在则检查标本馆藏状态
+                if (result.getStore() == 0) {
+                    //出库时返回已出库的信息
+                    return CommonResult.error(2, number + "标本已出库");
+                } else if (result.getStore() == 1) {
+                    //在库时对该标本是否有过出库申请记录进行查询
+                    List<MuseumFlowDO> event = museumFlowService.selectMuseumFlowByNumbersLike(number);
+                    //根据标本编号在出回库中进行包含查询
+                    if (event != null) {
+                        //若该标本有过出库申请记录且未回库,则返回相关错误信息到errorList中
+                        errorList.addAll(museumFlowService.isMuseumFlowStateOutbound0(event, number));
                     }
+                } else {
+                    return CommonResult.error(2, number + "标本状态异常");//标本馆藏状态为null或不为所需求的0和1
                 }
             }
+
             if (errorList.isEmpty()) {
                 museumFlowService.createMuseumFlow(saveVO);//根据所传信息创建出库单
                 return CommonResult.success(true);
@@ -206,7 +208,7 @@ public class MuseumFlowController {
             if (event != null) {
                 int State = event.getState();
                 if (State == 1) {
-                     museumFlowService.updateMuseumFlowSave1(event.getNumber());
+                    museumFlowService.updateMuseumFlowSave1(event.getNumber());
                     museumFlowService.updateMuseumFlowStateReturn(returnVO);
                     return CommonResult.success(true);
                 } else {
@@ -221,16 +223,16 @@ public class MuseumFlowController {
     }
 
     @GetMapping("/export")
-    @Operation(summary = "导出用户")
+    @Operation(summary = "导出表单")
 //    @PreAuthorize("@ss.hasPermission('system:user:export')")
     @ApiAccessLog(operateType = EXPORT)
     public void exportUserList(@Validated MuseumFlowPageVO pageVO,
                                HttpServletResponse response) throws IOException {
         pageVO.setPageSize(PageParam.PAGE_SIZE_NONE);
-        List<MuseumFlowPageVO> list = museumFlowService.selectPageMuseumFlowFormIntel(pageVO).getList();
+        List<MuseumFlowExcelVO> list =BeanUtils.toBean(museumFlowService.selectPageMuseumFlowFormIntel(pageVO).getList(), MuseumFlowExcelVO.class);
         // 输出 Excel
-        ExcelUtils.write(response, "用户数据.xls", "数据", MuseumFlowPageVO.class,
-                BeanUtils.toBean(list, MuseumFlowPageVO.class));
+        ExcelUtils.write(response, "用户数据.xls", "数据", MuseumFlowExcelVO.class,list);
+
     }
 
     //TODO 有空可以研究一下Excel导出

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

@@ -0,0 +1,60 @@
+package cn.iocoder.yudao.module.museum.controller.admin.museumflow.vo;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.time.LocalDateTime;
+
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+@Accessors(chain = false) // 设置 chain = false,避免用户导入有问题
+public class MuseumFlowExcelVO {
+
+    @ExcelProperty("id")
+    @Schema(description = "id")
+    private String id;
+
+    @ExcelProperty("标本编号")
+    @Schema(description = "标本编号")
+    private String number;
+
+    @ExcelProperty("样品名称")
+    @Schema(description = "样品名称")
+    private String sampleName;
+
+    @ExcelProperty("出库员")
+    @Schema(description = "出库员")
+    private String outboundPerson;
+
+    @ExcelProperty("目的")
+    @Schema(description = "目的")
+    private String purpose;
+
+    @ExcelProperty("申请人")
+    @Schema(description = "申请人")
+    private String applyPerson;
+
+    @ExcelProperty("申请单位")
+    @Schema(description = "申请单位")
+    private String applyUnit;
+
+    @ExcelProperty("申请时间")
+    @Schema(description = "申请时间")
+    private LocalDateTime applyTime;
+
+    @ExcelProperty("预计退还时间")
+    @Schema(description = "预计退还时间")
+    private String returnExpect;
+
+    @ExcelProperty("状态")
+    @Schema(description = "状态")
+    private Integer state;
+
+}

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

@@ -94,14 +94,6 @@ public interface MuseumFlowMapper extends BaseMapperX<MuseumFlowDO> {
         if (pageVO.getNumber()!=null &&!pageVO.getNumber().isEmpty()) {
             queryWrapper.apply("JSON_CONTAINS(number, CAST({0} AS JSON))", pageVO.getNumber());
         }
-//        if (pageVO.getSampleName() != null &&!pageVO.getSampleName().isEmpty()) {
-////            String inValues = Arrays.stream(pageVO.getSampleName().toArray())
-////                    .map(String::valueOf)
-////                    .reduce((a, b) -> a + "," + b)
-////                    .orElse("");
-////            queryWrapper.apply("exists (select 1 from json_table(sample_name, '$[*]' columns (value int path '$') where value in ({0}))", inValues);
-//            queryWrapper.apply("JSON_CONTAINS(sample_name, JSON_ARRAY(#{number })", pageVO.getSampleName());
-//        }
         return selectPage(pageVO, queryWrapper);
     }
 

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

@@ -107,7 +107,7 @@ public class MuseumFlowServiceImpl implements MuseumFlowService {
 
 
     /**
-     * 判断有相关编号的数据中的状态值 有不为0(出库)的返回相应错误信息 无则为空
+     * 判断有相关编号的数据中的状态值 有不为0(在库)的返回相应错误信息
      */
     public List<String> isMuseumFlowStateOutbound0(List<MuseumFlowDO> event,String number){
         List<String> errorList = new ArrayList<>();
@@ -179,7 +179,6 @@ public class MuseumFlowServiceImpl implements MuseumFlowService {
     public PageResult<MuseumFlowPageVO> selectPageMuseumFlowFormIntel(MuseumFlowPageVO pageVO){
         PageResult<MuseumFlowPageVO> result = BeanUtils.toBean(museumFlowMapper.selectPageMuseumFlowFormIntel(pageVO),MuseumFlowPageVO.class);
         result.getList().forEach(re ->{
-
             List<String> list =  Arrays.stream(re.getNumber().replaceAll("^\\[|]$", "").split(","))
                     .map(String::trim)
                     .filter(s -> !s.isEmpty()) // 过滤掉可能出现的空字符串