1. 更新方式:
LambdaUpdateWrapper<PcbPass> wrapper = Wrappers.lambdaUpdate();
wrapper.set(PcbPass::getDeleteStatus,1);
wrapper.eq(PcbPass::getProduceNo,produceNo);
wrapper.eq(PcbPass::getDeleteStatus,0);
wrapper.and(wp -> wp.eq(PcbPass::getPassType,PassTypeEnum.LOT.getCode()).or().eq(PcbPass::getPassType,PassTypeEnum.ORDER.getCode()));
pcbPassMapper.update(null,wrapper);
2. 查询是否存在
Boolean exists = new LambdaQueryChainWrapper<>(pcbPassMapper)
.eq(PcbPass::getBoardNo,boardNo)
.eq(PcbPass::getDeleteStatus,0)
.and(wp -> wp.eq(PcbPass::getLotNo,lotNo).or().eq(ObjectUtils.isNotEmpty(request.getOrderNo()), PcbPass::getOrderNo, request.getOrderNo()))
.exists();
if (exists) {
process.setPassFlag(YesOrNoEnum.YES.getCode());
}
3. 特殊追加的SQL
String applySql = " process_code != 'mi' and process_code != 'ruku' ";
List<PcbBoardProcess> pcbBoardProcessList = new LambdaQueryChainWrapper<>(pcbBoardProcessMapper)
.select(PcbBoardProcess::getProcessName,PcbBoardProcess::getProcessCode)
.eq(PcbBoardProcess::getBoardNo,boardNo)
.eq(PcbBoardProcess::getDeleteStatus,0)
.apply(applySql)
.list();
QueryWrapper方法解释:
QueryWrapper方法解释_querywrapper 大于等于_juanjuanya.的博客-CSDN博客