package com.ruoyi.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.utils.MapUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.domain.*; import com.ruoyi.mapper.ArchiveSignatureMapper; import com.ruoyi.mapper.ArchiverecordstouserMapper; import com.ruoyi.service.IArchiveSignatureService; import com.ruoyi.service.IArchiverecordstouserService; import com.ruoyi.util.ErrorcodeExceptionextends; import org.springframework.stereotype.Service; import java.time.LocalDateTime; import java.time.ZoneId; import java.util.*; @Service public class ArchiveSignatureServiceImpl extends ServiceImpl implements IArchiveSignatureService { private LambdaQueryWrapper buildCondition(ArchiveSignature archiveSignature){ LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); lqw.like(!StringUtils.isEmpty(archiveSignature.getSigaName()), ArchiveSignature::getSigaName, archiveSignature.getSigaName()); lqw.orderByDesc(ArchiveSignature::getCreateTime); System.out.println("ssssssssssssddd0000000000000000"); return lqw; } @Override public AjaxResult selectDataList(ArchiveSignature archiveSignature, Integer pageNum, Integer pageSize) { LambdaQueryWrapper lqw = buildCondition(archiveSignature); Page archiveSignaturePage = new Page<>(pageNum, pageSize); Page pageResult = page(archiveSignaturePage, lqw); List beanRecords = pageResult.getRecords();//得到查询出来的数据 // List beanRecords = list(lqw); // log.info("从数据库中查到的为:{}", beanRecords); // return markOwnData(familyId, fatherFaId, motherFaId, beanRecords); HashMap data = MapUtils.getResult(pageResult, beanRecords); return AjaxResult.success(data); } @Override public ArchiveSignature selectArchiveSignatureById(Long id) { LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); lqw.eq(id!=null, ArchiveSignature::getId, id); List lists = this.list(lqw); if(!lists.isEmpty()) return lists.get(0); else return null; } @Override public List selectArchiveSignatureList(ArchiveSignature archiveSignature) { return Collections.emptyList(); } @Override public int insertArchiveSignature(ArchiveSignature archiveSignature) { LocalDateTime time = LocalDateTime.now(); if(archiveSignature.getSigaName()==null||StringUtils.isEmpty(archiveSignature.getSigaName())) throw new RuntimeException("签名信息不能为空!"); Date date = Date.from(time.atZone(ZoneId.systemDefault()).toInstant()); archiveSignature.setCreateTime(date); // System.out.println(archiveRecords.getRecordId()); //根据档号查询,是否已经有档号,有的话,就不让插入 LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.eq(!StringUtils.isEmpty(archiveSignature.getSigaName()), ArchiveSignature::getSigaName, archiveSignature.getSigaName()); List lis = list(lambdaQueryWrapper); if(!lis.isEmpty()) { return 0; } // archiveRecords.setRecordStatus("未录入"); // archiveRecords boolean res = this.save(archiveSignature); //0表示失败,1表示成功 if(res) return 1; else return 0; } @Override public int updateArchiveSignature(ArchiveSignature archiveSignature) { boolean result = false; try { // 使用LambdaUpdateWrapper构造更新条件,确保null值也能更新到数据库 LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.eq(ArchiveSignature::getId, archiveSignature.getId()); // 明确设置需要更新的字段 updateWrapper.set(ArchiveSignature::getSigaName, archiveSignature.getSigaName()); updateWrapper.set(ArchiveSignature::getCreateTime, archiveSignature.getCreateTime()); // 执行更新操作 result = update(updateWrapper); } catch (Exception e) { System.out.println(e); throw new ErrorcodeExceptionextends(500, "不允许签名信息重复!"); } if(result) return 1; else return 0; } @Override public int deleteArchiveSignatureByIds(Long[] ids) { if (this.removeByIds(Arrays.asList(ids))) { return 1; } else return 0; } @Override public int deleteArchiveSignatureById(Long id) { return this.baseMapper.deleteById(id); } }