Browse Source

Merge remote-tracking branch 'origin/dev' into dev

lazhaoqian 3 years ago
parent
commit
4e7551df99

+ 4 - 0
blade-service-api/blade-client-api/src/main/java/org/springblade/client/feign/ICorpsDescClient.java

@@ -29,6 +29,7 @@ public interface ICorpsDescClient {
 	String GET_CORPS_MESSAGE = API_PREFIX + "/get_corps_message";
 	String GET_BY_CNAME = API_PREFIX + "get_by_name";
 	String LIST_BY_NAME = API_PREFIX + "/listCorpByName";
+	String LIST_ID_BY_NAME = API_PREFIX + "/listCorpIdByName";
 	String LIST_BANK_BY_CORP_ID=API_PREFIX+"/listBankByCorpId";
 	String GET_CORPS_DESC= API_PREFIX + "/getCorpsDesc";
 	String CORPS_UPDATE= API_PREFIX + "/update";
@@ -85,6 +86,9 @@ public interface ICorpsDescClient {
 	@GetMapping(LIST_BY_NAME)
 	List<CorpsDesc> listCorpByName (@RequestParam("cname") String cname);
 
+	@GetMapping(LIST_ID_BY_NAME)
+	List<Long> listCorpIdByName (@RequestParam("cname") String cname);
+
 	@GetMapping(LIST_BANK_BY_CORP_ID)
 	List<CorpsBank> listBankByCorpId (@RequestParam("corpsId") Long corpsId);
 

+ 13 - 0
blade-service/blade-client/src/main/java/org/springblade/client/corps/feign/CorpsDescClient.java

@@ -26,6 +26,7 @@ import springfox.documentation.annotations.ApiIgnore;
 
 import java.util.List;
 import java.util.Map;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 
 @NonDS
@@ -101,6 +102,18 @@ public class CorpsDescClient implements ICorpsDescClient {
 	}
 
 	@Override
+	@GetMapping(LIST_ID_BY_NAME)
+	public List<Long> listCorpIdByName(String cname)
+	{
+		LambdaQueryWrapper<CorpsDesc> corpsDescLambdaQueryWrapper=new LambdaQueryWrapper<>();
+		corpsDescLambdaQueryWrapper.select(CorpsDesc::getId);
+		corpsDescLambdaQueryWrapper.eq(CorpsDesc::getIsDeleted,0);
+		corpsDescLambdaQueryWrapper.eq(CorpsDesc::getTenantId, AuthUtil.getTenantId());
+		corpsDescLambdaQueryWrapper.like(CorpsDesc::getCname,cname);
+		return service.list(corpsDescLambdaQueryWrapper).stream().map(CorpsDesc::getId).collect(Collectors.toList());
+	}
+
+	@Override
 	@GetMapping(LIST_BANK_BY_CORP_ID)
 	public List<CorpsBank> listBankByCorpId(Long corpsId)
 	{

+ 113 - 94
blade-service/blade-project/src/main/java/org/springblade/project/controller/ProjectController.java

@@ -13,6 +13,7 @@ import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.CollectionUtil;
 import org.springblade.project.entity.ServiceProject;
 
 import org.springblade.project.entity.ServiceProjectFiles;
@@ -67,6 +68,7 @@ public class ProjectController {
 							@RequestParam(name = "code", required = false) String code,
 							@RequestParam(name = "cname", required = false) String cName,
 							@RequestParam(name = "corpId", required = false) String corpId,
+							@RequestParam(name = "corpName", required = false) String corpName,
 							@RequestParam(name = "corpAttn", required = false) String corpAttn,
 							@RequestParam(name = "dutyName", required = false) String dutyName,
 							@RequestParam(name = "remark", required = false) String remark,
@@ -76,28 +78,33 @@ public class ProjectController {
 	)
 	{
 		LambdaQueryWrapper<ServiceProject> serviceProjectLambdaQueryWrapper = new LambdaQueryWrapper<>();
-			//只显示未结算的
-			if(flag==2)
+		//只显示未结算的
+		if(flag==2)
+		{
+			LambdaQueryWrapper<ServiceProjectItem> lambdaQueryWrapper=new LambdaQueryWrapper<>();
+			lambdaQueryWrapper
+				.eq(ServiceProjectItem::getStatus,0)
+				.eq(ServiceProjectItem::getIsDeleted,0);
+			List<ServiceProjectItem> list = serviceProjectItemService.list(lambdaQueryWrapper);
+			//如果等于空,直接返回
+			if(CollectionUtils.isEmpty(list))
 			{
-				LambdaQueryWrapper<ServiceProjectItem> lambdaQueryWrapper=new LambdaQueryWrapper<>();
-				lambdaQueryWrapper
-					.eq(ServiceProjectItem::getStatus,0)
-					.eq(ServiceProjectItem::getIsDeleted,0);
-				List<ServiceProjectItem> list = serviceProjectItemService.list(lambdaQueryWrapper);
-				//如果等于空,直接返回
-                if(CollectionUtils.isEmpty(list))
-                {
-                return R.data(null);
-				}
-				//不为空
-                else
-				{
-					List<Long> ids = list.stream().map(ServiceProjectItem::getPId).collect(Collectors.toList());
-					serviceProjectLambdaQueryWrapper.in(ServiceProject::getId,ids);
-				}
-
+			return R.data(null);
+			}
+			//不为空
+			else
+			{
+				List<Long> ids = list.stream().map(ServiceProjectItem::getPId).collect(Collectors.toList());
+				serviceProjectLambdaQueryWrapper.in(ServiceProject::getId,ids);
 			}
 
+		}
+
+		List<Long> corpIdList = Collections.emptyList();
+		if (StringUtils.isNotBlank(corpName))
+		{
+			corpIdList = corpsDescClient.listCorpIdByName(corpName);
+		}
 
 		serviceProjectLambdaQueryWrapper.between(StringUtils.isNotBlank(createStartDate)&&StringUtils.isNotBlank(createEndDate),ServiceProject::getCreateTime,createStartDate,createEndDate)
 			.eq(ServiceProject::getTenantId, AuthUtil.getTenantId())
@@ -107,6 +114,7 @@ public class ProjectController {
 			.like(StringUtils.isNotBlank(cName), ServiceProject::getCName, cName)
 			.like(StringUtils.isNotBlank(code), ServiceProject::getCode, code)
 			.eq(StringUtils.isNotBlank(corpId), ServiceProject::getCorpId, corpId)
+			.in(CollectionUtil.isNotEmpty(corpIdList), ServiceProject::getCorpId, corpIdList)
 			.eq(ServiceProject::getIsDeleted, 0)
 			.orderByDesc(ServiceProject::getCreateTime);
 
@@ -293,6 +301,7 @@ public class ProjectController {
 						  @RequestParam(name = "beginTime",  required = false) String beginTime,
 
 						  @RequestParam(name = "cornId",  required = false) Long cornId,
+						  @RequestParam(name = "corpName",  required = false) String corpName,
 						  @RequestParam(name = "deptName",  required = false) String deptName,
 
 
@@ -311,82 +320,92 @@ public class ProjectController {
 	{
 		List<String> listStatus=Arrays.asList(status.split(","));
 
-		  LambdaQueryWrapper<ServiceProjectItem> itemLambdaQueryWrapper=new LambdaQueryWrapper<>();
-		  itemLambdaQueryWrapper
-			  .eq(projectType!=null,ServiceProjectItem::getProjectType,projectType)
-			  .eq(StringUtils.isNotBlank(userName),ServiceProjectItem::getUserName,userName)
-			  .eq(ServiceProjectItem::getTenantId,AuthUtil.getTenantId())
-			  .between(StringUtils.isNotBlank(beginStartTime)&&StringUtils.isNotBlank(beginEndTime),ServiceProjectItem::getBeginTime,beginStartTime,beginEndTime)
-			  .between(StringUtils.isNotBlank(createStartTime)&&StringUtils.isNotBlank(createEndTime),ServiceProjectItem::getCreateTime,createStartTime,createEndTime)
-			  .between(StringUtils.isNotBlank(payStartTime)&&StringUtils.isNotBlank(payEndTime),ServiceProjectItem::getPayTime,payStartTime,payEndTime)
-			  .like(StringUtils.isNotBlank(pName),ServiceProjectItem::getPName,pName)
-			  .apply(StringUtils.isNotBlank(beginTime),"date_format(begin_time,'%Y-%m-%d') = '"+beginTime+"'")
-			  .apply(StringUtils.isNotBlank(actualDate),"date_format(actual_date,'%Y-%m-%d') = '"+actualDate+"'");
-
-		      //客户名称
-              if(cornId!=null)
-              {
-              	LambdaQueryWrapper<ServiceProject> lambdaQueryWrapper=new LambdaQueryWrapper<>();
-				  lambdaQueryWrapper.eq(ServiceProject::getCorpId,cornId);
-				  List<ServiceProject> list = serviceProjectService.list(lambdaQueryWrapper);
-				  if(!CollectionUtils.isEmpty(list))
-				  {
-					  itemLambdaQueryWrapper.in(ServiceProjectItem::getPId,list.stream().map(ServiceProject::getId).collect(Collectors.toList()));
-				  }
-				  else
-				  {
-					  return R.data(Collections.EMPTY_LIST);
-				  }
-			  }
-
-              // 承做人
-			/*  if(!CollectionUtils.isEmpty(users))
-			  {
-				  List<Long> userIds = users.stream().map(User::getId).collect(Collectors.toList());
-				  itemLambdaQueryWrapper .in(ServiceProjectItem::getUserid,userIds);
-			  }
-			  else
-			  {
-			  	return R.data(Collections.EMPTY_LIST);
-			  }*/
-		      itemLambdaQueryWrapper.orderByDesc(ServiceProjectItem::getUpdateTime)
-			  .eq(deptid!=null,ServiceProjectItem::getDeptid,deptid)
-			  /*.eq(ServiceProjectItem::getIsDeleted,0)*/
-			  .in(ServiceProjectItem::getStatus,listStatus);
-		  Page<ServiceProjectItem> page=new Page<>(current,size);
-		  IPage<ServiceProjectItem> iPage = serviceProjectItemService.page(page, itemLambdaQueryWrapper);
-		  if(!CollectionUtils.isEmpty(iPage.getRecords()))
-		  {
-			  String[] str = new String[]{"录入","已请核","审核中","审核通过","正在结算","结算完成","","追加","退费"};
-			  iPage.getRecords().forEach(e->{
-				  e.setStrStatus(str[e.getStatus()]);
-				  Long corpId = serviceProjectService.getOne(new LambdaQueryWrapper<ServiceProject>()
-					  .eq(ServiceProject::getId,e.getPId())).getCorpId();
-				  e.setCornId(corpId);
-				  R<CorpsDesc> corpMessage = corpsDescClient.getCorpMessage(corpId);
-				  if(corpMessage.isSuccess()&&corpMessage.getData()!=null)
-				  {
-					  e.setCornName(corpMessage.getData().getCname());
-				  }
-				  //任务部门
-				  R<Dept> dept = iSysClient.getDept(e.getDeptid());
-				  if(dept.isSuccess()&&dept.getData()!=null)
-				  {
-				  	e.setDeptName(dept.getData().getDeptName());
-				  }
-				  //承做人
-
-				 /* R<User> userR = userClient.userInfoById(e.getUserid());
-				  if(userR.isSuccess())
-				  {
-					  e.setUserName(userR.getData().getRealName());
-				  }*/
-                  //毛收入
-				  e.setGrossIncome((e.getServiceCharge().add(e.getMatMoney())).subtract(e.getCostReturn()));
-			  });
+		LambdaQueryWrapper<ServiceProjectItem> itemLambdaQueryWrapper=new LambdaQueryWrapper<>();
+		itemLambdaQueryWrapper
+			.eq(projectType!=null,ServiceProjectItem::getProjectType,projectType)
+			.eq(StringUtils.isNotBlank(userName),ServiceProjectItem::getUserName,userName)
+			.eq(ServiceProjectItem::getTenantId,AuthUtil.getTenantId())
+			.between(StringUtils.isNotBlank(beginStartTime)&&StringUtils.isNotBlank(beginEndTime),ServiceProjectItem::getBeginTime,beginStartTime,beginEndTime)
+			.between(StringUtils.isNotBlank(createStartTime)&&StringUtils.isNotBlank(createEndTime),ServiceProjectItem::getCreateTime,createStartTime,createEndTime)
+			.between(StringUtils.isNotBlank(payStartTime)&&StringUtils.isNotBlank(payEndTime),ServiceProjectItem::getPayTime,payStartTime,payEndTime)
+			.like(StringUtils.isNotBlank(pName),ServiceProjectItem::getPName,pName)
+			.apply(StringUtils.isNotBlank(beginTime),"date_format(begin_time,'%Y-%m-%d') = '"+beginTime+"'")
+			.apply(StringUtils.isNotBlank(actualDate),"date_format(actual_date,'%Y-%m-%d') = '"+actualDate+"'");
+
+		LambdaQueryWrapper<ServiceProject> lambdaQueryWrapper=new LambdaQueryWrapper<>();
+		//客户名称
+		if(cornId!=null)
+		{
+			lambdaQueryWrapper.eq(ServiceProject::getCorpId,cornId);
+			List<ServiceProject> list = serviceProjectService.list(lambdaQueryWrapper);
+		}
+		if(StringUtils.isNotBlank(corpName))
+		{
+			List<Long> corpIdList = corpsDescClient.listCorpIdByName(corpName);
+			lambdaQueryWrapper.in(CollectionUtil.isNotEmpty(corpIdList), ServiceProject::getCorpId, corpIdList);
 
-		  }
-		  return R.data(iPage);
+		}
+		if(cornId!=null || StringUtils.isNotBlank(corpName))
+		{
+			List<ServiceProject> list = serviceProjectService.list(lambdaQueryWrapper);
+			if(!CollectionUtils.isEmpty(list))
+			{
+				itemLambdaQueryWrapper.in(ServiceProjectItem::getPId,list.stream().map(ServiceProject::getId).collect(Collectors.toList()));
+			}
+			else
+			{
+				return R.data(Collections.EMPTY_LIST);
+			}
+		}
+
+		// 承做人
+		/*  if(!CollectionUtils.isEmpty(users))
+		{
+		  List<Long> userIds = users.stream().map(User::getId).collect(Collectors.toList());
+		  itemLambdaQueryWrapper .in(ServiceProjectItem::getUserid,userIds);
+		}
+		else
+		{
+		return R.data(Collections.EMPTY_LIST);
+		}*/
+		itemLambdaQueryWrapper.orderByDesc(ServiceProjectItem::getUpdateTime)
+			.eq(deptid!=null,ServiceProjectItem::getDeptid,deptid)
+			/* .eq(ServiceProjectItem::getIsDeleted,0) */
+			.in(ServiceProjectItem::getStatus,listStatus);
+		Page<ServiceProjectItem> page=new Page<>(current,size);
+		IPage<ServiceProjectItem> iPage = serviceProjectItemService.page(page, itemLambdaQueryWrapper);
+		if(!CollectionUtils.isEmpty(iPage.getRecords()))
+		{
+		  	String[] str = new String[]{"录入","已请核","审核中","审核通过","正在结算","结算完成","","追加","退费"};
+		  	iPage.getRecords().forEach(e->{
+				e.setStrStatus(str[e.getStatus()]);
+				Long corpId = serviceProjectService.getOne(new LambdaQueryWrapper<ServiceProject>()
+				  .eq(ServiceProject::getId,e.getPId())).getCorpId();
+				e.setCornId(corpId);
+				R<CorpsDesc> corpMessage = corpsDescClient.getCorpMessage(corpId);
+				if(corpMessage.isSuccess()&&corpMessage.getData()!=null)
+				{
+					e.setCornName(corpMessage.getData().getCname());
+				}
+				//任务部门
+				R<Dept> dept = iSysClient.getDept(e.getDeptid());
+				if(dept.isSuccess()&&dept.getData()!=null)
+				{
+					e.setDeptName(dept.getData().getDeptName());
+				}
+				//承做人
+
+				/* R<User> userR = userClient.userInfoById(e.getUserid());
+				if(userR.isSuccess())
+				{
+				  e.setUserName(userR.getData().getRealName());
+				}*/
+				//毛收入
+				e.setGrossIncome((e.getServiceCharge().add(e.getMatMoney())).subtract(e.getCostReturn()));
+		  	});
+
+		}
+		return R.data(iPage);
 	}
 
     @GetMapping("getSysNo")