乐趣区

一周总结

引言

各个项目接近尾声,收尾工作其实并不是一件简单的事情,在此对本周的一些小问题进行一下总结。

器具别名显示问题

后台加入软删除,在前台器具类别管理中删除器具别名时,因加入软删除删除时 deleted 字段改为true,但是查询时没有对其加入限制,所以全部显示

  1. 想法
    感觉没什么难度,后台使用我们强大的综合查询直接吧deleted 字段 set false 就行了。
  2. 实现

      public Page<InstrumentCategory> getAll(String name, Long subjectCategoryId, Pageable pageable) {logger.debug("设置查询条件");
            InstrumentAlias instrumentAlias = new InstrumentAlias();
            InstrumentCategory instrumentCategory = new InstrumentCategory();
            CommonService.setAllFieldsToNull(instrumentCategory);
            CommonService.setAllFieldsToNull(instrumentAlias);
            instrumentCategory.setName(name);
            instrumentAlias.setDeleted(false);
            instrumentCategory.setInstrumentAliasList(Collections.singletonList(instrumentAlias));
            SubjectCategory subjectCategory = subjectCategoryRepository.findById(subjectCategoryId).orElse(null);
            instrumentCategory.setSubjectCategory(subjectCategory);
    
            return (Page<InstrumentCategory>) yunzhiService.page(instrumentCategoryRepository, instrumentCategory, pageable);
        }

    然而处于我综合查询知道的少之又少,只知道它查询快为好用,却不知道不支持一对多和多对多查询

  3. 只能在前台或者后台自己手动的去处理,实现如下:
 // 过滤 InstrumentAlias,显示 deleted 字段为 false 的
    public filterInstrumentAlias() {this.instrumentCategoryList.content.forEach((instrumentCategory: InstrumentCategory) => {this.instrumentAliasList = instrumentCategory.instrumentAliasList.filter((instrumentAlias: InstrumentAlias) => {return instrumentAlias.deleted === false;});
            instrumentCategory.instrumentAliasList = this.instrumentAliasList;
        });
    }

    // 过滤 InstrumentSpecification,显示 deleted 字段为 false 的
    public filterInstrumentSpecification() {this.instrumentCategoryList.content.forEach((instrumentCategory: InstrumentCategory) => {this.instrumentSpecificationList = instrumentCategory.instrumentSpecificationsList.filter((instrumentSpecification: InstrumentSpecification) => {return instrumentSpecification.deleted === false;});
            instrumentCategory.instrumentSpecificationsList = this.instrumentSpecificationList;
        });
    }

总结

虽然没什么问题,我觉得在对一件事,一个项目或者一个需求,你了解多少,你就可以少走多少弯路,甚至可以体现出你在其中的价值、地位。

实现只有正常状态才能发送申请

最初的实现:

    // 判断器具状态显示正常时才能发起申请
    public showVerificationApplication() {this.instrumentPage.content.forEach((instrument) => {if (instrument.state === this.defaultStatus) {this.show = true;} else {this.show = false;}
        });
    }

这样是有问题的,当没有器具的时候就不执行了,会存在问题
改进:

    // 判断器具状态显示正常时才能发起申请
    public showVerificationApplication() {if (this.params.state === this.defaultStatus) {this.show = true;} else {this.show = false;}
    }

在偶然间张喜硕组长的一句提示,让我觉的自身的不足(考虑为什么我当时没有想到);

总结

自己的想法考虑的太不全面,有时候看问题只看到表面,一个小小的问题就可能困惑我,不能换个角度去思考,在想法和思想上还有待提高

退出移动版