| 
						
						
							
								
							
						
						
					 | 
					@ -9,20 +9,53 @@ async function bindAnxin2pep (ctx) { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      const { userId, pepUserId } = ctx.fs.api | 
					 | 
					 | 
					      const { userId, pepUserId } = ctx.fs.api | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      const { bindId, name, pepProjectId, anxinProjectId = [], appId = [] } = ctx.request.body | 
					 | 
					 | 
					      const { bindId, name, pepProjectId, anxinProjectId = [], appId = [] } = ctx.request.body | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					      if(name && pepProjectId){ | 
					 | 
					 | 
					      if (name && pepProjectId) { | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					         throw '项企项目与自定义项目名称仅可选择一项' | 
					 | 
					 | 
					         throw '项企项目与自定义项目名称仅可选择一项' | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      } | 
					 | 
					 | 
					      } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      let bindId_ = bindId | 
					 | 
					 | 
					      let bindId_ = bindId | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      const now = moment() | 
					 | 
					 | 
					      const now = moment() | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					      const existRes = await models.ProjectCorrelation.findOne({ | 
					 | 
					 | 
					      // 仅限已有 pepProjectId 的项目
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					         where: { | 
					 | 
					 | 
					      const existRes = pepProjectId ? await models.ProjectCorrelation.findOne({ | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            pepProjectId: pepProjectId | 
					 | 
					 | 
					         where: Object.assign( | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					         }, | 
					 | 
					 | 
					            {}, | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					         include: { | 
					 | 
					 | 
					            pepProjectId ? { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					            model: models.ProjectApp | 
					 | 
					 | 
					               pepProjectId: pepProjectId | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            } : { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					               name, | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					         ), | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					      }) : null | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					      if (name) { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					         const pepRepeatNameCount = await clickHouse.projectManage.query(`SELECT COUNT(*) AS count FROM t_pim_project WHERE project_name='${name}'`).toPromise() | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					         if (pepRepeatNameCount[0].count) { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            throw `已有相同名称【${name}】的项企项目` | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					         } | 
					 | 
					 | 
					         } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					      }) | 
					 | 
					 | 
					         const pomsRepeatNameRes = await models.ProjectCorrelation.findAll({ | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            where: { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					               name | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					         }) | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					         if (pomsRepeatNameRes.some((pr) => { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            return ( | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					               ( | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                  // 有修改id但是不等于当前修改id的
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                  bindId && pr.id != bindId && !pr.del | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					               ) || ( | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                  !bindId && ( | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                     ( | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                        existRes && pr.id != existRes.id && !pr.del | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                     ) || ( | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                        !existRes && !pr.del | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                     ) | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                  ) | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					               ) | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            ) | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					         })) { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            throw `已有相同名称【${name}】的自定义项目` | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					         } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					      } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      let storageData = { | 
					 | 
					 | 
					      let storageData = { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					         name, pepProjectId, anxinProjectId, | 
					 | 
					 | 
					         name, pepProjectId, anxinProjectId, | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -31,12 +64,6 @@ async function bindAnxin2pep (ctx) { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					      if (bindId) { | 
					 | 
					 | 
					      if (bindId) { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					         // 修改
 | 
					 | 
					 | 
					         // 修改
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					         if (!existRes) { | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            throw '尚无已绑定的项企项目' | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					         } | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					         if (name) { | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					         } | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					         await models.ProjectCorrelation.update(storageData, { | 
					 | 
					 | 
					         await models.ProjectCorrelation.update(storageData, { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					            where: { | 
					 | 
					 | 
					            where: { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					               pepProjectId: pepProjectId | 
					 | 
					 | 
					               pepProjectId: pepProjectId | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					
  |