| 
						
						
							
								
							
						
						
					 | 
					@ -27,15 +27,19 @@ import com.epmet.commons.tools.exception.EpmetErrorCode; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import com.epmet.commons.tools.exception.RenException; | 
					 | 
					 | 
					import com.epmet.commons.tools.exception.RenException; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import com.epmet.commons.tools.page.PageData; | 
					 | 
					 | 
					import com.epmet.commons.tools.page.PageData; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import com.epmet.commons.tools.utils.ConvertUtils; | 
					 | 
					 | 
					import com.epmet.commons.tools.utils.ConvertUtils; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					import com.epmet.commons.tools.utils.Result; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import com.epmet.dao.SpecialSubjectDao; | 
					 | 
					 | 
					import com.epmet.dao.SpecialSubjectDao; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import com.epmet.dto.SpecialSubjectDTO; | 
					 | 
					 | 
					import com.epmet.dto.SpecialSubjectDTO; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import com.epmet.dto.TagCustomerDTO; | 
					 | 
					 | 
					import com.epmet.dto.TagCustomerDTO; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import com.epmet.dto.form.AddSpecialSubjectFormDTO; | 
					 | 
					 | 
					import com.epmet.dto.form.AddSpecialSubjectFormDTO; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import com.epmet.dto.form.DelSpecialSubjectFormDTO; | 
					 | 
					 | 
					import com.epmet.dto.form.DelSpecialSubjectFormDTO; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import com.epmet.dto.form.QuerySpecialSubFormDTO; | 
					 | 
					 | 
					import com.epmet.dto.form.QuerySpecialSubFormDTO; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					import com.epmet.dto.form.StaffInfoFromDTO; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import com.epmet.dto.result.AddSpecialSubjectResultDTO; | 
					 | 
					 | 
					import com.epmet.dto.result.AddSpecialSubjectResultDTO; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					import com.epmet.dto.result.MineResultDTO; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import com.epmet.dto.result.WorkSpecialSubjectResultDTO; | 
					 | 
					 | 
					import com.epmet.dto.result.WorkSpecialSubjectResultDTO; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import com.epmet.entity.SpecialSubjectEntity; | 
					 | 
					 | 
					import com.epmet.entity.SpecialSubjectEntity; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					import com.epmet.feign.GovOrgOpenFeignClient; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import com.epmet.service.SpecialSubjectService; | 
					 | 
					 | 
					import com.epmet.service.SpecialSubjectService; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import com.epmet.service.TagCustomerService; | 
					 | 
					 | 
					import com.epmet.service.TagCustomerService; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					import lombok.extern.slf4j.Slf4j; | 
					 | 
					 | 
					import lombok.extern.slf4j.Slf4j; | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					@ -62,6 +66,9 @@ import java.util.stream.Collectors; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					public class SpecialSubjectServiceImpl extends BaseServiceImpl<SpecialSubjectDao, SpecialSubjectEntity> implements SpecialSubjectService { | 
					 | 
					 | 
					public class SpecialSubjectServiceImpl extends BaseServiceImpl<SpecialSubjectDao, SpecialSubjectEntity> implements SpecialSubjectService { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    @Autowired | 
					 | 
					 | 
					    @Autowired | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    private TagCustomerService tagCustomerService; | 
					 | 
					 | 
					    private TagCustomerService tagCustomerService; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					    @Autowired | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					    private GovOrgOpenFeignClient govOrgOpenFeignClient; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    @Override | 
					 | 
					 | 
					    @Override | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    public PageData<SpecialSubjectDTO> page(Map<String, Object> params) { | 
					 | 
					 | 
					    public PageData<SpecialSubjectDTO> page(Map<String, Object> params) { | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					@ -131,13 +138,26 @@ public class SpecialSubjectServiceImpl extends BaseServiceImpl<SpecialSubjectDao | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            throw new RenException(EpmetErrorCode.TAG_NOT_EXIST.getCode(), EpmetErrorCode.TAG_NOT_EXIST.getMsg()); | 
					 | 
					 | 
					            throw new RenException(EpmetErrorCode.TAG_NOT_EXIST.getCode(), EpmetErrorCode.TAG_NOT_EXIST.getMsg()); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        } | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        //2、校验当前组织是否添加过此专题
 | 
					 | 
					 | 
					        //2、校验当前组织是否添加过此专题
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        SpecialSubjectEntity havedEntity = baseDao.selectByOrgIdAndTagId(formDTO.getOrgId(), formDTO.getTagId()); | 
					 | 
					 | 
					        QuerySpecialSubFormDTO querySpecialSubFormDTO=new QuerySpecialSubFormDTO(); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        if (null != havedEntity) { | 
					 | 
					 | 
					        querySpecialSubFormDTO.setOrgId(formDTO.getOrgId()); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            throw new RenException(EpmetErrorCode.EXISTED_SPECIAL_PROJECT.getCode(), EpmetErrorCode.EXISTED_SPECIAL_PROJECT.getMsg()); | 
					 | 
					 | 
					        querySpecialSubFormDTO.setPids(formDTO.getPids()); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					        } | 
					 | 
					 | 
					        List<WorkSpecialSubjectResultDTO> havedList=this.queryExistedList(querySpecialSubFormDTO); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        List<String> haveTagIds=havedList.stream().map(WorkSpecialSubjectResultDTO::getTagId).distinct().collect(Collectors.toList()); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        haveTagIds.forEach(tagId->{ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            if(tagId.equals(formDTO.getTagId())){ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                throw new RenException(EpmetErrorCode.EXISTED_SPECIAL_PROJECT.getCode(), EpmetErrorCode.EXISTED_SPECIAL_PROJECT.getMsg()); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        }); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        // 3、保存
 | 
					 | 
					 | 
					        // 3、保存
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        SpecialSubjectEntity insertEntity = ConvertUtils.sourceToTarget(formDTO, SpecialSubjectEntity.class); | 
					 | 
					 | 
					        SpecialSubjectEntity insertEntity = ConvertUtils.sourceToTarget(formDTO, SpecialSubjectEntity.class); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        StaffInfoFromDTO staffInfoFromDTO = new StaffInfoFromDTO(); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        staffInfoFromDTO.setStaffId(formDTO.getAddUserId()); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        Result<MineResultDTO> result = govOrgOpenFeignClient.queryStaffProfile(staffInfoFromDTO); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        if(result.success()&&null!=result.getData()){ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            insertEntity.setAddUserAgencyId(result.getData().getAgencyId()); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        insertEntity.setAddOrgId(formDTO.getOrgId()); | 
					 | 
					 | 
					        insertEntity.setAddOrgId(formDTO.getOrgId()); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        insertEntity.setAddOrgPids(formDTO.getPids()); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        baseDao.insert(insertEntity); | 
					 | 
					 | 
					        baseDao.insert(insertEntity); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        return new AddSpecialSubjectResultDTO(insertEntity.getId()); | 
					 | 
					 | 
					        return new AddSpecialSubjectResultDTO(insertEntity.getId()); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					    } | 
					 | 
					 | 
					    } | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					
  |