Browse Source

现场签证三级菜单

user5 4 years ago
parent
commit
e281b4ba91

+ 9 - 0
src/main/java/com/jeeplus/modules/projectVisa/entity/VisaTreeData.java

@@ -19,6 +19,7 @@ public class VisaTreeData extends DataEntity<VisaTreeData> {
     private String procedure;//审批手续合规性
     private Double confirmMoney;//定审金额
     private String type;//汇总类型1是签证2是设计
+    private Integer condition;   //标识 (1:代表第1级,剩下的以此类推)
 
     public String getContractId() {
         return contractId;
@@ -115,4 +116,12 @@ public class VisaTreeData extends DataEntity<VisaTreeData> {
     public void setCnumber(String cnumber) {
         this.cnumber = cnumber;
     }
+
+    public Integer getCondition() {
+        return condition;
+    }
+
+    public void setCondition(Integer condition) {
+        this.condition = condition;
+    }
 }

+ 100 - 34
src/main/java/com/jeeplus/modules/projectVisa/web/ProjectVisaController.java

@@ -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;

+ 7 - 0
src/main/java/com/jeeplus/modules/projectrecord/web/implementStage/ProjectInterimPaymentController.java

@@ -79,6 +79,9 @@ public class ProjectInterimPaymentController {
         }
         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();
@@ -107,6 +110,10 @@ public class ProjectInterimPaymentController {
                 //处理合同信息数据
                 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){

+ 13 - 3
src/main/webapp/webpage/modules/projectrecord/implementStage/projectInterimPaymentList.jsp

@@ -201,10 +201,16 @@
 					<input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
 					<table:sortColumn id="orderBy" name="orderBy" value="${page.orderBy}" callback="sortOrRefresh();"/><!-- 支持排序 -->
 					<div class="commonQuery lw6">
-						<div class="layui-item query athird ">
+						<div class="layui-item query athird">
+							<label class="layui-form-label">项目名称:</label>
+							<div class="layui-input-block">
+								<form:input path="projectName" htmlEscape="false" maxlength="255"  class=" form-control layui-input"/>
+							</div>
+						</div>
+						<div class="layui-item query athird">
 							<label class="layui-form-label">合同名称:</label>
 							<div class="layui-input-block">
-								<input type="text" id="contractName" name="contractName" value="${contractName}" htmlEscape="false" maxlength="255"  class=" form-control layui-input">
+								<form:input path="contractName" htmlEscape="false" maxlength="255"  class=" form-control layui-input"/>
 							</div>
 						</div>
 						<div class="layui-item athird">
@@ -272,6 +278,10 @@
         	if(undefined == contractName){
 				contractName = "";
 			}
+        	var projectName = $("#projectName").val();
+        	if(undefined == projectName){
+				projectName = "";
+			}
             layer.load(2);
             treetable.render({
                 treeColIndex: 1,//树形图标显示在第几列
@@ -281,7 +291,7 @@
                 treeDefaultClose: true,//是否默认折叠
                 treeLinkage: true,//父级展开时是否自动展开所有子级
                 elem: '#permissionTable',
-                url: '${ctx}/project/projectInterimPayment/getProjectList?projectId=${constructionContract.projectId}&pageNo=${page.pageNo}&contractName='+contractName,
+                url: '${ctx}/project/projectInterimPayment/getProjectList?pageNo=${page.pageNo}&contractName='+contractName+'&projectName='+projectName,
                 page: false,
                 cols: [
 					[

+ 43 - 38
src/main/webapp/webpage/modules/projectrecord/implementStage/projectVisaList.jsp

@@ -160,11 +160,17 @@
     <div class="layui-row">
         <div class="full-width fl">
             <div class="layui-row contentShadow shadowLR" id="queryDiv">
-                <form:form id="searchForm" modelAttribute="constructionContract" action="${ctx}/project/constructionContract/list" method="post" class="form-inline">
+                <form:form id="searchForm" modelAttribute="constructionContract" action="${ctx}/project/projectVisa/list" method="post" class="form-inline">
                     <input id="pageNo" name="pageNo" type="hidden" value="${page.pageNo}"/>
                     <input id="pageSize" name="pageSize" type="hidden" value="${page.pageSize}"/>
                     <div class="commonQuery lw14">
                         <div class="layui-item query athird">
+                            <label class="layui-form-label">项目名称:</label>
+                            <div class="layui-input-block">
+                                <form:input path="projectName" htmlEscape="false" maxlength="255"  class=" form-control layui-input"/>
+                            </div>
+                        </div>
+                        <div class="layui-item query athird">
                             <label class="layui-form-label">合同名称:</label>
                             <div class="layui-input-block">
                                 <form:input path="contractName" htmlEscape="false" maxlength="255"  class=" form-control layui-input"/>
@@ -180,7 +186,7 @@
                         </div>
                         <div style="    clear:both;"></div>
                     </div>
-                    <div id="moresees" style="clear:both;display:none;" class="lw14">
+                    <%--<div id="moresees" style="clear:both;display:none;" class="lw14">
                         <div class="layui-item query athird">
                             <label class="layui-form-label">创建时间:</label>
                             <div class="layui-input-block">
@@ -193,7 +199,7 @@
                                 </input>
                             </div>
                         </div>
-                    </div>
+                    </div>--%>
                 </form:form>
             </div>
         </div>
@@ -246,13 +252,12 @@
         // 渲染表格
         var renderTable = function () {
             var projectName = $("#projectName").val();
-            var workContractInfoName = $("#workContractInfoName").val();
-            var workContractInfoClientName = $("#workContractInfoClientName").val();
-            if(undefined == workContractInfoName){
-                workContractInfoName = "";
+            if(undefined == projectName){
+                projectName = "";
             }
-            if(undefined == workContractInfoClientName){
-                workContractInfoClientName = "";
+            var contractName = $("#contractName").val();
+            if(undefined == contractName){
+                contractName = "";
             }
             layer.load(2);
             treetable.render({
@@ -263,33 +268,41 @@
                 treeDefaultClose: true,//是否默认折叠
                 treeLinkage: true,//父级展开时是否自动展开所有子级
                 elem: '#permissionTable',
-                url: '${ctx}/project/projectVisa/getVisaList?pageNo=${page.pageNo}',
+                url: '${ctx}/project/projectVisa/getVisaList?pageNo=${page.pageNo}&projectName='+projectName+'&contractName='+contractName,
                 page: false,
                 cols: [[
                     {type: 'numbers', align:'center', title: '序号' ,width:80},
-                    {field: 'contractName', title: '合同编号',templet:function(d){
-                            if(0 == d.pid){
+                    {field: 'cnumber', title: '项目编号/合同编号',templet:function(d){
+                            if(d.condition ==1){
+                                return "<font>"+d.cnumber+"</font>";
+                            }else if(d.condition ==2){
                                 return "<font>"+d.cnumber+"</font>";
                             }else{
                                 return "<font>"+d.cnumber+"</font>";
                             }
                         }},
-                    {field: 'contractName', title: '合同名称/签证编号',templet:function(d){
-                            if(0 == d.pid){
+                    {field: 'contractName', title: '项目名称/合同名称/签证编号',templet:function(d){
+                            if(d.condition ==1){
+                                return  "<a class=\"attention-info pid\" title=\"" + d.contractName + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('查看合同信息', '${ctx}/project/constructionContract/view?id=" + d.projectId +"','95%', '95%')\">" + d.contractName + "</a>";
+                            }else if(d.condition ==2){
                                 return  "<a class=\"attention-info pid\" title=\"" + d.contractName + "\" href=\"javascript:void(0);\" onclick=\"openDialogView('查看合同信息', '${ctx}/project/constructionContract/view?id=" + d.contractId +"','95%', '95%')\">" + d.contractName + "</a>";
                             }else{
                                 return "<a class=\"attention-info\" href=\"javascript:void(0)\" onclick=\"openDialogView('查看签证内容', '${ctx}/project/projectVisa/view?id="+d.id+"','95%', '95%')\">" + d.number + "</a>";
                             }
                         }},
                     {field: 'sendMoney', align:'center', title: '送审金额',templet: function(d){
-                            if(0 == d.pid){
+                            if(d.condition ==1){
+                                return "";
+                            }else if(d.condition ==2){
                                 return "";
                             }else{
                                 return "<font>"+d.sendMoney+"</font>";
                             }
                         }},
                     {field: 'confirmMoney', align:'center', title: '定审金额',templet: function(d){
-                            if(0 == d.pid){
+                            if(d.condition ==1){
+                                return "";
+                            }else if(d.condition ==2){
                                 return "";
                             }else{
                                 return "<font>"+d.confirmMoney+"</font>";
@@ -299,30 +312,14 @@
                             var date=d.date;
                             /*date=date.replace(new RegExp(/-/gm) ,"/");*/
 
-                            if(0 == d.pid){
+                            if(d.condition ==1){
+                                return "<font style = 'font-size:14px;font-weight:500;'>"+layui.util.toDateString(date,'yyyy-MM-dd')+"</font>";
+                            }else if(d.condition ==2){
                                 return "<font style = 'font-size:14px;font-weight:500;'>"+layui.util.toDateString(date,'yyyy-MM-dd')+"</font>";
                             }else{
                                 return "<font>"+layui.util.toDateString(date,'yyyy-MM-dd')+"</font>";
                             }
                         }},
-                    /*{align:'center', title: '状态',  width:70,templet:function(d){
-                            var st = getAuditState(""+d.projectStatus);
-                            if(d.pid ==0){
-                                if(st.action)
-                                    var xml = "<span onclick=\"openDialogView('流程追踪', '${ctx}/project/projectRecords/getProcess?id=" + d.id + "','95%','95%')\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
-								else
-									var xml = "<span style=\"cursor:default;\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
-								return xml;
-							}else if(d.pid !=0){
-								if(st.action)
-									var xml = "<span onclick=\"openDialogView('流程追踪', '${ctx}/projectcontentinfo/projectcontentinfo/getProcessOne?id=" + d.id + "&projectReportData.id="+ d.id + "&type="+d.projectStatus+"','95%','95%')\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
-								else
-									var xml = "<span style=\"cursor:default;\" class=\"status-label status-label-" + st.label + "\" >" + st.status + "</span>";
-								return xml;
-							}else{
-								return '';
-							}
-						}},*/
                     {templet: complain, align:'center', title: '操作',width:130}
                 ]],
                 done: function () {
@@ -348,17 +345,25 @@
 
 
         function complain(d){//操作中显示的内容
-            if(d.pid=="0") {
+            if(d.condition ==1) {
+                return [
+                    '',
+                ].join('');
+            } else if(d.condition ==2) {
                 return [
                     '<a href="javascript:void(0)" onclick="openDialogreAudit(\'新增工作内容\', \'${ctx}/project/projectVisa/form?type=1&contractId='+d.contractId+' \',\'95%\',\'95%\')" style=\"color: white;background: darkseagreen\" class="op-btn op-btn-add" ><i class="fa fa-plus"></i> 新增</a>',
                 ].join('');
-            } else if (d.pid!="0"){
+            } else if (d.condition ==3){
                 return [
                     '<a href="javascript:void(0)" onclick="openDialogreAudit(\'修改工作内容\', \'${ctx}/project/projectVisa/updateTable?type=1&id='+d.id+'&contractId='+d.contractId+'\',\'95%\',\'95%\')" class="op-btn op-btn-edit" ><i class="fa fa-edit"></i> 编辑</a>',
                     '<a href="${ctx}/project/projectVisa/delete?type=1&id='+d.id+'" onclick="return confirmxRefresh(\'确认要删除该签证汇总表吗?\', this.href)"   class="op-btn op-btn-delete"><i class="fa fa-trash"></i> 删除</a>',
                 ].join('');
 
-                }
+            }else{
+                return [
+                    '',
+                ].join('');
+            }
 
         }
         //监听工具条