| | |
| | | */ |
| | | package org.sxkj.gd.orderdata.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.Wrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import org.springblade.core.mp.base.BaseServiceImpl; |
| | | import org.springblade.core.secure.utils.AuthUtil; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.sxkj.gd.orderdata.dto.GdDataObjectionDTO; |
| | | import org.sxkj.gd.orderdata.entity.GdDataObjectionAttachmentEntity; |
| | | import org.sxkj.gd.orderdata.entity.GdDataObjectionEntity; |
| | | import org.sxkj.gd.orderdata.excel.GdDataObjectionExcel; |
| | | import org.sxkj.gd.orderdata.mapper.GdDataObjectionMapper; |
| | | import org.sxkj.gd.orderdata.param.GdDataObjectionDetailParam; |
| | | import org.sxkj.gd.orderdata.param.GdDataObjectionPageParam; |
| | | import org.sxkj.gd.orderdata.service.IGdDataObjectionAttachmentService; |
| | | import org.sxkj.gd.orderdata.vo.GdDataObjectionVO; |
| | | import org.sxkj.gd.orderdata.excel.GdDataObjectionExcel; |
| | | import org.sxkj.gd.orderdata.mapper.GdDataObjectionMapper; |
| | | import org.sxkj.gd.orderdata.service.IGdDataObjectionService; |
| | | import org.springframework.stereotype.Service; |
| | | import com.baomidou.mybatisplus.core.conditions.Wrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import org.springblade.core.mp.base.BaseServiceImpl; |
| | | import org.sxkj.gd.orderdata.vo.GdDataObjectionVO; |
| | | import org.sxkj.gd.orderdata.wrapper.GdDataObjectionWrapper; |
| | | import org.sxkj.gd.orderdata.wrapper.GdSupplyDemandAuditAttachmentWrapper; |
| | | import org.sxkj.system.cache.SysCache; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * 数据异议申请表 服务实现类 |
| | |
| | | |
| | | @Override |
| | | public IPage<GdDataObjectionVO> selectGdDataObjectionPage(IPage<GdDataObjectionVO> page, GdDataObjectionPageParam gdDataObjection) { |
| | | List<Long> deptList = new ArrayList<>(); |
| | | if (!AuthUtil.isAdministrator()) { |
| | | deptList = SysCache.getDeptChildIds(Long.valueOf(AuthUtil.getDeptId())); |
| | | } |
| | | gdDataObjection.setDeptList(deptList); |
| | | return page.setRecords(baseMapper.selectGdDataObjectionPage(page, gdDataObjection)); |
| | | } |
| | | |
| | |
| | | @Override |
| | | public boolean saveOrUpdateDataObjection(GdDataObjectionDTO gdDataEvaluationDTO) { |
| | | GdDataObjectionEntity gdDataObjectionEntity = GdDataObjectionWrapper.build().entityDTO(gdDataEvaluationDTO); |
| | | if(gdDataObjectionEntity.getObjectionStatus().equals("2")){ |
| | | String deptName = SysCache.getDeptName(Long.valueOf(AuthUtil.getDeptId())); |
| | | gdDataObjectionEntity.setHandleUnit(deptName); |
| | | } |
| | | boolean result = saveOrUpdate(gdDataObjectionEntity); |
| | | if (result) { |
| | | if (gdDataEvaluationDTO.getAttachmentList() != null) { |
| | | List<GdDataObjectionAttachmentEntity> gdDataObjectionAttachmentEntities = GdSupplyDemandAuditAttachmentWrapper.build().entityDTO(gdDataEvaluationDTO.getAttachmentList()); |
| | | gdDataObjectionAttachmentEntities.forEach(gdDataObjectionAttachmentEntity -> { |
| | | List<GdDataObjectionAttachmentEntity> entityList = GdSupplyDemandAuditAttachmentWrapper.build().entityDTO(gdDataEvaluationDTO.getAttachmentList()); |
| | | |
| | | List<GdDataObjectionAttachmentEntity> list = gdDataObjectionAttachmentService.list(Wrappers.<GdDataObjectionAttachmentEntity>lambdaQuery() |
| | | .eq(GdDataObjectionAttachmentEntity::getObjectionId, gdDataObjectionEntity.getId()) |
| | | .eq(GdDataObjectionAttachmentEntity::getIsDeleted, 0)); |
| | | |
| | | // 过滤出list中存在但entityList不包含的数据(根据ID进行比较) |
| | | List<GdDataObjectionAttachmentEntity> toDeleteList = list.stream() |
| | | .filter(item -> !entityList.stream() |
| | | .anyMatch(entityItem -> item.getId() != null && entityItem.getId() != null && item.getId().equals(entityItem.getId()))) |
| | | .collect(Collectors.toList()); |
| | | |
| | | // 删除过滤出的数据 |
| | | if (!toDeleteList.isEmpty()) { |
| | | List<Long> idsToDelete = toDeleteList.stream() |
| | | .map(GdDataObjectionAttachmentEntity::getId) |
| | | .collect(Collectors.toList()); |
| | | gdDataObjectionAttachmentService.deleteLogic(idsToDelete); |
| | | } |
| | | |
| | | entityList.forEach(gdDataObjectionAttachmentEntity -> { |
| | | gdDataObjectionAttachmentEntity.setObjectionId(gdDataObjectionEntity.getId()); |
| | | }); |
| | | return gdDataObjectionAttachmentService.saveOrUpdateBatch(gdDataObjectionAttachmentEntities); |
| | | return gdDataObjectionAttachmentService.saveOrUpdateBatch(entityList); |
| | | } |
| | | return true; |
| | | } |