|  | @@ -15,6 +15,7 @@ import com.jeeplus.modules.projectcontentinfo.entity.Projectcontentinfo;
 | 
	
		
			
				|  |  |  import com.jeeplus.modules.projectcontentinfo.service.ProjectContentDataService;
 | 
	
		
			
				|  |  |  import com.jeeplus.modules.projectcontentinfo.service.ProjectcontentinfoService;
 | 
	
		
			
				|  |  |  import com.jeeplus.modules.projectrecord.entity.ProjectImplementEarly;
 | 
	
		
			
				|  |  | +import com.jeeplus.modules.projectrecord.entity.ProjectPaymentTreeData;
 | 
	
		
			
				|  |  |  import com.jeeplus.modules.projectrecord.entity.ProjectRecordTreeData;
 | 
	
		
			
				|  |  |  import com.jeeplus.modules.projectrecord.entity.ProjectRecords;
 | 
	
		
			
				|  |  |  import com.jeeplus.modules.projectrecord.service.ProjectImplementEarlyService;
 | 
	
	
		
			
				|  | @@ -171,43 +172,108 @@ public class ProjectVisaController extends BaseController {
 | 
	
		
			
				|  |  |      @ResponseBody
 | 
	
		
			
				|  |  |      public Map<String,List> getTreeList(ConstructionContract constructionContract, HttpServletRequest request, HttpServletResponse response, Model model){
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        Page<ConstructionContract> page = contractService.findPage(new Page<ConstructionContract>(request, response), constructionContract);
 | 
	
		
			
				|  |  | -        if(UserUtils.isManager()){
 | 
	
		
			
				|  |  | -            model.addAttribute("flag","1");
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        List<ConstructionContract> contractList=page.getList();
 | 
	
		
			
				|  |  |          Map<String,List> map = new HashMap<>();
 | 
	
		
			
				|  |  | +        ProjectImplementEarly projectRecords = new ProjectImplementEarly();
 | 
	
		
			
				|  |  | +        if(StringUtils.isNotBlank(constructionContract.getProjectName())){
 | 
	
		
			
				|  |  | +            projectRecords.setProjectName(constructionContract.getProjectName());
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        Page<ProjectImplementEarly> recordPage = projectImplementEarlyService.findProjectPage(new Page<ProjectImplementEarly>(request, response), projectRecords);
 | 
	
		
			
				|  |  | +        //获取项目信息
 | 
	
		
			
				|  |  | +        List<ProjectImplementEarly> recordList = recordPage.getList();
 | 
	
		
			
				|  |  | +        //新建树形列表集合
 | 
	
		
			
				|  |  |          List<VisaTreeData> treeList=new ArrayList<>();
 | 
	
		
			
				|  |  | -        //便利合同把合同给VisaTreeData而且pid为0
 | 
	
		
			
				|  |  | -        for(int i=0;i<contractList.size();i++){
 | 
	
		
			
				|  |  | -            VisaTreeData visaTreeData=new VisaTreeData();
 | 
	
		
			
				|  |  | -            ConstructionContract contract=contractList.get(i);
 | 
	
		
			
				|  |  | -            visaTreeData.setContractId(contract.getId());
 | 
	
		
			
				|  |  | -            visaTreeData.setId(contract.getId());
 | 
	
		
			
				|  |  | -            visaTreeData.setContractName(contract.getContractName());
 | 
	
		
			
				|  |  | -            visaTreeData.setDate(contract.getCreateDate());
 | 
	
		
			
				|  |  | -            visaTreeData.setNumber("");
 | 
	
		
			
				|  |  | -            visaTreeData.setPid("0");
 | 
	
		
			
				|  |  | -            visaTreeData.setCnumber(contract.getCnumber());
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -            treeList.add(visaTreeData);
 | 
	
		
			
				|  |  | -            //根据获取的合同的id去查找汇总表获取汇总表信息
 | 
	
		
			
				|  |  | -            List<ProjectVisa> projectVisaList=projectVisaService.getVisaList(contract.getId());
 | 
	
		
			
				|  |  | -            for (int j=0;j<projectVisaList.size();j++){
 | 
	
		
			
				|  |  | -                VisaTreeData visaTreeData2=new VisaTreeData();
 | 
	
		
			
				|  |  | -                ProjectVisa visa=projectVisaList.get(j);
 | 
	
		
			
				|  |  | -                visaTreeData2.setPid(visa.getContractId());
 | 
	
		
			
				|  |  | -                visaTreeData2.setId(visa.getId());
 | 
	
		
			
				|  |  | -                visaTreeData2.setContractName(contract.getContractName());
 | 
	
		
			
				|  |  | -                visaTreeData2.setContractId(visa.getContractId());
 | 
	
		
			
				|  |  | -                visaTreeData2.setConfirmMoney(visa.getConfirmMoney());
 | 
	
		
			
				|  |  | -                visaTreeData2.setDate(visa.getDate());
 | 
	
		
			
				|  |  | -                visaTreeData2.setSendMoney(visa.getSendMoney());
 | 
	
		
			
				|  |  | -                visaTreeData2.setCnumber(contract.getCnumber());
 | 
	
		
			
				|  |  | -                visaTreeData2.setNumber(visa.getNumber());
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                treeList.add(visaTreeData2);
 | 
	
		
			
				|  |  | +        if(recordList.size()>0){
 | 
	
		
			
				|  |  | +            for (ProjectImplementEarly record:recordList) {
 | 
	
		
			
				|  |  | +                //将项目信息放入树形列表集合中
 | 
	
		
			
				|  |  | +                VisaTreeData recordTreeData = new VisaTreeData();
 | 
	
		
			
				|  |  | +                //将界面需要展示数据放入类中
 | 
	
		
			
				|  |  | +                recordTreeData.setId(record.getId());
 | 
	
		
			
				|  |  | +                recordTreeData.setContractName(record.getProjectName());
 | 
	
		
			
				|  |  | +                recordTreeData.setCnumber(record.getProjectId());
 | 
	
		
			
				|  |  | +                recordTreeData.setNumber("");
 | 
	
		
			
				|  |  | +                recordTreeData.setPid("0");
 | 
	
		
			
				|  |  | +                //将项目设置为第一级数据
 | 
	
		
			
				|  |  | +                recordTreeData.setCondition(1);
 | 
	
		
			
				|  |  | +                //将项目信息放入
 | 
	
		
			
				|  |  | +                treeList.add(recordTreeData);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                //处理合同信息数据
 | 
	
		
			
				|  |  | +                ConstructionContract conditionContract = new ConstructionContract();
 | 
	
		
			
				|  |  | +                conditionContract.setProjectId(record.getId());
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                if(StringUtils.isNotBlank(constructionContract.getContractName())){
 | 
	
		
			
				|  |  | +                    conditionContract.setContractName(constructionContract.getContractName());
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                //获取合同信息
 | 
	
		
			
				|  |  | +                List<ConstructionContract> contractList = contractService.getConstructionContractList(conditionContract);
 | 
	
		
			
				|  |  | +                if(contractList.size()>0){
 | 
	
		
			
				|  |  | +                    //遍历项目中的合同信息
 | 
	
		
			
				|  |  | +                    for (ConstructionContract contract:contractList) {
 | 
	
		
			
				|  |  | +                        VisaTreeData visaTreeData=new VisaTreeData();
 | 
	
		
			
				|  |  | +                        visaTreeData.setContractId(contract.getId());
 | 
	
		
			
				|  |  | +                        visaTreeData.setId(contract.getId());
 | 
	
		
			
				|  |  | +                        visaTreeData.setContractName(contract.getContractName());
 | 
	
		
			
				|  |  | +                        visaTreeData.setDate(contract.getCreateDate());
 | 
	
		
			
				|  |  | +                        visaTreeData.setNumber("");
 | 
	
		
			
				|  |  | +                        visaTreeData.setPid(record.getId());
 | 
	
		
			
				|  |  | +                        visaTreeData.setCnumber(contract.getCnumber());
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                        //将项目设置为第二级数据
 | 
	
		
			
				|  |  | +                        visaTreeData.setCondition(2);
 | 
	
		
			
				|  |  | +                        //遍历项目负责人信息
 | 
	
		
			
				|  |  | +                        List<User> masterUserList = record.getProjectLeaders();
 | 
	
		
			
				|  |  | +                        List<String> masterList = new ArrayList<>();
 | 
	
		
			
				|  |  | +                        Set masterIdSet = new HashSet();
 | 
	
		
			
				|  |  | +                        for (User masterUser:masterUserList) {
 | 
	
		
			
				|  |  | +                            masterList.add(masterUser.getName());
 | 
	
		
			
				|  |  | +                            masterIdSet.add(masterUser.getId());
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +                        //Set转List
 | 
	
		
			
				|  |  | +                        List<String> masterIdList = new ArrayList<>(masterIdSet);
 | 
	
		
			
				|  |  | +                        for (String masterId : masterIdList) {
 | 
	
		
			
				|  |  | +                            if(masterId.equals(UserUtils.getUser().getId())){
 | 
	
		
			
				|  |  | +                                visaTreeData.setOperationSign(1);
 | 
	
		
			
				|  |  | +                                break;
 | 
	
		
			
				|  |  | +                            }else{
 | 
	
		
			
				|  |  | +                                visaTreeData.setOperationSign(0);
 | 
	
		
			
				|  |  | +                            }
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                        //将项目信息放入
 | 
	
		
			
				|  |  | +                        treeList.add(visaTreeData);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                        //根据获取的合同的id去查找汇总表获取汇总表信息
 | 
	
		
			
				|  |  | +                        List<ProjectVisa> projectVisaList=projectVisaService.getVisaList(contract.getId());
 | 
	
		
			
				|  |  | +                        for (int j=0;j<projectVisaList.size();j++){
 | 
	
		
			
				|  |  | +                            VisaTreeData visaTreeData2=new VisaTreeData();
 | 
	
		
			
				|  |  | +                            ProjectVisa visa=projectVisaList.get(j);
 | 
	
		
			
				|  |  | +                            visaTreeData2.setPid(visa.getContractId());
 | 
	
		
			
				|  |  | +                            visaTreeData2.setId(visa.getId());
 | 
	
		
			
				|  |  | +                            visaTreeData2.setContractName(contract.getContractName());
 | 
	
		
			
				|  |  | +                            visaTreeData2.setContractId(visa.getContractId());
 | 
	
		
			
				|  |  | +                            visaTreeData2.setConfirmMoney(visa.getConfirmMoney());
 | 
	
		
			
				|  |  | +                            visaTreeData2.setDate(visa.getDate());
 | 
	
		
			
				|  |  | +                            visaTreeData2.setSendMoney(visa.getSendMoney());
 | 
	
		
			
				|  |  | +                            visaTreeData2.setCnumber(contract.getCnumber());
 | 
	
		
			
				|  |  | +                            visaTreeData2.setNumber(visa.getNumber());
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                            //将项目设置为第二级数据
 | 
	
		
			
				|  |  | +                            visaTreeData2.setCondition(3);
 | 
	
		
			
				|  |  | +                            for (String masterId : masterIdList) {
 | 
	
		
			
				|  |  | +                                if(masterId.equals(UserUtils.getUser().getId())){
 | 
	
		
			
				|  |  | +                                    visaTreeData2.setOperationSign(1);
 | 
	
		
			
				|  |  | +                                    break;
 | 
	
		
			
				|  |  | +                                }else{
 | 
	
		
			
				|  |  | +                                    visaTreeData2.setOperationSign(0);
 | 
	
		
			
				|  |  | +                                }
 | 
	
		
			
				|  |  | +                            }
 | 
	
		
			
				|  |  | +                            treeList.add(visaTreeData2);
 | 
	
		
			
				|  |  | +                        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          map.put("data",treeList);
 | 
	
		
			
				|  |  |          return map;
 |