소스 검색

项目上报

user5 4 년 전
부모
커밋
3780c43270
32개의 변경된 파일4927개의 추가작업 그리고 2252개의 파일을 삭제
  1. 4 0
      src/main/java/com/jeeplus/modules/projectEngineering/dao/ProjectEngineeringInfoDao.java
  2. 44 0
      src/main/java/com/jeeplus/modules/projectEngineering/service/ProjectEngineeringService.java
  3. 18 0
      src/main/java/com/jeeplus/modules/ruralprojectrecords/entity/ReportedConsultant.java
  4. 16 7
      src/main/java/com/jeeplus/modules/ruralprojectrecords/entity/RuralProjectRecordsReported.java
  5. 18 0
      src/main/java/com/jeeplus/modules/ruralprojectrecords/entity/RuralReportConsultant.java
  6. 286 99
      src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageService.java
  7. 9 10
      src/main/java/com/jeeplus/modules/ruralprojectrecords/utils/RuralProjectReportedInfoUtil.java
  8. 68 149
      src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralCostProjectMessageController.java
  9. 38 6
      src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectMessageController.java
  10. 9 0
      src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectViewController.java
  11. 6 0
      src/main/java/com/jeeplus/modules/sys/dao/UserDao.java
  12. 18 0
      src/main/java/com/jeeplus/modules/sys/service/SystemService.java
  13. 8 2
      src/main/java/com/jeeplus/modules/sys/web/OfficeController.java
  14. 19 2
      src/main/java/com/jeeplus/modules/sys/web/TagController.java
  15. 51 0
      src/main/java/com/jeeplus/modules/sys/web/UserController.java
  16. 25 8
      src/main/java/com/jeeplus/modules/workprojectnotify/web/WorkProjectNotifyController.java
  17. 34 0
      src/main/resources/mappings/modules/projectEngineering/PeojectEngineeringDao.xml
  18. 3 0
      src/main/resources/mappings/modules/projectcontentinfo/ProjectcontentinfoDao.xml
  19. 76 13
      src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectRecordsReported.xml
  20. 27 0
      src/main/resources/mappings/modules/sys/UserDao.xml
  21. 123 0
      src/main/webapp/WEB-INF/tags/sys/reportedtreeselectUserZXY.tag
  22. 176 41
      src/main/webapp/webpage/modules/ruralprojectrecords/cost/newReportedForm.jsp
  23. 713 327
      src/main/webapp/webpage/modules/ruralprojectrecords/cost/reportedModify.jsp
  24. 2 2
      src/main/webapp/webpage/modules/ruralprojectrecords/cost/ruralCostProjectMessageLists.jsp
  25. 797 444
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/reportedAudit.jsp
  26. 753 350
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/reportedForm.jsp
  27. 711 326
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/reportedModify.jsp
  28. 338 232
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/reportedView.jsp
  29. 3 3
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/ruralProjectMessageLists.jsp
  30. 298 214
      src/main/webapp/webpage/modules/ruralprojectrecords/view/reportedView.jsp
  31. 17 17
      src/main/webapp/webpage/modules/sys/tagTreeselectReported.jsp
  32. 219 0
      src/main/webapp/webpage/modules/sys/tagTreeselectReportedZXY.jsp

+ 4 - 0
src/main/java/com/jeeplus/modules/projectEngineering/dao/ProjectEngineeringInfoDao.java

@@ -38,4 +38,8 @@ public interface ProjectEngineeringInfoDao extends CrudDao<ProjectEngineeringInf
      * @return
      */
     String getEngineeringId(String indexNum);
+
+    ProjectEngineeringInfo getProjectReportedType(String id);
+
+    List<ProjectEngineeringInfo> getProjectReportedTypeList(ProjectEngineeringInfo info);
 }

+ 44 - 0
src/main/java/com/jeeplus/modules/projectEngineering/service/ProjectEngineeringService.java

@@ -154,4 +154,48 @@ public class ProjectEngineeringService extends TreeService<ProjectEngineeringInf
         return engineeringInfoDao.getEngineeringId(indexNum);
     }
 
+    /**
+     * 查询上报项目类型信息
+     * @param id
+     * @return
+     */
+    public ProjectEngineeringInfo getProjectReportedType(String id) {
+        return engineeringInfoDao.getProjectReportedType(id);
+    }
+
+    /**
+     * 查询所有数据
+     * @param projectEngineeringInfo
+     * @return
+     */
+    public List<ProjectEngineeringInfo> getProjectReportedTypeList(ProjectEngineeringInfo projectEngineeringInfo) {
+        List<ProjectEngineeringInfo> projectEngineeringInfoList = new ArrayList<>();
+        List<ProjectEngineeringInfo> listReturn = Lists.newArrayList();
+        //根据条件查询数据集合
+        List<ProjectEngineeringInfo> listAll = engineeringInfoDao.getProjectReportedTypeList(projectEngineeringInfo);
+        Office company = UserUtils.getSelectCompany();
+        projectEngineeringInfo.setCompanyId(company.getId());
+        //判断,数据不为空则添加到返回集合中
+        if (listAll!=null && listAll.size()!=0){
+            projectEngineeringInfoList.addAll(listAll);
+        }
+
+        if(projectEngineeringInfoList!=null&&projectEngineeringInfoList.size()>0&&projectEngineeringInfo!=null&& (StringUtils.isNotBlank(projectEngineeringInfo.getEngineeringName())||StringUtils.isNotBlank(projectEngineeringInfo.getIndexNum()))){
+            //标准内容模糊查询,查询所有父节点
+            Set<String> parentIdSet = new HashSet<>();
+            for (ProjectEngineeringInfo engineeringInfo : projectEngineeringInfoList) {
+                String parentIds = engineeringInfo.getParentIds();
+                if (StringUtils.isNotBlank(parentIds)){
+                    parentIdSet.addAll(Arrays.asList(parentIds.split(",")));
+                }
+            }
+            for (ProjectEngineeringInfo engineeringInfo : projectEngineeringInfoList) {
+                parentIdSet.remove(engineeringInfo.getId());
+            }
+            projectEngineeringInfoList.addAll(0,this.fingIds(parentIdSet,"0"));
+            projectEngineeringInfoList.addAll(0,this.fingIds(parentIdSet,UserUtils.getSelectCompany().getId()));
+        }
+        sortList(listReturn,projectEngineeringInfoList,"0",true);
+        return listReturn;
+    }
 }

+ 18 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/entity/ReportedConsultant.java

@@ -18,6 +18,8 @@ public class ReportedConsultant extends DataEntity<ReportedConsultant> {
     private String reportedId;       //上报id
     private String roleFlag;       //咨询员角色(0:咨询员;1:负责人)
     private String idCard;       //身份证号码
+    private String zhucezigezhKey;       //注册资格证key
+    private String major;
 
     public String getZixunyuanId() {
         return zixunyuanId;
@@ -98,4 +100,20 @@ public class ReportedConsultant extends DataEntity<ReportedConsultant> {
     public void setIdCard(String idCard) {
         this.idCard = idCard;
     }
+
+    public String getZhucezigezhKey() {
+        return zhucezigezhKey;
+    }
+
+    public void setZhucezigezhKey(String zhucezigezhKey) {
+        this.zhucezigezhKey = zhucezigezhKey;
+    }
+
+    public String getMajor() {
+        return major;
+    }
+
+    public void setMajor(String major) {
+        this.major = major;
+    }
 }

+ 16 - 7
src/main/java/com/jeeplus/modules/ruralprojectrecords/entity/RuralProjectRecordsReported.java

@@ -109,15 +109,16 @@ public class RuralProjectRecordsReported extends ActEntity<RuralProjectRecordsRe
 	private List<String> contentsIncludeList;		//咨询项目造价包含内容说明(勾选)
 	private String contentsInclude;//咨询项目造价包含内容说明(勾选)
 	private String projectTotalInvestment;	//项目总投资
-	private String beginDate;	//作业期开始日期
-	private String endDate;	//作业期结束日期
+	private Date beginDate;	//作业期开始日期
+	private Date endDate;	//作业期结束日期
+	private String archivesNo;   //咨询档案编号
 
 	private String advisoryIncome;	//全过程咨询收入
 	private String projectSupervisionIncome;	//工程监理收入
 	private String tenderingAgencyIncome;	//招标代理收入
 	private String designIncome;	//设计收入
 	private String otherIncome;	//其他收入
-	private List<WorkClientAttachment> workAttachments = Lists.newArrayList();
+	private List<WorkClientAttachment> workAttachments = Lists.newArrayList();	//附件信息
 
 	public WorkContractInfo getWorkContractInfo() {
 		return workContractInfo;
@@ -703,19 +704,19 @@ public class RuralProjectRecordsReported extends ActEntity<RuralProjectRecordsRe
 		this.projectTotalInvestment = projectTotalInvestment;
 	}
 
-	public String getBeginDate() {
+	public Date getBeginDate() {
 		return beginDate;
 	}
 
-	public void setBeginDate(String beginDate) {
+	public void setBeginDate(Date beginDate) {
 		this.beginDate = beginDate;
 	}
 
-	public String getEndDate() {
+	public Date getEndDate() {
 		return endDate;
 	}
 
-	public void setEndDate(String endDate) {
+	public void setEndDate(Date endDate) {
 		this.endDate = endDate;
 	}
 
@@ -774,4 +775,12 @@ public class RuralProjectRecordsReported extends ActEntity<RuralProjectRecordsRe
 	public void setContentsInclude(String contentsInclude) {
 		this.contentsInclude = contentsInclude;
 	}
+
+	public String getArchivesNo() {
+		return archivesNo;
+	}
+
+	public void setArchivesNo(String archivesNo) {
+		this.archivesNo = archivesNo;
+	}
 }

+ 18 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/entity/RuralReportConsultant.java

@@ -20,6 +20,8 @@ public class RuralReportConsultant extends DataEntity<RuralReportConsultant> {
     private String role;          //角色
     private String roleFlag;          //角色判定
     private String idCard;          //身份证号
+    private Double wcyysrbl;        //完成营业收入比例( %)
+    private Double wcyysr;          //完成营业收入(元)
 
     public String getZixunyuanId() {
         return zixunyuanId;
@@ -124,4 +126,20 @@ public class RuralReportConsultant extends DataEntity<RuralReportConsultant> {
     public void setIdCard(String idCard) {
         this.idCard = idCard;
     }
+
+    public Double getWcyysrbl() {
+        return wcyysrbl;
+    }
+
+    public void setWcyysrbl(Double wcyysrbl) {
+        this.wcyysrbl = wcyysrbl;
+    }
+
+    public Double getWcyysr() {
+        return wcyysr;
+    }
+
+    public void setWcyysr(Double wcyysr) {
+        this.wcyysr = wcyysr;
+    }
 }

+ 286 - 99
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageService.java

@@ -1,5 +1,8 @@
 package com.jeeplus.modules.ruralprojectrecords.service;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import com.google.gson.Gson;
 import com.jeeplus.common.persistence.Page;
@@ -41,6 +44,7 @@ import com.jeeplus.modules.ruralprojectrecords.utils.RuralProjectReportedUtil;
 import com.jeeplus.modules.sys.dao.WorkattachmentDao;
 import com.jeeplus.modules.sys.entity.*;
 import com.jeeplus.modules.sys.service.OfficeService;
+import com.jeeplus.modules.sys.service.UserService;
 import com.jeeplus.modules.sys.service.WorkattachmentService;
 import com.jeeplus.modules.sys.utils.DictUtils;
 import com.jeeplus.modules.sys.utils.UserUtils;
@@ -69,7 +73,9 @@ import com.jeeplus.modules.workprojectnotify.entity.WorkProjectNotify;
 import com.jeeplus.modules.workprojectnotify.service.WorkProjectNotifyService;
 import com.jeeplus.modules.workprojectnotify.util.UtilNotify;
 import com.jeeplus.modules.workreview.dao.WorkReviewAuditDao;
+import com.jeeplus.modules.workstaff.entity.WorkStaffBasicInfo;
 import com.jeeplus.modules.workstaff.entity.WorkStaffCertificate;
+import com.jeeplus.modules.workstaff.service.WorkStaffBasicInfoService;
 import org.activiti.engine.ActivitiObjectNotFoundException;
 import org.activiti.engine.HistoryService;
 import org.activiti.engine.IdentityService;
@@ -167,6 +173,10 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
     private ProjectFilingbatchRelationDao filingbatchRelationDao;
     @Autowired
     private ProjectFilingBatchDao projectFilingBatchDao;
+    @Autowired
+    private UserService userService;
+    @Autowired
+    private WorkStaffBasicInfoService workStaffBasicInfoService;
 
     private static byte[] SYN_BYTE = new byte[0];
 
@@ -2062,15 +2072,25 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
             if (StringUtils.isNotBlank(ruralProjectRecordsReported.getFGYLProject())) {
                 ruralProjectRecordsReported.setFGYLProjectList(Arrays.asList(ruralProjectRecordsReported.getFGYLProject().split(";")));
             }
+            if (StringUtils.isNotBlank(ruralProjectRecordsReported.getContentsInclude())) {
+                ruralProjectRecordsReported.setContentsIncludeList(Arrays.asList(ruralProjectRecordsReported.getContentsInclude().split(",")));
+            }
 
             //查询咨询员信息
             List<ReportedConsultant> consultantList = ruralProjectRecordsReportedDao.consultantList(id);
-            if(0 < consultantList.size()) {
+            List<ReportedConsultant> reportedConsultants = this.disposeReportedConsultant(consultantList);
+            /*if(0 < consultantList.size()) {
                 for (ReportedConsultant info : consultantList) {
                     info.setZixunyuanId(info.getZixunyuan());
                 }
-            }
-            ruralProjectRecordsReported.setReportedConsultantList(consultantList);
+            }*/
+            ruralProjectRecordsReported.setReportedConsultantList(reportedConsultants);
+
+            WorkClientAttachment workClientAttachment = new WorkClientAttachment();
+            workClientAttachment.setAttachmentId(id);
+            List<WorkClientAttachment> attachmentList = workattachmentService.getAttachmentList(workClientAttachment);
+            workattachmentService.clientAttachmentManageOnUrl(attachmentList);
+            ruralProjectRecordsReported.setWorkAttachments(attachmentList);
         }
         return ruralProjectRecordsReported;
     }
@@ -2122,6 +2142,13 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
                 break;
             }
         }
+        List<MainDictDetail> projectClassifyList = DictUtils.getMainDictList("project_classify");
+        for (MainDictDetail info: projectClassifyList) {
+            if(info.getValue().equals(reported.getProjectClassify())) {
+                reported.setProjectClassify(info.getLabel());
+                break;
+            }
+        }
     }
 
     /**
@@ -2164,8 +2191,9 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
     @Transactional(readOnly = false)
     public String saveReportedInfo(RuralProjectRecordsReported reported) {
         this.disposeList(reported);
+        reported.setS3(reported.getS3().replaceAll(",",""));
         //查询是否已经上报项目信息
-        /*if (StringUtils.isBlank(reported.getId())){
+        if (StringUtils.isBlank(reported.getId())){
             reported.setCompany(UserUtils.getSelectCompany());
             reported.setOffice(UserUtils.getSelectOffice());
             reported.preInsert();
@@ -2175,100 +2203,9 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
         }else{
             reported.preUpdate();
             ruralProjectRecordsReportedDao.update(reported);
-        }*/
-
-        //信用代码id
-        String jsonUscCode = "{\"uscCode\": \"91320000746823994F\"";
-        String jsonUscData ="{\n" +
-                "    \"projectProv\": \"999\", \n" +
-                "    \"projectHome\": \"99965\", \n" +
-                "    \"projectNum\": \"0\", \n" +
-                "    \"projectName\": \"测试接口导入项目\", \n" +
-                "    \"projectSort\": \"01\", \n" +
-                "    \"projectSection\": \"测试标段\", \n" +
-                "    \"projectCode\": \"0\", \n" +
-                "    \"investPropCd\": \"101\", \n" +
-                "    \"contractNum\": \"2021兴光/工程咨询0024\", \n" +
-                "    \"contractTypeCd\": \"10\", \n" +
-                "    \"projectTypeCd\": \"18\", \n" +
-                "    \"entrustUnit\": \"国网江苏省电力有限公司苏州供电分公司\", \n" +
-                "    \"entrustPhone\": \"0512-68294631\", \n" +
-                "    \"recordNum\": \"苏兴造字【2021】1669\", \n" +
-                "    \"issueReportDate\": \"2021-06-04\", \n" +
-                "    \"incomeFee\": \"11\", \n" +
-                "    \"leaderName\": \"刘万前\", \n" +
-                "    \"leaderLetterNum\": \"321023196509162457\", \n" +
-                "    \"leaderIncomePercent\": \"1.5\", \n" +
-                "    \"leaderIncomeMoney\": \"1546.0\", \n" +
-                "    \"staffs\": {\n" +
-                "                \"staff0\":{\n" +
-                "                    \"staffName\": \"刘昕\",\n" +
-                "                    \"letterNum\": \"320802196810071547\",\n" +
-                "                    \"incomePercent\": \"30\",\n" +
-                "                    \"jobContent\": \"测试工作内容\"\n" +
-                "                },\n" +
-                "                \"staff1\":{\n" +
-                "                    \"staffName\": \"刘建春\",\n" +
-                "                    \"letterNum\": \"321024196603050087\",\n" +
-                "                    \"incomePercent\": \"30\",\n" +
-                "                    \"jobContent\": \"测试工作内容2\"\n" +
-                "                }\n" +
-                "              },\n" +
-                "    \"projectStructCd\": \"099\", \n" +
-                "    \"floorUp\": \"2\", \n" +
-                "    \"floorDown\": \"3\", \n" +
-                "    \"projectAreaVal\": \"23\", \n" +
-                "    \"projectAreaUnit\": \"10\", \n" +
-                "    \"projectUseCd\": \"09\", \n" +
-                "    \"targetFee\": \"56\", \n" +
-                "    \"contractFee\": \"733026.00\", \n" +
-                "    \"submitAuditFee\": \"632111.00\", \n" +
-                "    \"fixedAuditFee\": \"625580.00\", \n" +
-
-                "    \"checkCutFee\": \"6531.00\", \n" +
-                "    \"checkCutLv\": \"1.03\", \n" +
-
-                "    \"projectContainContent\": \"40,70\", \n" +
-                "    \"totalInvestment\": \"10\", \n" +
-                "    \"chiefConsultant\": \"刘万前\", \n" +
-                "    \"archivesNo\": \"12\", \n" +
-                "    \"stage\": \"2020-02-12到2021-12-12\", \n" +
-                "    \"wholeIncomeFee\": \"\", \n" +
-                "    \"supervisorFee\": \"\", \n" +
-                "    \"biddingFee\": \"\", \n" +
-                "    \"designFee\": \"\", \n" +
-                "    \"otherFee\": \"\", \n" +
-                "    \"delFlag\": \"0\"\n" +
-                "}";
-        System.out.println(jsonUscData);
-        byte[] privateKey = Base64.decodeBase64(PRIVATE_KEY);
-        //客户拿到密钥将自己的数据 jsonUscData 进行非对称加密。
-        byte[] encryptByPrivateKey = new byte[0];
-        try {
-            encryptByPrivateKey = Rsatool.encryptByPrivateKey(jsonUscData.getBytes(), privateKey);
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        //将唯一标志和非对称加密后数据采用对称加密,方便传到服务段解析,并获得非对称的公钥来解密客户用密钥加密的数据
-        String encryString = jsonUscCode + ",\"data\":\"" + Base64.encodeBase64String(encryptByPrivateKey) + "\"}";
-        String encryptByAes = null;
-        try {
-            encryptByAes = Aestool.Encrypt(encryString, AES_KEY);
-            String encrypts = Aestool.Decrypt(encryString, AES_KEY);
-            System.out.println(encrypts);
-        } catch (Exception e) {
-            e.printStackTrace();
         }
-        String url = "http://comp.jszj.com.cn:8031/api/testAddProject";
-        //发送请求
-        /*try {
-            String s = HttpPostTool.sendPost(url, encryptByAes);
-        } catch (IOException e) {
-            e.printStackTrace();
-        }*/
-        String s = HttpPostTool.doPost(url, encryptByAes);
         //删除上报咨询员信息
-        /*ruralProjectRecordsReportedDao.deleteConsultant(reported);
+        ruralProjectRecordsReportedDao.deleteConsultant(reported);
         //保存咨询员信息
         for (ReportedConsultant info : reported.getReportedConsultantList()){
             if (info.getZixunyuan() == null){
@@ -2278,10 +2215,31 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
             info.setReportedId(reported.getId());
             info.preInsert();
             ruralProjectRecordsReportedDao.insertConsultant(info);
-        }*/
+        }
+
+        //保存附件信息
+        if(reported.getWorkAttachments().size()>0){
+            List<WorkClientAttachment> workAttachments = reported.getWorkAttachments();
+            for (WorkClientAttachment workClientAttachment: workAttachments) {
+                if (workClientAttachment.getId() == null){
+                    continue;
+                }
+                if (WorkClientAttachment.DEL_FLAG_NORMAL.equals(workClientAttachment.getDelFlag())){
+                    workClientAttachment.setAttachmentId(reported.getId());
+                    workClientAttachment.setAttachmentUser(UserUtils.getUser().getId());
+                    if (com.jeeplus.common.utils.StringUtils.isBlank(workClientAttachment.getId()) || "null".equals(workClientAttachment.getId())){
+                        workattachmentService.insertOnWorkClientAttachment(workClientAttachment);
+                    }else{
+                        workattachmentService.updateOnWorkClientAttachment(workClientAttachment);
+                    }
+                }else{
+                    workClientAttachmentDao.delete(workClientAttachment);
+                }
+            }
+        }
 
         //启动审核
-        return null/*this.startAudit(reported,reported.getProcessInstanceId())*/;
+        return this.startAudit(reported,reported.getProcessInstanceId());
     }
 
 
@@ -2629,6 +2587,34 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
                             if(!"Success".equals(client)){
                                 return "上报失败!";
                             }*/
+
+                            //信用代码id
+                            String jsonUscCode = "{\"uscCode\": \"91320000746823994F\"";
+                            Map map = RuralProjectReportedInfoUtil.reportedDataManage(reported);
+                            String jsonUscData = JSONObject.toJSONString(map);
+                            byte[] privateKey = Base64.decodeBase64(PRIVATE_KEY);
+                            //客户拿到密钥将自己的数据 jsonUscData 进行非对称加密。
+                            byte[] encryptByPrivateKey = new byte[0];
+                            try {
+                                encryptByPrivateKey = Rsatool.encryptByPrivateKey(jsonUscData.getBytes(), privateKey);
+                            } catch (Exception e) {
+                                e.printStackTrace();
+                            }
+                            //将唯一标志和非对称加密后数据采用对称加密,方便传到服务段解析,并获得非对称的公钥来解密客户用密钥加密的数据
+                            String encryString = jsonUscCode + ",\"data\":\"" + Base64.encodeBase64String(encryptByPrivateKey) + "\"}";
+                            String encryptByAes = null;
+                            try {
+                                encryptByAes = Aestool.Encrypt(encryString, AES_KEY);
+                            } catch (Exception e) {
+                                e.printStackTrace();
+                            }
+                            String url = "http://comp.jszj.com.cn:8031/api/testAddProject";
+                            //发送请求
+                            String returnResult = HttpPostTool.doPost(url, encryptByAes);
+                            HashMap hashMap = JSON.parseObject(returnResult, HashMap.class);
+                            if(!"1".equals(hashMap.get("code"))){
+                                return "上报失败:" + hashMap.get("msg").toString();
+                            }
                         } else {
                             notifyRole = "调整上报信息";
                             workActivityProcess.setIsApproval("2");
@@ -2936,11 +2922,212 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
 
     /**
      * 根据用户查询技能信息
-     * @param projectId
+     * @param userId
      * @return
      */
     public List<WorkStaffCertificate> getCertificateByUser(String userId){
         List<WorkStaffCertificate> list=projectcontentinfoDao.getCertificateByUser(userId);
         return list;
     }
+
+    /**
+     * 对上报的咨询员进行处理
+     * @param consultants
+     * @return
+     */
+    public List<RuralReportConsultant> disposereportedConsultant(List<RuralReportConsultant> consultants){
+        List<RuralReportConsultant> consultantInfoList = Lists.newArrayList();
+        List<RuralReportConsultant> list = Lists.newArrayList();
+        Iterator<RuralReportConsultant> it = consultants.iterator();
+        while(it.hasNext()){
+            RuralReportConsultant consultant = it.next();
+            if("1".equals(consultant.getRoleFlag())){
+                list.add(consultant);
+                it.remove();
+            }
+        }
+        list.addAll(consultants);
+        consultants = list;
+        //获取专业类型
+        List<MainDictDetail> certificateMajor = DictUtils.getMainDictList("certificate_major");
+        //创建负责人信息
+        RuralReportConsultant master = new RuralReportConsultant();
+        for (RuralReportConsultant consultant: consultants) {
+            //根据用户查询技能信息
+            List<WorkStaffCertificate> certificateList = this.getCertificateByUser(consultant.getZixunyuan());
+            for (WorkStaffCertificate certificateInfo: certificateList) {
+                if(certificateInfo.getName().equals(consultant.getZhucezigezhKey())){
+                    consultant.setZhucezigezhID(certificateInfo.getNum());
+                }
+                for (MainDictDetail type : certificateMajor) {
+                    if(certificateInfo.getMajor().equals(type.getValue())){
+                        consultant.setMajor(type.getLabel());
+                    }
+                }
+            }
+            User user=userService.get(consultant.getZixunyuan());
+            //查询用户身份证号
+            WorkStaffBasicInfo userInfo = workStaffBasicInfoService.getByUserId(user.getId());
+            if(null != userInfo){
+                consultant.setIdCard(userInfo.getIdCard());
+            }
+            if("1".equals(consultant.getRoleFlag())){
+                consultant.setRole("负责人");
+            }else{
+                consultant.setRole("咨询员");
+            }
+            consultant.setZixunyuanName(user.getName());
+            consultantInfoList.add(consultant);
+        }
+        return consultantInfoList;
+    }
+
+
+
+    /**
+     * 咨询员信息处理
+     * @param consultants
+     * @return
+     */
+    public List<RuralReportConsultant> disposeConsultant(List<RuralReportConsultant> consultants,RuralProjectRecords projectRecords){
+        List<RuralReportConsultant> consultantInfoList = Lists.newArrayList();
+        //查询报告信息
+        Projectcontentinfo projectcontentinfo1 = projectcontentinfoService.getByProjectId(projectRecords.getId());
+        ProjectReportData projectReportData = projectReportDataService.getOnRural(projectcontentinfo1.getInfoId());
+        //创建负责人信息
+        RuralReportConsultant master = new RuralReportConsultant();
+        for (RuralReportConsultant consultant: consultants) {
+            //判断是否是负责人,如果是则挑出来
+            if(com.jeeplus.common.utils.StringUtils.isNotBlank(consultant.getRoleFlag()) && "1".equals(consultant.getRoleFlag())){
+                master = consultant;
+                break;
+            }
+        }
+        //如果没有负责人,则将项目负责人添加进去
+        if(com.jeeplus.common.utils.StringUtils.isBlank(master.getId())){
+            //将自己添加到咨询员数据中
+            //根据用户查询技能信息
+            RuralReportConsultant currentConsultant = new RuralReportConsultant();
+            List<WorkStaffCertificate> userCertificateList = Lists.newArrayList();
+            if(com.jeeplus.common.utils.StringUtils.isNotBlank(projectRecords.getProjectMasterId())){
+                userCertificateList = this.getCertificateByUser(projectRecords.getProjectMasterId());
+            }
+            //获取专业类型
+            List<MainDictDetail> certificateMajor = DictUtils.getMainDictList("certificate_major");
+            for (WorkStaffCertificate certificateInfo: userCertificateList) {
+                currentConsultant.setZhucezigezhID(certificateInfo.getNum());
+                currentConsultant.setZhucezigezhKey(certificateInfo.getName());
+                for (MainDictDetail type : certificateMajor) {
+                    if(certificateInfo.getMajor().equals(type.getValue())){
+                        currentConsultant.setMajor(type.getLabel());
+                    }
+                }
+                User currentUser=userService.get(projectRecords.getProjectMasterId());
+                currentConsultant.setZixunyuanName(currentUser.getName());
+                currentConsultant.setZixunyuan(currentUser.getId());
+                currentConsultant.setRole("负责人");
+                currentConsultant.setRoleFlag("1");
+                //查询用户身份证号
+                WorkStaffBasicInfo userInfo = workStaffBasicInfoService.getByUserId(currentUser.getId());
+                if(null != userInfo){
+                    currentConsultant.setIdCard(userInfo.getIdCard());
+                }
+                consultantInfoList.add(currentConsultant);
+            }
+            //根据项目id查找报告咨询员信息
+            List<RuralReportConsultant> consultantList = this.getConsultantsList(projectRecords.getId());
+            //使用迭代器去除重复信息
+            //排除 重新申请|撤销
+            Iterator<RuralReportConsultant> it = consultantList.iterator();
+            while(it.hasNext()){
+                RuralReportConsultant consultant = it.next();
+                if(consultant.getZixunyuan().equals(currentConsultant.getZixunyuan())){
+                    try {
+                        MyBeanUtils.copyBeanNotNull2Bean(consultant, currentConsultant);
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    }
+                    it.remove();
+                }else{
+                    //根据用户查询技能信息
+                    List<WorkStaffCertificate> certificateList = this.getCertificateByUser(consultant.getZixunyuan());
+                    for (WorkStaffCertificate certificateInfo: certificateList) {
+                        if(certificateInfo.getName().equals(consultant.getZhucezigezhKey())){
+                            consultant.setZhucezigezhID(certificateInfo.getNum());
+                        }
+                        for (MainDictDetail type : certificateMajor) {
+                            if(certificateInfo.getMajor().equals(type.getValue())){
+                                consultant.setMajor(type.getLabel());
+                            }
+                        }
+                    }
+                    User user=userService.get(consultant.getZixunyuan());
+                    consultant.setRole("咨询员");
+                    consultant.setZixunyuanName(user.getName());
+                    //查询用户身份证号
+                    WorkStaffBasicInfo userInfo = workStaffBasicInfoService.getByUserId(user.getId());
+                    if(null != userInfo){
+                        consultant.setIdCard(userInfo.getIdCard());
+                    }
+                    if(consultant.getZixunyuan().equals(projectReportData.getBzshbUserId())){
+                        it.remove();
+                    }
+                }
+            }
+            consultantInfoList.addAll(consultantList);
+
+        }
+
+        return consultantInfoList;
+    }
+
+
+
+    /**
+     * 对上报的咨询员进行处理
+     * @param consultants
+     * @return
+     */
+    public List<ReportedConsultant> disposeReportedConsultant(List<ReportedConsultant> consultants){
+        List<ReportedConsultant> consultantInfoList = Lists.newArrayList();
+        List<ReportedConsultant> list = Lists.newArrayList();
+        Iterator<ReportedConsultant> it = consultants.iterator();
+        while(it.hasNext()){
+            ReportedConsultant consultant = it.next();
+            if("1".equals(consultant.getRoleFlag())){
+                list.add(consultant);
+                it.remove();
+            }
+        }
+        list.addAll(consultants);
+        consultants = list;
+        //获取专业类型
+        List<MainDictDetail> certificateMajor = DictUtils.getMainDictList("certificate_major");
+        //创建负责人信息
+        RuralReportConsultant master = new RuralReportConsultant();
+        for (ReportedConsultant consultant: consultants) {
+            //根据用户查询技能信息
+            List<WorkStaffCertificate> certificateList = this.getCertificateByUser(consultant.getZixunyuan());
+            for (WorkStaffCertificate certificateInfo: certificateList) {
+                if(certificateInfo.getName().equals(consultant.getZhucezigezhID())){
+                    consultant.setZhucezigezhID(certificateInfo.getNum());
+                }
+                for (MainDictDetail type : certificateMajor) {
+                    if(certificateInfo.getMajor().equals(type.getValue())){
+                        consultant.setMajor(type.getLabel());
+                        break;
+                    }
+                }
+            }
+            User user=userService.get(consultant.getZixunyuan());
+            //查询用户身份证号
+            WorkStaffBasicInfo userInfo = workStaffBasicInfoService.getByUserId(user.getId());
+            if(null != userInfo){
+                consultant.setIdCard(userInfo.getIdCard());
+            }
+            consultant.setZixunyuanName(user.getName());
+            consultantInfoList.add(consultant);
+        }
+        return consultantInfoList;
+    }
 }

+ 9 - 10
src/main/java/com/jeeplus/modules/ruralprojectrecords/utils/RuralProjectReportedInfoUtil.java

@@ -8,6 +8,7 @@ import com.jeeplus.modules.ruralprojectrecords.entity.StaffInfo;
 import com.jeeplus.modules.sys.entity.User;
 import com.jeeplus.modules.sys.utils.UserUtils;
 
+import java.text.SimpleDateFormat;
 import java.util.*;
 
 /**
@@ -107,15 +108,17 @@ public class RuralProjectReportedInfoUtil {
             map.put("floorDown","");
         }
         //建筑规模,必填
-        map.put("projectAreaVal",reported.getGCGMValue());
+        map.put("projectAreaVal",reported.getGCGMValueParameter());
         //建筑规模单位,必填
-        map.put("projectAreaUnit",reported.getGCGMValueParameter());
+        map.put("projectAreaUnit",reported.getGCGMValue());
         //工程用途,必填
         map.put("projectUseCd",reported.getPorjectUse());
         //咨询标的额(万元),必填
         map.put("targetFee",reported.getZiXunBDE());
         //合同价(万元)
         map.put("contractFee",notRequiredManage(reported.getHeTongJia()));
+        //咨询档案编号(万元)
+        map.put("archivesNo",notRequiredManage(reported.getArchivesNo()));
         //送审价(万元)
         map.put("submitAuditFee",notRequiredManage(reported.getSongShenJia()));
         //审定价(万元)
@@ -144,9 +147,10 @@ public class RuralProjectReportedInfoUtil {
         //咨询档案编号
         map.put("archivesNo",notRequiredManage(reported.getProjectTotalInvestment()));
         //作业期(起止时间) 模板:2020-12-12到2021-12-12
-        if(StringUtils.isNotBlank(reported.getBeginDate()) && StringUtils.isNotBlank(reported.getEndDate())){
-            map.put("stage",reported.getBeginDate() + "到" + reported.getEndDate());
-        }else{
+        if(null != reported.getBeginDate() && null != reported.getEndDate()){
+            SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
+            map.put("stage",formatter.format(reported.getBeginDate()) + "到" + formatter.format(reported.getEndDate()));
+        } else{
             map.put("stage","");
         }
         //全过程工程咨询收入
@@ -193,11 +197,6 @@ public class RuralProjectReportedInfoUtil {
             staffInfo.setIncomeMoney(reportedConsultantList.get(i).getWcyysr().toString());//专业咨询员完成营业收入
             staffInfo.setJobContent(reportedConsultantList.get(i).getWordnr());//专业咨询员负责内容,必填
             map.put("staff"+i,staffInfo.toString());
-            /*map.put("staffName"+i,ziXunYuaUser.getName());                                  //咨询员名称,必填
-            map.put("letterNum"+i,reportedConsultantList.get(i).getIdCard());      //咨询员身份证号,必填
-            map.put("incomePercent"+i,reportedConsultantList.get(i).getWcyysrbl().toString());         //专业咨询员完成营业收入比例,必填
-            map.put("incomeMoney"+i,reportedConsultantList.get(i).getWcyysr().toString());           //专业咨询员完成营业收入
-            map.put("jobContent"+i,reportedConsultantList.get(i).getWordnr());            //专业咨询员负责内容,必填*/
         }
         String jsonStr = JSONObject.toJSONString(map);
         System.out.println(jsonStr);

+ 68 - 149
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralCostProjectMessageController.java

@@ -15,6 +15,8 @@ import com.jeeplus.modules.projectAccessory.entity.ProjectAccessoryRelationInfo;
 import com.jeeplus.modules.projectAccessory.entity.ProjectTemplateInfo;
 import com.jeeplus.modules.projectAccessory.service.ProjectAccessoryRelationService;
 import com.jeeplus.modules.projectAccessory.service.ProjectTemplateService;
+import com.jeeplus.modules.projectEngineering.entity.EngineeringTree;
+import com.jeeplus.modules.projectEngineering.entity.ProjectEngineeringInfo;
 import com.jeeplus.modules.projectEngineering.service.ProjectEngineeringService;
 import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportData;
 import com.jeeplus.modules.projectcontentinfo.entity.ProjectReportRecord;
@@ -49,6 +51,7 @@ import org.activiti.engine.runtime.ProcessInstance;
 import org.activiti.engine.task.Task;
 import org.apache.shiro.authz.annotation.Logical;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.json.JSONArray;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
@@ -1473,7 +1476,7 @@ public class RuralCostProjectMessageController extends BaseController {
         WorkStaffCertificate workStaffCertificate=new WorkStaffCertificate();
         for (WorkStaffCertificate workStaff:workStaffBasicInfo.getCertificateList()){
             //判定是否是一级造价师
-            if ("161".equals( workStaff.getName())){
+            if ("161".equals( workStaff.getName()) || "171".equals( workStaff.getName())){
                 workStaffCertificate.setName(workStaff.getName());
                 workStaffCertificate.setNum(workStaff.getNum());
                 List<MainDictDetail> mainDictDetails=DictUtils.getMainDictListOnProjectAdvent("certificate_major");
@@ -1702,169 +1705,30 @@ public class RuralCostProjectMessageController extends BaseController {
         List<RuralReportConsultant> consultantList = Lists.newArrayList();
         if(reportedConsultants.size() == 0){
             //如果上报的咨询员信息为空 则处理报告咨询员信息
-            consultantList = disposeConsultant(consultants, projectRecords);
+            consultantList = ruralProjectMessageService.disposeConsultant(consultants, projectRecords);
         }else{
             //对上报的咨询员进行处理
-            consultantList = disposereportedConsultant(consultants, projectRecords);
+            consultantList = ruralProjectMessageService.disposereportedConsultant(reportedConsultants);
         }
         RuralProjectRecords records = projectRecordsService.getQueryProjectUsers(reported.getProjectId());
-        reported.setProjectRecordId(records.getProjectId());
+        if(StringUtils.isBlank(reported.getProjectRecordId())){
+            reported.setProjectRecordId(records.getProjectId());
+        }
         model.addAttribute("ruralProjectRecordsReported", reported);
         //查询项目信息
         model.addAttribute("ruralProjectRecords", records);
         model.addAttribute("consultantInfo", consultantList);
         if(StringUtils.isBlank(reported.getS1())){
-            reported.setS1("1");
+            reported.setS1("10");
         }
+        //获取工程类型
+        ProjectEngineeringInfo engineeringInfos=engineeringService.getProjectReportedType(reported.getPorjectUse());
+        model.addAttribute("engineeringInfo", engineeringInfos);
         List<Area> areaList = ruralProjectMessageService.getProjectReportedAreaByParentId(reported.getS1());
         model.addAttribute("cityList", areaList);
         return "modules/ruralprojectrecords/cost/newReportedForm";
     }
 
-    private List<RuralReportConsultant> disposereportedConsultant(List<RuralReportConsultant> consultants,RuralProjectRecords projectRecords){
-        List<RuralReportConsultant> consultantInfoList = Lists.newArrayList();
-        List<RuralReportConsultant> list = Lists.newArrayList();
-        Iterator<RuralReportConsultant> it = consultants.iterator();
-        while(it.hasNext()){
-            RuralReportConsultant consultant = it.next();
-            if("1".equals(consultant.getRoleFlag())){
-                list.add(consultant);
-                it.remove();
-            }
-        }
-        list.addAll(consultants);
-        consultants = list;
-        //获取专业类型
-        List<MainDictDetail> certificateMajor = DictUtils.getMainDictList("certificate_major");
-        //创建负责人信息
-        RuralReportConsultant master = new RuralReportConsultant();
-        for (RuralReportConsultant consultant: consultants) {
-            //根据用户查询技能信息
-            List<WorkStaffCertificate> certificateList = ruralProjectMessageService.getCertificateByUser(consultant.getZixunyuan());
-            for (WorkStaffCertificate certificateInfo: certificateList) {
-                if(certificateInfo.getName().equals(consultant.getZhucezigezhKey())){
-                    consultant.setZhucezigezhID(certificateInfo.getNum());
-                }
-                for (MainDictDetail type : certificateMajor) {
-                    if(certificateInfo.getMajor().equals(type.getValue())){
-                        consultant.setMajor(type.getLabel());
-                    }
-                }
-            }
-            User user=userService.get(consultant.getZixunyuan());
-            //查询用户身份证号
-            WorkStaffBasicInfo userInfo = workStaffBasicInfoService.getByUserId(user.getId());
-            if(null != userInfo){
-                consultant.setIdCard(userInfo.getIdCard());
-            }
-            if("1".equals(consultant.getRoleFlag())){
-                consultant.setRole("负责人");
-            }else{
-                consultant.setRole("咨询员");
-            }
-            consultant.setZixunyuanName(user.getName());
-            consultantInfoList.add(consultant);
-        }
-        return consultantInfoList;
-    }
-
-    /**
-     * 咨询员信息处理
-     * @param consultants
-     * @return
-     */
-    private List<RuralReportConsultant> disposeConsultant(List<RuralReportConsultant> consultants,RuralProjectRecords projectRecords){
-        List<RuralReportConsultant> consultantInfoList = Lists.newArrayList();
-        //查询报告信息
-        Projectcontentinfo projectcontentinfo1 = projectcontentinfoService.getByProjectId(projectRecords.getId());
-        ProjectReportData projectReportData = projectReportDataService.getOnRural(projectcontentinfo1.getInfoId());
-        //创建负责人信息
-        RuralReportConsultant master = new RuralReportConsultant();
-        for (RuralReportConsultant consultant: consultants) {
-            //判断是否是负责人,如果是则挑出来
-            if(StringUtils.isNotBlank(consultant.getRoleFlag()) && "1".equals(consultant.getRoleFlag())){
-                master = consultant;
-                break;
-            }
-        }
-        //如果没有负责人,则将项目负责人添加进去
-        if(StringUtils.isBlank(master.getId())){
-            //将自己添加到咨询员数据中
-            //根据用户查询技能信息
-            RuralReportConsultant currentConsultant = new RuralReportConsultant();
-            List<WorkStaffCertificate> userCertificateList = Lists.newArrayList();
-            if(StringUtils.isNotBlank(projectRecords.getProjectMasterId())){
-                userCertificateList = ruralProjectMessageService.getCertificateByUser(projectRecords.getProjectMasterId());
-            }
-            //获取专业类型
-            List<MainDictDetail> certificateMajor = DictUtils.getMainDictList("certificate_major");
-            for (WorkStaffCertificate certificateInfo: userCertificateList) {
-                currentConsultant.setZhucezigezhID(certificateInfo.getNum());
-                currentConsultant.setZhucezigezhKey(certificateInfo.getName());
-                for (MainDictDetail type : certificateMajor) {
-                    if(certificateInfo.getMajor().equals(type.getValue())){
-                        currentConsultant.setMajor(type.getLabel());
-                    }
-                }
-                User currentUser=userService.get(projectRecords.getProjectMasterId());
-                currentConsultant.setZixunyuanName(currentUser.getName());
-                currentConsultant.setZixunyuan(currentUser.getId());
-                currentConsultant.setRole("负责人");
-                currentConsultant.setRoleFlag("1");
-                //查询用户身份证号
-                WorkStaffBasicInfo userInfo = workStaffBasicInfoService.getByUserId(currentUser.getId());
-                if(null != userInfo){
-                    currentConsultant.setIdCard(userInfo.getIdCard());
-                }
-                consultantInfoList.add(currentConsultant);
-            }
-            //根据项目id查找报告咨询员信息
-            List<RuralReportConsultant> consultantList = ruralProjectMessageService.getConsultantsList(projectRecords.getId());
-            //使用迭代器去除重复信息
-            //排除 重新申请|撤销
-            Iterator<RuralReportConsultant> it = consultantList.iterator();
-            while(it.hasNext()){
-                RuralReportConsultant consultant = it.next();
-                if(consultant.getZixunyuan().equals(currentConsultant.getZixunyuan())){
-                    try {
-                        MyBeanUtils.copyBeanNotNull2Bean(consultant, currentConsultant);
-                    } catch (Exception e) {
-                        e.printStackTrace();
-                    }
-                    it.remove();
-                }else{
-                    //根据用户查询技能信息
-                    List<WorkStaffCertificate> certificateList = ruralProjectMessageService.getCertificateByUser(consultant.getZixunyuan());
-                    for (WorkStaffCertificate certificateInfo: certificateList) {
-                        if(certificateInfo.getName().equals(consultant.getZhucezigezhKey())){
-                            consultant.setZhucezigezhID(certificateInfo.getNum());
-                        }
-                        for (MainDictDetail type : certificateMajor) {
-                            if(certificateInfo.getMajor().equals(type.getValue())){
-                                consultant.setMajor(type.getLabel());
-                            }
-                        }
-                    }
-                    User user=userService.get(consultant.getZixunyuan());
-                    consultant.setRole("咨询员");
-                    consultant.setZixunyuanName(user.getName());
-                    //查询用户身份证号
-                    WorkStaffBasicInfo userInfo = workStaffBasicInfoService.getByUserId(user.getId());
-                    if(null != userInfo){
-                        consultant.setIdCard(userInfo.getIdCard());
-                    }
-                    if(consultant.getZixunyuan().equals(projectReportData.getBzshbUserId())){
-                        it.remove();
-                    }
-                }
-            }
-            consultantInfoList.addAll(consultantList);
-
-        }
-
-        return consultantInfoList;
-    }
-
 
 
 
@@ -1889,6 +1753,20 @@ public class RuralCostProjectMessageController extends BaseController {
             act.setTask(taskInfok);
             reported.setAct(act);
         }
+        RuralProjectRecords records = projectRecordsService.getQueryProjectUsers(reported.getProjectId());
+        //根据上报id查询上报咨询员的信息
+        List<RuralReportConsultant> reportedConsultants=ruralProjectMessageService.getReportedConsultantsList(reported.getId());
+        //对上报的咨询员进行处理
+        List<RuralReportConsultant> consultantList = ruralProjectMessageService.disposereportedConsultant(reportedConsultants);
+
+        //获取工程类型
+        ProjectEngineeringInfo engineeringInfos=engineeringService.getProjectReportedType(reported.getPorjectUse());
+        model.addAttribute("engineeringInfo", engineeringInfos);
+        List<Area> areaList = ruralProjectMessageService.getProjectReportedAreaByParentId(reported.getS1());
+        model.addAttribute("cityList", areaList);
+        //查询项目信息
+        model.addAttribute("ruralProjectRecords", records);
+        model.addAttribute("consultantInfo", consultantList);
         model.addAttribute("ruralProjectRecordsReported", reported);
         return "modules/ruralprojectrecords/cost/reportedModify";
     }
@@ -2135,4 +2013,45 @@ public class RuralCostProjectMessageController extends BaseController {
         }
         return "redirect:"+Global.getAdminPath()+"/ruralProject/ruralCostProjectMessage/?repage";
     }
+
+    /**
+     * 查询其他文件树形信息
+     */
+    @RequestMapping(value = "engineeringTreeMenu")
+    @ResponseBody
+    public String engineeringTreeMenu(){
+        LinkedHashSet<EngineeringTree> trees=new LinkedHashSet<>();
+        //查询所有工程分类
+        List<ProjectEngineeringInfo> engineeringInfos=engineeringService.getProjectReportedTypeList(new ProjectEngineeringInfo());
+        childs(engineeringInfos,trees,"0");
+        JSONArray jsonArray=new JSONArray(trees);
+        return jsonArray.toString();
+    }
+
+    public static void childs(List<ProjectEngineeringInfo> sourcelist,LinkedHashSet<EngineeringTree> list,String parentId){
+        for (int i=0; i<sourcelist.size(); i++){
+            ProjectEngineeringInfo e = sourcelist.get(i);
+            if (e.getParent()!=null && StringUtils.isNotBlank(e.getParent().getId()) && e.getParent().getId().equals(parentId)){
+                EngineeringTree tree=new EngineeringTree();
+                tree.setTitle(e.getEngineeringName());
+                tree.setId(e.getId());
+                // 判断是否还有子节点, 有则继续获取子节点
+                for (int j=0; j<sourcelist.size(); j++){
+                    ProjectEngineeringInfo child = sourcelist.get(j);
+                    if (child.getParent()!=null && StringUtils.isNotBlank(child.getParent().getId()) && child.getParent().getId().equals(e.getId())){
+                        tree.setType("group");
+                        tree.setIsSpreadItem(false);
+                        LinkedHashSet<EngineeringTree> childs=new LinkedHashSet<>();
+                        childs(sourcelist,childs, e.getId());
+                        List<EngineeringTree> childss=new ArrayList<>(childs);
+                        tree.setChild(childss);
+                        list.add(tree);
+                        break;
+                    }else{
+                        list.add(tree);
+                    }
+                }
+            }
+        }
+    }
 }

+ 38 - 6
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectMessageController.java

@@ -15,6 +15,7 @@ import com.jeeplus.modules.projectAccessory.entity.ProjectAccessoryRelationInfo;
 import com.jeeplus.modules.projectAccessory.entity.ProjectTemplateInfo;
 import com.jeeplus.modules.projectAccessory.service.ProjectAccessoryRelationService;
 import com.jeeplus.modules.projectAccessory.service.ProjectTemplateService;
+import com.jeeplus.modules.projectEngineering.entity.ProjectEngineeringInfo;
 import com.jeeplus.modules.projectEngineering.service.ProjectEngineeringService;
 import com.jeeplus.modules.projectFilingBatch.dao.ProjectFilingBatchDao;
 import com.jeeplus.modules.projectFilingBatch.dao.ProjectFilingbatchRelationDao;
@@ -1699,17 +1700,34 @@ public class RuralProjectMessageController extends BaseController {
             records.setReportData(projectReportData);
             reported = ruralProjectMessageService.disposeData(records);
         }
-        model.addAttribute("ruralProjectRecordsReported", reported);
+        //根据上报id查询上报咨询员的信息
+        List<RuralReportConsultant> reportedConsultants=ruralProjectMessageService.getReportedConsultantsList(reported.getId());
         //查询报告咨询员的信息
         List<RuralReportConsultant> consultants=ruralProjectMessageService.getConsultantsList(projectRecords.getId());
-        for (RuralReportConsultant consultant:consultants){
-            User user=userService.get(consultant.getZixunyuan());
-            consultant.setZixunyuanName(user.getName());
+        List<RuralReportConsultant> consultantList = Lists.newArrayList();
+        if(reportedConsultants.size() == 0){
+            //如果上报的咨询员信息为空 则处理报告咨询员信息
+            consultantList = ruralProjectMessageService.disposeConsultant(consultants, projectRecords);
+        }else{
+            //对上报的咨询员进行处理
+            consultantList = ruralProjectMessageService.disposereportedConsultant(reportedConsultants);
         }
-        //查询项目信息
         RuralProjectRecords records = projectRecordsService.getQueryProjectUsers(reported.getProjectId());
+        if(StringUtils.isBlank(reported.getProjectRecordId())){
+            reported.setProjectRecordId(records.getProjectId());
+        }
+        model.addAttribute("ruralProjectRecordsReported", reported);
+        //查询项目信息
         model.addAttribute("ruralProjectRecords", records);
-        model.addAttribute("consultantInfo", consultants);
+        model.addAttribute("consultantInfo", consultantList);
+        if(StringUtils.isBlank(reported.getS1())){
+            reported.setS1("10");
+        }
+        //获取工程类型
+        ProjectEngineeringInfo engineeringInfos=engineeringService.getProjectReportedType(reported.getPorjectUse());
+        model.addAttribute("engineeringInfo", engineeringInfos);
+        List<Area> areaList = ruralProjectMessageService.getProjectReportedAreaByParentId(reported.getS1());
+        model.addAttribute("cityList", areaList);
         return "modules/ruralprojectrecords/ruralporjectmessage/reportedForm";
     }
 
@@ -1735,6 +1753,20 @@ public class RuralProjectMessageController extends BaseController {
             act.setTask(taskInfok);
             reported.setAct(act);
         }
+        RuralProjectRecords records = projectRecordsService.getQueryProjectUsers(reported.getProjectId());
+        //根据上报id查询上报咨询员的信息
+        List<RuralReportConsultant> reportedConsultants=ruralProjectMessageService.getReportedConsultantsList(reported.getId());
+        //对上报的咨询员进行处理
+        List<RuralReportConsultant> consultantList = ruralProjectMessageService.disposereportedConsultant(reportedConsultants);
+
+        //获取工程类型
+        ProjectEngineeringInfo engineeringInfos=engineeringService.getProjectReportedType(reported.getPorjectUse());
+        model.addAttribute("engineeringInfo", engineeringInfos);
+        List<Area> areaList = ruralProjectMessageService.getProjectReportedAreaByParentId(reported.getS1());
+        model.addAttribute("cityList", areaList);
+        //查询项目信息
+        model.addAttribute("ruralProjectRecords", records);
+        model.addAttribute("consultantInfo", consultantList);
         model.addAttribute("ruralProjectRecordsReported", reported);
         return "modules/ruralprojectrecords/ruralporjectmessage/reportedModify";
     }

+ 9 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectViewController.java

@@ -543,10 +543,19 @@ public class RuralProjectViewController extends BaseController {
             model.addAttribute("projectRecords", projectRecords);
         }
         reported = ruralProjectMessageService.getRuralProjectRecordsReported(reported.getProjectId());
+        model.addAttribute("projectTypeId",reported.getProjectType());
+        User user = UserUtils.get(reported.getXmFZR());
+        if(null != user){
+            model.addAttribute("xmFZRName",user.getName());
+        }
         if (null!=reported){
             ruralProjectMessageService.getInfoByView(reported);
             model.addAttribute("reportedId",reported.getId());
         }
+        //获取工程类型
+        ProjectEngineeringInfo engineeringInfos=engineeringService.getProjectReportedType(reported.getPorjectUse());
+        model.addAttribute("engineeringInfo", engineeringInfos);
+
         model.addAttribute("ruralProjectRecordsReported",reported);
         //查询项目报告信息
         ProjectReportData projectReportData = projectReportDataService.getReportDataByProjectId(projectRecords.getId());

+ 6 - 0
src/main/java/com/jeeplus/modules/sys/dao/UserDao.java

@@ -272,4 +272,10 @@ public interface UserDao extends CrudDao<User> {
 	 * @return
 	 */
 	public List<User> getCompanyUserList(String companyId);
+	/**
+	 * 查询一级二级造价师信息
+	 * @param user
+	 * @return
+	 */
+	public List<User> findUserByOfficeIdAndNameOnReportedZXY(User user);
 }

+ 18 - 0
src/main/java/com/jeeplus/modules/sys/service/SystemService.java

@@ -336,6 +336,24 @@ public class SystemService extends BaseService implements InitializingBean {
         return list;
     }
     /**
+     * 查询一级二级造价师信息
+     *
+     * @return
+     */
+    public List<User> findUserByOfficeIdAndNameOnReportedZXY(String officeId,String selectName) {
+
+        User user = new User();
+        user.setOffice(new Office(officeId));
+        user.setName(selectName);
+        if(!UserUtils.getSelectCompany().getId().equals("1")) {
+            user.setCompany(UserUtils.getSelectCompany());
+        }
+        List<User> list = userDao.findUserByOfficeIdAndNameOnReportedZXY(user);
+        CacheUtils.put(UserUtils.USER_CACHE,
+                UserUtils.USER_CACHE_LIST_BY_OFFICE_ID_ + officeId, list);
+        return list;
+    }
+    /**
      * 通过部门ID获取用户列表,仅返回用户id和name(树查询用户时用)
      *
      * @return

+ 8 - 2
src/main/java/com/jeeplus/modules/sys/web/OfficeController.java

@@ -517,7 +517,7 @@ public class OfficeController extends BaseController {
                 map.put("pIds", e.getParentIds());
                 map.put("name", e.getTopCompany());
                 map.put("selectName", selectName);
-                if (type != null && ("3".equals(type) || "4".equals(type))) {
+                if (type != null && ("3".equals(type) || "4".equals(type) || "5".equals(type))) {
                     map.put("isParent", true);
                 }
                 if("4".equals(type)){
@@ -526,12 +526,18 @@ public class OfficeController extends BaseController {
                     if(listUser.size()>0) {
                         mapSet.add(map);
                     }
+                }else if("5".equals(type)){
+                    //获取一级二级造价师信息
+                    List<User> listUser = systemService.findUserByOfficeIdAndNameOnReportedZXY(e.getId(),selectName);
+                    if(listUser.size()>0) {
+                        mapSet.add(map);
+                    }
                 }
                 mapList.add(map);
             }
         }
 
-        if("4".equals(type)){
+        if("4".equals(type) || "5".equals(type)){
             List<Map<String,Object>> mapList1=new ArrayList<>(mapSet);
             return mapList1;
         }

+ 19 - 2
src/main/java/com/jeeplus/modules/sys/web/TagController.java

@@ -19,7 +19,7 @@ import javax.servlet.http.HttpServletRequest;
 @Controller
 @RequestMapping(value = "${adminPath}/tag")
 public class TagController extends BaseController {
-	
+
 	/**
 	 * 树结构选择标签(treeselect.tag)
 	 */
@@ -91,6 +91,23 @@ public class TagController extends BaseController {
 	 * 树结构选择标签(treeselect.tag)
 	 */
 	@RequiresPermissions("user")
+	@RequestMapping(value = "treeselectReportedZXY")
+	public String treeselectReportedZXY(HttpServletRequest request, Model model) {
+		model.addAttribute("url", request.getParameter("url")); 	// 树结构数据URL
+		model.addAttribute("extId", request.getParameter("extId")); // 排除的编号ID
+		model.addAttribute("checked", request.getParameter("checked")); // 是否可复选
+		model.addAttribute("selectIds", request.getParameter("selectIds")); // 指定默认选中的ID
+		model.addAttribute("isAll", request.getParameter("isAll")); 	// 是否读取全部数据,不进行权限过滤
+		model.addAttribute("module", request.getParameter("module"));	// 过滤栏目模型(仅针对CMS的Category树)
+		model.addAttribute("branchOffice", request.getParameter("branchOffice"));	// 过滤栏目模型(仅针对CMS的Category树)
+		model.addAttribute("selectName", request.getParameter("selectName"));	// 查询名称
+		return "modules/sys/tagTreeselectReportedZXY";
+	}
+
+	/**
+	 * 树结构选择标签(treeselect.tag)
+	 */
+	@RequiresPermissions("user")
 	@RequestMapping(value = "treeselectDict")
 	public String treeselectDict(HttpServletRequest request, Model model) {
 		model.addAttribute("url", request.getParameter("url")); 	// 树结构数据URL
@@ -127,5 +144,5 @@ public class TagController extends BaseController {
 		model.addAttribute("value", request.getParameter("value"));
 		return "modules/sys/tagIconselect";
 	}
-	
+
 }

+ 51 - 0
src/main/java/com/jeeplus/modules/sys/web/UserController.java

@@ -1072,6 +1072,57 @@ public class UserController extends BaseController {
 
     @RequiresPermissions("user")
     @ResponseBody
+    @RequestMapping(value = "treeDataByNameOnReportedZXY")
+    public List<Map<String, Object>> treeDataByNameOnReportedZXY(@RequestParam(required=false) String projectId,@RequestParam(required=false) String officeId,@RequestParam(required = false) String selectName, HttpServletResponse response) {
+        List<Map<String, Object>> mapList = Lists.newArrayList();
+        if(StringUtils.isBlank(projectId)){
+            if(StringUtils.isBlank(officeId)){
+                return mapList;
+            }
+            //根据部门查询人员信息
+            List<User> list = systemService.findUserByOfficeIdAndNameOnReportedZXY(officeId,selectName);
+            for (int i=0; i<list.size(); i++){
+                Map<String, Object> map = Maps.newHashMap();
+                User e = list.get(i);
+                map.put("id", "u_"+e.getId());
+                map.put("pId", officeId);
+                String name = StringUtils.replace(e.getName(), " ", "");
+                name = StringEscapeUtils.unescapeHtml4(name);
+                map.put("name", name);
+                WorkStaffBasicInfo info = workStaffBasicInfoService.getWorkStaffBasicInfoByUserId(e.getId());
+                workStaffBasicInfoService.queryDetails(info);
+                mapList.add(map);
+            }
+        }else{
+            List<User> list = systemService.findUserByOfficeId(officeId);
+            //查询项目组成员信息
+            List<User> members = workProjectUserDao.isDelFalg(projectId, "");
+            Set<String> setUser = new HashSet();
+            for (User user: members) {
+                setUser.add(user.getId());
+            }
+            List<String> userIdList = new ArrayList<>(setUser);
+            for (int i=0; i<list.size(); i++){
+                User e = list.get(i);
+                if(userIdList.contains(e.getId())){
+                    Map<String, Object> map = Maps.newHashMap();
+                    map.put("id", "u_"+e.getId());
+                    map.put("pId", officeId);
+                    String name = StringUtils.replace(e.getName(), " ", "");
+                    name = StringEscapeUtils.unescapeHtml4(name);
+                    map.put("name", name);
+                    String officeName = StringUtils.replace(e.getOffice().getName(), " ", "");
+                    officeName = StringEscapeUtils.unescapeHtml4(officeName);
+                    map.put("officeId", officeName);
+                    mapList.add(map);
+                }
+            }
+        }
+        return mapList;
+    }
+
+    @RequiresPermissions("user")
+    @ResponseBody
     @RequestMapping(value = "treeDataReimbur")
     public List<Map<String, Object>> treeDataReimbur(@RequestParam(required=false) String projectId,@RequestParam(required=false) String officeId, HttpServletResponse response) {
         List<Map<String, Object>> mapList = Lists.newArrayList();

+ 25 - 8
src/main/java/com/jeeplus/modules/workprojectnotify/web/WorkProjectNotifyController.java

@@ -1594,6 +1594,12 @@ public class WorkProjectNotifyController extends BaseController {
 
 				}else if ("95".equals(workProjectNotify.getType())) {    //项目上报管理
 					RuralProjectRecordsReported reported = ruralProjectMessageService.getRuralProjectRecordsReported(workProjectNotify.getNotifyId());
+					model.addAttribute("projectTypeId",reported.getProjectType());
+					User user = UserUtils.get(reported.getXmFZR());
+					if(null != user){
+						model.addAttribute("xmFZRName",user.getName());
+					}
+
 					Act act = getByAct(reported.getProcessInstanceId());
 					reported.setAct(act);
 					if(StringUtils.isNotBlank(workProjectNotify.getHome())){
@@ -1601,23 +1607,34 @@ public class WorkProjectNotifyController extends BaseController {
 					}else{
 						reported.setHome("home");
 					}
-					//查询咨询员信息
-					List<ReportedConsultant> consultantList = ruralProjectRecordsReportedDao.consultantList(reported.getId());
-					if(0 < consultantList.size()) {
-						for (ReportedConsultant info : consultantList) {
-							User user=userService.get(info.getZixunyuan());
-							info.setZixunyuanName(user.getName());
-						}
-					}
+					RuralProjectRecords records = ruralProjectRecordsService.getQueryProjectUsers(reported.getProjectId());
+					//根据上报id查询上报咨询员的信息
+					List<RuralReportConsultant> reportedConsultants=ruralProjectMessageService.getReportedConsultantsList(reported.getId());
+					//对上报的咨询员进行处理
+					List<RuralReportConsultant> consultantList = ruralProjectMessageService.disposereportedConsultant(reportedConsultants);
+
+					//获取工程类型
+					ProjectEngineeringInfo engineeringInfos=engineeringService.getProjectReportedType(reported.getPorjectUse());
+					model.addAttribute("engineeringInfo", engineeringInfos);
+					List<Area> areaList = ruralProjectMessageService.getProjectReportedAreaByParentId(reported.getS1());
+					model.addAttribute("cityList", areaList);
+					//查询项目信息
+					model.addAttribute("ruralProjectRecords", records);
 					model.addAttribute("ruralProjectRecordsReported", reported);
 					model.addAttribute("consultantInfo", consultantList);
 					if (workProjectNotify.getRemarks().contains("待通知") || "view".equals(workProjectNotify.getView())) {
+						ruralProjectMessageService.getInfoByView(reported);
+						model.addAttribute("reportedId",reported.getId());
 						return "modules/ruralprojectrecords/ruralporjectmessage/reportedView";
 					}else if (workProjectNotify.getRemarks().contains("待审批") && !"1".equals(workProjectNotify.getStatus())) {
+						model.addAttribute("identification", "projectReported");
+						model.addAttribute("identificationName","项目上报审核意见");
 						return "modules/ruralprojectrecords/ruralporjectmessage/reportedAudit";
 					} else if (workProjectNotify.getRemarks().contains("重新申请") && !"1".equals(workProjectNotify.getStatus())) {
 						return "modules/ruralprojectrecords/ruralporjectmessage/reportedModify";
 					} else {
+						ruralProjectMessageService.getInfoByView(reported);
+						model.addAttribute("reportedId",reported.getId());
 						return "modules/ruralprojectrecords/ruralporjectmessage/reportedView";
 					}
 				} else if (workProjectNotify.getType().equals("131")) {    //项目计划通知

+ 34 - 0
src/main/resources/mappings/modules/projectEngineering/PeojectEngineeringDao.xml

@@ -125,4 +125,38 @@
     <select id="getEngineeringId" resultType="java.lang.String">
         select id from project_engineering_info where index_num=#{indexNum}
     </select>
+
+    <select id="getProjectReportedType" resultType="com.jeeplus.modules.projectEngineering.entity.ProjectEngineeringInfo">
+        SELECT
+        <include refid="engineeringColumns"/>
+        FROM project_purpose_info a
+        WHERE a.id = #{id}
+    </select>
+
+    <select id="getProjectReportedTypeList" resultType="com.jeeplus.modules.projectEngineering.entity.ProjectEngineeringInfo" >
+        SELECT
+        <include refid="engineeringColumns"/>
+        FROM project_purpose_info a
+        <where>
+            a.del_flag = 0
+            <if test="engineeringName!=null and engineeringName != ''">
+                and a.engineering_name like concat('%',#{engineeringName},'%')
+            </if>
+            <if test="parentIds!=null and parentIds != ''">
+                and a.parent_ids like concat('%',#{parentIds},'%')
+            </if>
+            <if test="indexNum != null and indexNum!=0">
+                and a.index_num = #{indexNum}
+            </if>
+        </where>
+        <choose>
+            <when test="page !=null and page.orderBy != null and page.orderBy != ''">
+                ORDER BY ${page.orderBy}
+            </when>
+            <otherwise>
+                ORDER BY a.id
+            </otherwise>
+        </choose>
+    </select>
+
 </mapper>

+ 3 - 0
src/main/resources/mappings/modules/projectcontentinfo/ProjectcontentinfoDao.xml

@@ -610,7 +610,10 @@
 			 ,zixunyuan
 			 ,zhucezigezhID as 'zhucezigezhKey'
 			 ,wordnr
+			 ,wcyysrbl
+			 ,wcyysr
 			 ,reportedId
+			 ,role_flag as "roleFlag"
 		from rural_reported_consultant where reportedId=#{reportedId}
 		order by zixunyuan
 	</select>

+ 76 - 13
src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectRecordsReported.xml

@@ -63,11 +63,26 @@
 		a.process_instance_id  as "processInstanceId",
 		a.company_id as "company.id",
 		a.office_id as "office.id",
-		a.project_id as "projectId"
+		a.project_id as "projectId",
+		a.projectCode,
+		a.projectSection,
+		a.projectClassify,
+		a.GCGMValueParameter,
+		a.contentsInclude,
+		a.projectTotalInvestment,
+		a.beginDate,
+		a.endDate,
+		a.archivesNo,
+		a.advisoryIncome,
+		a.projectSupervisionIncome,
+		a.tenderingAgencyIncome,
+		a.designIncome,
+		a.otherIncome,
+		a.projectRecordId
 	</sql>
 
-	
-    
+
+
 	<select id="get" resultType="RuralProjectRecordsReported" >
 		SELECT
 		<include refid="projectRecordsReportedColumns"/>
@@ -147,7 +162,22 @@
 			process_instance_id,
 			company_id,
 			office_id,
-			project_id
+			project_id,
+			projectCode,
+			projectSection,
+			projectClassify,
+			GCGMValueParameter,
+			contentsInclude,
+			projectTotalInvestment,
+			beginDate,
+			endDate,
+			archivesNo,
+			advisoryIncome,
+			projectSupervisionIncome,
+			tenderingAgencyIncome,
+			designIncome,
+			otherIncome,
+			projectRecordId
 		)
 		values
 		  (
@@ -211,7 +241,22 @@
 			#{processInstanceId},
 			#{company.id},
 			#{office.id},
-			#{projectId}
+			#{projectId},
+			#{projectCode},
+			#{projectSection},
+			#{projectClassify},
+			#{GCGMValueParameter},
+			#{contentsInclude},
+			#{projectTotalInvestment},
+			#{beginDate},
+			#{endDate},
+			#{archivesNo},
+			#{advisoryIncome},
+			#{projectSupervisionIncome},
+			#{tenderingAgencyIncome},
+			#{designIncome},
+			#{otherIncome},
+			#{projectRecordId}
 		  )
 	</insert>
 
@@ -274,6 +319,21 @@
 		<if test="reportStatus !=null and reportStatus !=''">
 			  ,report_status = #{reportStatus}
 		  </if>
+		,projectCode = #{projectCode},
+		projectSection = #{projectSection},
+		projectClassify = #{projectClassify},
+		GCGMValueParameter = #{GCGMValueParameter},
+		contentsInclude = #{contentsInclude},
+		projectTotalInvestment = #{projectTotalInvestment},
+		beginDate = #{beginDate},
+		endDate = #{endDate},
+		archivesNo = #{archivesNo},
+		advisoryIncome = #{advisoryIncome},
+		projectSupervisionIncome = #{projectSupervisionIncome},
+		tenderingAgencyIncome = #{tenderingAgencyIncome},
+		designIncome = #{designIncome},
+		otherIncome = #{otherIncome},
+		projectRecordId = #{projectRecordId}
 		where id = #{id}
 	</update>
 
@@ -292,13 +352,14 @@
 		  a.wordnr,
 		  a.wcyysrbl,
 		  a.wcyysr,
-		  a.reportedId
+		  a.reportedId,
+		  a.role_flag as "roleFlag"
 		from
 		  rural_reported_consultant a
 		where del_flag = 0
 		and reportedId = #{reportedId}
 	</select>
-	
+
 	<insert id="insertConsultant">
 		insert into rural_reported_consultant (
 		  id,
@@ -313,7 +374,8 @@
 		  wordnr,
 		  wcyysrbl,
 		  wcyysr,
-		  reportedId
+		  reportedId,
+		  role_flag
 		)
 		values
 		  (
@@ -325,11 +387,12 @@
 			#{remarks},
 			#{delFlag},
 			#{zixunyuan},
-			#{zhucezigezhID},
+			#{zhucezigezhKey},
 			#{wordnr},
 			#{wcyysrbl},
 			#{wcyysr},
-			#{reportedId}
+			#{reportedId},
+			#{roleFlag}
 		  ) ;
 	</insert>
 
@@ -342,8 +405,8 @@
 		<if test="zixunyuan !=null and zixunyuan !=''">
 			,zixunyuan = #{zixunyuan}
 		</if>
-		<if test="zhucezigezhID !=null and zhucezigezhID !=''">
-			,zhucezigezhID = #{zhucezigezhID}
+		<if test="zhucezigezhKey !=null and zhucezigezhKey !=''">
+			,zhucezigezhID = #{zhucezigezhKey}
 		</if>
 		<if test="wordnr !=null and wordnr !=''">
 			,wordnr = #{wordnr}
@@ -374,4 +437,4 @@
         WHERE id = #{id}
     </update>
 
-</mapper>
+</mapper>

+ 27 - 0
src/main/resources/mappings/modules/sys/UserDao.xml

@@ -493,6 +493,33 @@
 	</select>
 
 	<!-- 根据OfficeId获取用户(树查询用户时用) -->
+	<select id="findUserByOfficeIdAndNameOnReportedZXY" resultType="User" useCache="true">
+		SELECT
+		a.id, a.name, a.login_name,a.photo
+		,so.name as "office.name"
+		FROM sys_user a
+		left join sys_office so on so.id = a.office_id
+		LEFT JOIN work_staff_achives uo ON uo.user_id = a.id
+		left join work_staff_certificate wsc on wsc.staff_id = uo.id
+		LEFT JOIN sys_office o ON o.id = uo.office_id
+		WHERE a.del_flag = #{DEL_FLAG_NORMAL}
+		and wsc.name in ('161','171')
+		AND o.del_flag = #{DEL_FLAG_NORMAL}
+		AND wsc.del_flag = #{DEL_FLAG_NORMAL}
+		<if test="office != null and office.id != null and office.id !='' ">
+			AND uo.office_id = #{office.id}
+		</if>
+		<if test="name != null and name !='' ">
+			AND a.name like concat ('%',#{name},'%')
+		</if>
+		<if test="company != null and company.id != null and company.id !='' ">
+			AND uo.company_id = #{company.id}
+		</if>
+		AND uo.status IN ('试用','正式','劳务')
+		ORDER BY a.name
+	</select>
+
+	<!-- 根据OfficeId获取用户(树查询用户时用) -->
 	<select id="findUserByOffices" resultType="User" useCache="true">
 		SELECT
 		a.id, a.name, a.login_name,a.photo

+ 123 - 0
src/main/webapp/WEB-INF/tags/sys/reportedtreeselectUserZXY.tag

@@ -0,0 +1,123 @@
+<%@ tag language="java" pageEncoding="UTF-8"%>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<%@ attribute name="id" type="java.lang.String" required="true" description="编号"%>
+<%@ attribute name="name" type="java.lang.String" required="true" description="隐藏域名称(ID)"%>
+<%@ attribute name="value" type="java.lang.String" required="true" description="隐藏域值(ID)"%>
+<%@ attribute name="labelName" type="java.lang.String" required="true" description="输入框名称(Name)"%>
+<%@ attribute name="labelValue" type="java.lang.String" required="true" description="输入框值(Name)"%>
+<%@ attribute name="title" type="java.lang.String" required="true" description="选择框标题"%>
+<%@ attribute name="url" type="java.lang.String" required="true" description="树结构数据地址"%>
+<%@ attribute name="checked" type="java.lang.Boolean" required="false" description="是否显示复选框,如果不需要返回父节点,请设置notAllowSelectParent为true"%>
+<%@ attribute name="extId" type="java.lang.String" required="false" description="排除掉的编号(不能选择的编号)"%>
+<%@ attribute name="isAll" type="java.lang.Boolean" required="false" description="是否列出全部数据,设置true则不进行数据权限过滤(目前仅对Office有效)"%>
+<%@ attribute name="notAllowSelectRoot" type="java.lang.Boolean" required="false" description="不允许选择根节点"%>
+<%@ attribute name="notAllowSelectParent" type="java.lang.Boolean" required="false" description="不允许选择父节点"%>
+<%@ attribute name="module" type="java.lang.String" required="false" description="过滤栏目模型(只显示指定模型,仅针对CMS的Category树)"%>
+<%@ attribute name="selectScopeModule" type="java.lang.Boolean" required="false" description="选择范围内的模型(控制不能选择公共模型,不能选择本栏目外的模型)(仅针对CMS的Category树)"%>
+<%@ attribute name="allowClear" type="java.lang.Boolean" required="false" description="是否允许清除"%>
+<%@ attribute name="allowInput" type="java.lang.Boolean" required="false" description="文本框可填写"%>
+<%@ attribute name="cssClass" type="java.lang.String" required="false" description="css样式"%>
+<%@ attribute name="cssStyle" type="java.lang.String" required="false" description="css样式"%>
+<%@ attribute name="smallBtn" type="java.lang.Boolean" required="false" description="缩小按钮显示"%>
+<%@ attribute name="hideBtn" type="java.lang.Boolean" required="false" description="是否显示按钮"%>
+<%@ attribute name="disabled" type="java.lang.String" required="false" description="是否限制选择,如果限制,设置为disabled"%>
+<%@ attribute name="dataMsgRequired" type="java.lang.String" required="false" description=""%>
+	<input id="${id}Id" name="${name}" class="${cssClass}" type="hidden" value="${value}"/>
+	<div class="input-group">
+		<input id="${id}Name" name="${labelName}" placeholder="请选择${title}" ${allowInput?'':'readonly="readonly"'}  type="text" value="${labelValue}" data-msg-required="${dataMsgRequired}"
+		class="${cssClass}" style="background-color: #ffffff; ${cssStyle} "/>
+
+    </div>
+	 <label id="${id}Name-error" class="error" for="${id}Name" style="display:none"></label>
+<script type="text/javascript">
+	$("#${id}Button, #${id}Name").click(function(){
+		// 是否限制选择,如果限制,设置为disabled
+		if ($("#${id}Button").hasClass("disabled")){
+			return true;
+		}
+		// 正常打开
+		top.layer.open({
+		    type: 2,
+		    area: ['300px', '420px'],
+		    title:"选择${title}",
+		    ajaxData:{selectIds: $("#${id}Id").val()},
+		    content: "${ctx}/tag/treeselectReportedZXY?url="+encodeURIComponent("${url}")+"&module=${module}&checked=${checked}&extId=${extId}&isAll=${isAll}" ,
+		    btn: ['确定', '关闭']
+    	       ,yes: function(index, layero){ //或者使用btn1
+						var tree = layero.find("iframe")[0].contentWindow.tree;//h.find("iframe").contents();
+						var ids = [], names = [],officeIds = [], nodes = [];
+						if ("${checked}" == "true"){
+							nodes = tree.getCheckedNodes(true);
+						}else{
+							nodes = tree.getSelectedNodes();
+						}
+						for(var i=0; i<nodes.length; i++) {//<c:if test="${checked && notAllowSelectParent}">
+							if (nodes[i].isParent){
+								continue; // 如果为复选框选择,则过滤掉父节点
+							}//</c:if><c:if test="${notAllowSelectRoot}">
+							if (nodes[i].level == 0){
+								//top.$.jBox.tip("不能选择根节点("+nodes[i].name+")请重新选择。");
+								top.layer.msg("不能选择根节点("+nodes[i].name+")请重新选择。", {icon: 0});
+								return false;
+							}//</c:if><c:if test="${notAllowSelectParent}">
+							if (nodes[i].isParent){
+								//top.$.jBox.tip("不能选择父节点("+nodes[i].name+")请重新选择。");
+								//layer.msg('有表情地提示');
+								top.layer.msg("不能选择父节点("+nodes[i].name+")请重新选择。", {icon: 0});
+								return false;
+							}//</c:if><c:if test="${not empty module && selectScopeModule}">
+							if (nodes[i].module == ""){
+								//top.$.jBox.tip("不能选择公共模型("+nodes[i].name+")请重新选择。");
+								top.layer.msg("不能选择公共模型("+nodes[i].name+")请重新选择。", {icon: 0});
+								return false;
+							}else if (nodes[i].module != "${module}"){
+								//top.$.jBox.tip("不能选择当前栏目以外的栏目模型,请重新选择。");
+								top.layer.msg("不能选择当前栏目以外的栏目模型,请重新选择。", {icon: 0});
+								return false;
+							}//</c:if>
+							ids.push(nodes[i].id);
+							names.push(nodes[i].name);
+							officeIds.push(nodes[i].officeId);
+							//<c:if test="${!checked}">
+							break; // 如果为非复选框选择,则返回第一个选择  </c:if>
+						}
+						if(ids.length>1){
+							top.layer.msg("不能进行多选,请重新选择。", {icon: 0});
+							return false;
+						}
+						$("#${id}Id").val(ids.join(",").replace(/u_/ig,""));
+						$("#${id}Name").val(names.join(","));
+						var id = '${id}';
+						var w=id.indexOf("_"); // v 的下标为 2
+						var str = id.substring(0,w+1);
+						console.log(str)
+						var zxid=$("#${id}Id").val();
+						$("#${id}Name").focus();
+						$.ajax({
+							type:"post",
+							url:'${ctx}/ruralProject/ruralCostProjectMessage/getWorkUser',
+							data:{"id":zxid},
+							dataType:"json",
+							success:function(data){
+								console.log(data)
+								$("#"+str+"zhucezigezhID").val(data.num);
+								$("#"+str+"zhucezigezhKey").val(data.name);
+								$("#"+str+"major").val(data.major);
+								$("#"+str+"idCard").val(data.idCard);
+
+								// if(data.success) {
+								// 	for (var info in data.data){
+								// 		$('#city').append(new Option(data.data[info].name,data.data[info].id));
+								// 	}
+								// }
+							}
+						})
+						top.layer.close(index);
+				    	       },
+    	cancel: function(index){ //或者使用btn2
+    	           //按钮【按钮二】的回调
+    	       }
+		});
+
+	});
+</script>

+ 176 - 41
src/main/webapp/webpage/modules/ruralprojectrecords/cost/newReportedForm.jsp

@@ -7,6 +7,8 @@
     <script type="text/javascript" src="${ctxStatic}/helloweba_editable-select/jquery.editable-select.min.js"></script>
     <script type="text/javascript" src="${ctxStatic}/iCheck/icheck.min.js"></script>
     <link rel='stylesheet' type="text/css" href="${ctxStatic}/helloweba_editable-select/jquery.editable-select.min.css"/>
+    <script type="text/javascript" src="${ctxStatic}/layui/layuidown.js"></script>
+    <link rel='stylesheet' type="text/css" href="${ctxStatic}/layui/layuidown.css"/>
     <style>
         #projectDesc-error{
             left:0;
@@ -67,7 +69,7 @@
                 }
                 var list = [];
                 var size = $("#reportedConsultantList tr").length;
-                if(size <= 0){
+                if(size <= 1){
                     parent.layer.msg("咨询员数量至少有1个人!", {icon: 5});
                     return false;
                 }
@@ -99,7 +101,7 @@
                     parent.layer.msg("请选择工程所在省份!", {icon: 5});
                     return false;
                 }
-                if(team ==1){
+                if(team ==10){
                     if(city ==undefined || city == null || city == ''){
                         parent.layer.msg("请选择工程所在地级市!", {icon: 5});
                         return false;
@@ -114,12 +116,81 @@
                         return false;
                     }
                 }
+                var projectType = $("#ProjectType").val();
+                if(projectType == 19){
+                    var advisoryIncome = $("#advisoryIncome").val();
+                    var projectSupervisionIncome = $("#projectSupervisionIncome").val();
+                    var tenderingAgencyIncome = $("#tenderingAgencyIncome").val();
+                    var designIncome = $("#designIncome").val();
+                    var otherIncome = $("#otherIncome").val();
+                    var ziXunShouRu = $("#ZiXunShouRu").val();
+                    var total =  parseFloat(projectSupervisionIncome) + parseFloat(tenderingAgencyIncome) + parseFloat(designIncome) + parseFloat(otherIncome) + parseFloat(ziXunShouRu);
+                    if(parseFloat(total) > parseFloat(advisoryIncome)){
+                        parent.layer.msg("全过程各项收入填写不正确或不能超过全过程工程咨询收入!", {icon: 5});
+                        return false;
+                    }
+                }
+
+                /*var projectCode = $("#projectCode").val();
+                var strArr=projectCode.split("-");
+                console.log(strArr.length)
+                if(strArr.length !=5){
+                    parent.layer.msg("项目代码填写错误!", {icon: 5});
+                    $("#projectCode").val("");
+                    return false;
+                }
+                for(var i = 0,len=strArr.length; i < len; i++) {
+                    console.log(strArr[i])
+                    switch(i) {
+                        case 0:
+                            if(isNaN(strArr[0]) || strArr[0].length != 4){
+                                parent.layer.msg("项目代码4位时间代码填写错误!", {icon: 5});
+                                $("#projectCode").val("");
+                                return false;
+                            }
+                            break;
+                        case 1:
+                            if(isNaN(strArr[1]) || strArr[1].length != 6){
+                                parent.layer.msg("项目代码6位地区代码填写错误!", {icon: 5});
+                                $("#projectCode").val("");
+                                return false;
+                            }
+                            break;
+                        case 2:
+                            if(isNaN(strArr[2]) || strArr[2].length != 2){
+                                parent.layer.msg("项目代码2位中央业务指导部门代码填写错误!", {icon: 5});
+                                $("#projectCode").val("");
+                                return false;
+                            }
+                            break;
+                        case 3:
+                            if(strArr[3].length != 2){
+                                parent.layer.msg("项目代码2位项目类型代码填写错误!", {icon: 5});
+                                $("#projectCode").val("");
+                                return false;
+                            }
+                            break;
+                        case 4:
+                            if(isNaN(strArr[4]) || strArr[4].length != 6){
+                                parent.layer.msg("项目代码5位随机码和1位校验码填写错误!", {icon: 5});
+                                $("#projectCode").val("");
+                                return false;
+                            }
+                            break;
+                    }
+                };*/
 
-                var checkedCount = $('input[type=checkbox]:checked').length;
+                var PorjectUse = $("#PorjectUse").val();
+                if(PorjectUse ==undefined || PorjectUse == null || PorjectUse == ''){
+                    parent.layer.msg("请选择工程用途!", {icon: 5});
+                    return false;
+                }
+
+                /*var checkedCount = $('input[type=checkbox]:checked').length;
                 if(checkedCount == 0){
                     parent.layer.msg("请选择咨询项目造价包含内容说明!", {icon: 5});
                     return false;
-                }
+                }*/
 
                 var BaoGaoShuQianFaDate = $("#BaoGaoShuQianFaDate").val();
                 var s = BaoGaoShuQianFaDate.replace(/-/g,"/");
@@ -131,6 +202,22 @@
                     parent.layer.msg("出具报告日期超期,请重新选择!", {icon: 5});
                     return false;
                 }
+
+                var beginDateTime = $("#beginDate").val();
+                var endDateTime = $("#endDate").val();
+                if(beginDateTime != null && beginDateTime != undefined && beginDateTime != ''
+                    &&endDateTime != null && endDateTime != undefined && endDateTime != ''){
+                    var startDate = new Date(beginDateTime.replace(/-/g, "/"));
+                    var endDate = new Date(endDateTime.replace(/-/g, "/"));
+                    var time = endDate.getTime() - startDate.getTime();
+                    var days = parseInt(time / (1000 * 60 * 60 * 24));
+                    if(days<0){
+                        parent.layer.msg("作业期结束时间需大于开始时间!", {icon: 5});
+                        $("#endDate").val('');
+                        return;
+                    }
+                }
+
                 $("#inputForm").submit();
                 return true;
             }else{
@@ -225,13 +312,13 @@
             $('#county').html('<option value="${ruralProjectRecordsReported.s3}">${ruralProjectRecordsReported.county}</option>')
             layui.form.render("select");*/
 
-            layui.use(['table','form'], function(){
+            layui.use(['table','form', 'layer'], function(){
 
                 var form = layui.form;
                 form.render();
-
+                var val1 = $("#s1").val();
                 if ($("#s1").val() != "") {
-                    if ($("#s1").val() == "1") {
+                    if ($("#s1").val() == "10") {
                         $("#ext").attr("checked",true);
                         $("#cityDiv").show();
                         $("#countyDiv").show();
@@ -291,7 +378,7 @@
                             success:function(data){
                                 if(data.success) {
                                     for (var info in data.data){
-                                        if(data.data[info].id == '${ruralProjectRecordsReported.s2}'){
+                                        if(data.data[info].id == '${ruralProjectRecordsReported.s3}'){
                                             $('#otherProvinces').append(new Option(data.data[info].name,data.data[info].id,true,true));
                                         }else{
                                             $('#otherProvinces').append(new Option(data.data[info].name,data.data[info].id));
@@ -304,10 +391,20 @@
                         form.render();
                     }
                 }
+                var projectType = $("#ProjectType").val()
+                if (projectType == "10") {
+                    $("#ptDiv").show();
+                    $(".overallProcessDiv").hide();
+                }else if(projectType == "19"){
+                    $(".overallProcessDiv").show();
+                    $("#ptDiv").hide();
+                }else {
+                    $("#ptDiv").hide();
+                }
                 //有无合同监听器
                 layui.form.on('radio(ext)', function(data){
                     var span=data.value;
-                    if(span==1){
+                    if(span==10){
                         $("#cityDiv").show();
                         $("#countyDiv").show();
                         $("#d2").hide();
@@ -365,7 +462,7 @@
                             success:function(data){
                                 if(data.success) {
                                     for (var info in data.data){
-                                        if(data.data[info].id == '${ruralProjectRecordsReported.s2}'){
+                                        if(data.data[info].id == '${ruralProjectRecordsReported.s3}'){
                                             $('#otherProvinces').append(new Option(data.data[info].name,data.data[info].id,true,true));
 
                                             $('#county').html('<option value="">请选择工程所在区县</option>')
@@ -422,10 +519,35 @@
                         layui.form.render("select");
                     }
                 });
+                $.ajax({
+                    type : "POST",
+                    url : "${ctx}/ruralProject/ruralCostProjectMessage/engineeringTreeMenu",
+                    //请求成功
+                    success : function(result) {
+                        var str=jQuery.parseJSON(result);
+                        //工程类型树形菜单
+                        layui.dropdown.render({
+                            elem: '#demo100'
+                            ,style: 'width: 450px;'
+                            ,data:str
+                            ,click: function(item){
+                                var name = item.title;
+                                console.log(name.length);
+                                if(name.length>27){
+                                    name = name.substring(0,27);
+                                    name += "..."
+                                }
+                                $("#demo100").attr("title",item.title)
+                                $("#demo100").find("span").html(name)
+                                $("#demo100").find("#PorjectUse").val(item.id)
+                            }
+                        });
+                    }
+                });
 
                 /*处理建筑规模以及参数信息*/
                 layui.form.on('select(GCGMValue)',function(data) {
-                    if (data.value == "5") {
+                    if (data.value == "50") {
                         $("#GCGMValueParameter").removeClass("number");
                     }else{
                         $("#GCGMValueParameter").removeClass("number");
@@ -436,10 +558,10 @@
 
                 /*处理项目类型以及展示信息*/
                 layui.form.on('select(ProjectType)',function(data) {
-                    if (data.value == "1") {
+                    if (data.value == "10") {
                         $("#ptDiv").show();
                         $(".overallProcessDiv").hide();
-                    }else if(data.value == "14"){
+                    }else if(data.value == "19"){
                         $(".overallProcessDiv").show();
                         $("#ptDiv").hide();
                     }else{
@@ -450,6 +572,14 @@
                 });
 
             })
+
+            var GCGMValueVal = $("#GCGMValue").val();
+            if(GCGMValueVal == "50"){
+                $("#GCGMValueParameter").removeClass("number");
+            }else{
+                $("#GCGMValueParameter").removeClass("number");
+                $("#GCGMValueParameter").addClass("number");
+            }
         });
 
         function ZiXunBDEChange(){
@@ -825,7 +955,7 @@
                 <div class="layui-item layui-col-sm6 lw6">
                     <label class="layui-form-label double-line"><span class="require-item">*</span>工程所在省份</label>
                     <div class="layui-input-block">
-                        <input type="radio" title="本省" lay-filter="ext" name="s1" checked id="ext" value="1">
+                        <input type="radio" title="本省" lay-filter="ext" name="s1" checked id="ext" value="10">
                         <input type="radio" title="外省" lay-filter="ext" name="s1" id="ext1" value="999">
                     </div>
                 </div>
@@ -851,7 +981,7 @@
                 <div class="layui-item layui-col-sm6 lw6">
                     <label class="layui-form-label"><span class="require-item">*</span>项目编号:</label>
                     <div class="layui-input-block">
-                        <form:input path="projectRecordId" placeholder="请输入项目编号" htmlEscape="false"  class="form-control layui-input required"/>
+                        <form:input path="projectRecordId" placeholder="请输入项目编号" htmlEscape="false" maxlength="16"  class="form-control layui-input required number"/>
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
@@ -904,7 +1034,7 @@
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line"><span class="require-item">*</span>项目类型:</label>
+                    <label class="layui-form-label"><span class="require-item">*</span>项目类型:</label>
                     <div class="layui-input-block">
                         <form:select path="ProjectType" class="form-control layui-input required simple-select" lay-filter="ProjectType">
                             <form:options items="${fns:getMainDictList('ProjectType')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
@@ -979,14 +1109,15 @@
                                         <input id="reportedConsultantList{{idx}}_delFlag" name="reportedConsultantList[{{idx}}].delFlag" type="hidden" value="0"/>
                                         <input id="reportedConsultantList{{idx}}_roleFlag" name="reportedConsultantList[{{idx}}].roleFlag" type="hidden" value="0"/>
                                         <input id="reportedConsultantList{{idx}}_remindId" name="reportedConsultantList[{{idx}}].remindId" type="hidden" value="{{row.remindId}}"/>
+                                        <input id="reportedConsultantList{{idx}}_zhucezigezhKey" name="reportedConsultantList[{{idx}}].zhucezigezhKey" type="hidden" value="{{row.zhucezigezhKey}}"/>
                                     </td>
 
                                     <td width="60px">
                                         <input id="reportedConsultantList{{idx}}_costNum" name="reportedConsultantList[{{idx}}].costNum" readonly="readonly" style="text-align: center"  value="{{idx}}" type="text" class="form-control contentDetail"/>
                                     </td>
                                     <td>
-                                        <sys:reportedtreeselectUser id="reportedConsultantList{{idx}}_zixunyuan" name="reportedConsultantList[{{idx}}].zixunyuan" value="{{row.zixunyuan}}" labelName="workAccountList[{{idx}}].zixunyuan" labelValue="{{row.zixunyuanName}}"
-                                            title="用户" url="/sys/office/treeDataAll?type=4" cssClass="form-control required layui-input" allowClear="true" notAllowSelectParent="true"/>
+                                        <sys:reportedtreeselectUserZXY id="reportedConsultantList{{idx}}_zixunyuan" name="reportedConsultantList[{{idx}}].zixunyuan" value="{{row.zixunyuan}}" labelName="workAccountList[{{idx}}].zixunyuan" labelValue="{{row.zixunyuanName}}"
+                                            title="用户" url="/sys/office/treeDataAll?type=5" cssClass="form-control required layui-input" allowClear="true" notAllowSelectParent="true"/>
                                     </td>
 									<td>
 										<input id="reportedConsultantList{{idx}}_role" readonly="true" name="reportedConsultantList[{{idx}}].role" value="咨询员" readonly="true" class="form-control"/>
@@ -1090,17 +1221,13 @@
                 <div class="layui-item layui-col-sm6 lw6">
                     <label class="layui-form-label"><span class="require-item">*</span>工程用途:</label>
                     <div class="layui-input-block">
-                        <form:select path="PorjectUse" class="form-control layui-input required simple-select">
-                            <form:options items="${fns:getMainDictList('PorjectUse')}" itemLabel="label" itemValue="value" htmlEscape="false"/>
-                        </form:select>
+                        <button type="button" title="${engineeringInfo.engineeringName}" class="layui-btn layui-btn-primary" style="width: 100%;text-align: left" id="demo100">
+                            <span>${engineeringInfo.engineeringName}</span>
+                            <input type="hidden" name="PorjectUse" id="PorjectUse" class="judgment" value="${engineeringInfo.id}"/>
+                            <i class="layui-icon layui-icon-down layui-font-12" style="float: right"></i>
+                        </button>
                     </div>
                 </div>
-                <%--<div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line"><span class="require-item">*</span>建筑规模:</label>
-                    <div class="layui-input-block">
-                        <form:input path="GCGMValue" placeholder="请输入建筑规模" htmlEscape="false"  class="form-control layui-input required number" onchange="ZiXunBDEChange()"/>
-                    </div>
-                </div>--%>
                 <div class="layui-item layui-col-sm6 lw6">
                     <label class="layui-form-label double-line"><span class="require-item">*</span>建筑规模:</label>
                     <div class="layui-input-block">
@@ -1121,7 +1248,7 @@
                     </div>
                 </div>
 
-                <div id="ptDiv" style="display: none">
+                <div id="ptDiv">
                     <div class="layui-item layui-col-sm6 lw6">
                         <label class="layui-form-label">合同价(元):</label>
                         <div class="layui-input-block with-icon">
@@ -1160,7 +1287,7 @@
 
 
             <div class="form-group layui-row first lw9">
-                <div class="form-group-label"><h2><span class="require-item">*</span>咨询项目造价包含内容说明</h2></div>
+                <div class="form-group-label"><h2>咨询项目造价包含内容说明</h2></div>
                 <div class="layui-item layui-col-sm12">
                     <label class="layui-form-label double-line">咨询项目造价包含内容说明(勾选):</label>
                     <div class="layui-input-block paddingDiv">
@@ -1184,7 +1311,7 @@
                     <div class="layui-item layui-col-sm6 lw6">
                         <label class="layui-form-label double-line"><span class="require-item">*</span>咨询档案编号:</label>
                         <div class="layui-input-block with-icon">
-                            <form:input path="projectTotalInvestment" placeholder="请输入咨询档案编号" htmlEscape="false"  class="form-control required layui-input number"/>
+                            <form:input path="archivesNo" placeholder="请输入咨询档案编号" htmlEscape="false"  class="form-control required layui-input number"/>
                         </div>
                     </div>
                     <div class="layui-item layui-col-sm6 lw6">
@@ -1273,10 +1400,10 @@
                                                 <c:otherwise>
                                                     <c:choose>
                                                         <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'pdf')}">
-                                                            <td><a class="attention-info" href="javascript:void(0)" onclick="preview('预览','${workClientAttachment.temporaryUrl}','90%','90%','1')">${workClientAttachment.attachmentName}</a></td>
+                                                            <td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${workClientAttachment.temporaryUrl}',1)">${workClientAttachment.attachmentName}</a></td>
                                                         </c:when>
                                                         <c:otherwise>
-                                                            <td><a class="attention-info" href="javascript:void(0)" onclick="preview('预览','${workClientAttachment.temporaryUrl}','90%','90%')">${workClientAttachment.attachmentName}</a></td>
+                                                            <td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${workClientAttachment.temporaryUrl}',2)">${workClientAttachment.attachmentName}</a></td>
                                                         </c:otherwise>
                                                     </c:choose>
                                                 </c:otherwise>
@@ -1294,10 +1421,10 @@
                                                 <c:otherwise>
                                                     <c:choose>
                                                         <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'pdf')}">
-                                                            <td><a class="attention-info" href="javascript:void(0)" onclick="preview('预览','${workClientAttachment.url}','90%','90%','1')">${workClientAttachment.attachmentName}</a></td>
+                                                            <td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${workClientAttachment.url}',1)">${workClientAttachment.attachmentName}</a></td>
                                                         </c:when>
                                                         <c:otherwise>
-                                                            <td><a class="attention-info" href="javascript:void(0)" onclick="preview('预览','${workClientAttachment.url}','90%','90%')">${workClientAttachment.attachmentName}</a></td>
+                                                            <td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${workClientAttachment.url}',2)">${workClientAttachment.attachmentName}</a></td>
                                                         </c:otherwise>
                                                     </c:choose>
                                                 </c:otherwise>
@@ -1309,7 +1436,21 @@
                                     <td><fmt:formatDate value="${workClientAttachment.createDate}" type="both"/></td>
                                     <td class="op-td">
                                         <div class="op-btn-box" >
-                                            <a href="javascript:location.href='${ctx}/workfullmanage/workFullManage/downLoadAttach?file='+encodeURIComponent('${workClientAttachment.url}');" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>
+                                            <c:choose>
+                                                <c:when test="${ruralProjectRecordsReported.uploadMode == 2}">
+                                                    <c:choose>
+                                                        <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'pdf')}">
+                                                            <a href="javascript:void(0)" onclick="openPreview('${workClientAttachment.temporaryUrl}',1)" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>
+                                                        </c:when>
+                                                        <c:otherwise>
+                                                            <a href="${workClientAttachment.temporaryUrl}" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>
+                                                        </c:otherwise>
+                                                    </c:choose>
+                                                </c:when>
+                                                <c:otherwise>
+                                                    <a href="javascript:location.href='${ctx}/workfullmanage/workFullManage/downLoadAttach?file='+encodeURIComponent('${workClientAttachment.url}');" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>
+                                                </c:otherwise>
+                                            </c:choose>
                                             <c:if test="${workClientAttachment.createBy.id eq fns:getUser().id}">
                                                 <a href="javascript:void(0)" onclick="deleteFileFromAliyun(this,'${ctx}/sys/workattachment/deleteFileFromAliyun?url=${workClientAttachment.url}&id=${workClientAttachment.id}&type=2','addFile_attachment','_attachment')" class="op-btn op-btn-delete" ><i class="fa fa-trash"></i>&nbsp;删除</a>
                                             </c:if>
@@ -1332,12 +1473,6 @@
         </form:form>
     </div>
 </div>
-
-<script src="${ctxStatic}/layer-v2.3/layui/layui.all.js" charset="utf-8"></script>
-<script>
-
-
-</script>
 <script type="text/javascript">
     var workClientBankRowIdx = 0,
         workClientBankTpl = $("#workClientBankTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, "");

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 713 - 327
src/main/webapp/webpage/modules/ruralprojectrecords/cost/reportedModify.jsp


+ 2 - 2
src/main/webapp/webpage/modules/ruralprojectrecords/cost/ruralCostProjectMessageLists.jsp

@@ -916,10 +916,10 @@
 					if(d.projectReportRecordStatus == 5 || d.projectReportStatus == 5){
 						if(d.syncStatus == 0){
 							if(d.reportStatus == 0){
-								/*if(d.reportedState == 0 || d.reportedState == 6){
+								if(d.reportedState == 0 || d.reportedState == 6){
 									xml+="<a href=\"#\" onclick=\"openDialogre('上报管理', '${ctx}/ruralProject/ruralCostProjectMessage/updateReported?id=" +  d.id + " ','95%', '95%','','上报,关闭')\" style='background-color: #5FB878' class=\"layui-btn layui-btn-xs  layui-bg-blue\" > 上报</a>";
 									xml+="<a href=\"#\" onclick=\"openDialogre('上报管理', '${ctx}/ruralProject/ruralCostProjectMessage/updateReportedByPerson?id=" +  d.id + " ','95%', '95%','','上报,关闭')\" style='background-color: #5FB878' class=\"layui-btn layui-btn-xs  layui-bg-blue\" > 个人上报</a>";
-								}*/
+								}
 							}else{
 								if(d.reportedState == 2){
 									xml+="<a href=\"${ctx}/ruralProject/ruralCostProjectMessage/cancelInvalidateByReported?id=" + d.id + "&processInstanceId=" + d.reportedProcessInstanceId + "\" onclick=\"return confirmx('确认要撤回该上报审批吗?', this.href)\" class=\"layui-btn layui-btn-xs  layui-bg-red\" > 撤回上报</a>";

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 797 - 444
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/reportedAudit.jsp


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 753 - 350
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/reportedForm.jsp


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 711 - 326
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/reportedModify.jsp


+ 338 - 232
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/reportedView.jsp

@@ -70,8 +70,36 @@
                     }
                 }
             });
+            layui.use(['table','form', 'layer'], function(){
+                var form = layui.form;
+                form.render();
 
-
+                var val1 = $("#s1").val();
+                if (val1 != "") {
+                    if (val1 == "10") {
+                        $("#ext").attr("checked",true);
+                        $("#cityDiv").show();
+                        $("#countyDiv").show();
+                        $("#d2").hide();
+                    }else{
+                        $("#ext1").attr("checked",true);
+                        $("#d2").show();
+                        $("#cityDiv").hide();
+                        $("#countyDiv").hide();
+                    }
+                    form.render();
+                }
+            })
+            var projectType = $("#projectTypeId").val()
+            if (projectType == "10") {
+                $("#ptDiv").show();
+                $(".overallProcessDiv").hide();
+            }else if(projectType == "19"){
+                $(".overallProcessDiv").show();
+                $("#ptDiv").hide();
+            }else {
+                $("#ptDiv").hide();
+            }
         });
     </script>
 </head>
@@ -88,86 +116,127 @@
         <form:form id="inputForm" modelAttribute="ruralProjectRecordsReported" enctype="multipart/form-data" action="${ctx}/ruralProject/ruralProjectMessage/auditSaveReported" method="post" class="form-horizontal layui-form">
             <form:hidden path="id"/>
             <form:hidden path="projectId"/>
+            <input type="hidden" id="s1" value="${ruralProjectRecordsReported.s1}">
+            <input type="hidden" id="projectTypeId" value="${projectTypeId}">
 
             <form:hidden path="workContractInfo.client.id" id="contractClientId" value="${workContractInfo.client.id}"/>
             <input type="hidden" id="flagFile" value="">
-
             <div class="form-group layui-row">
-                <div class="form-group-label"><h2>项目信息</h2></div>
+                <div class="form-group-label"><h2>咨询项目登记</h2></div>
                 <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">咨询项目名称:</label>
+                    <label class="layui-form-label double-line">工程所在省份</label>
+                    <div class="layui-input-block">
+                        <input type="radio" title="本省" lay-filter="ext" name="s1" checked id="ext" value="10" disabled>
+                        <input type="radio" title="外省" lay-filter="ext" name="s1" id="ext1" value="999" disabled>
+                    </div>
+                </div>
+
+                <div class="layui-item layui-col-sm6 lw6" id="d2">
+                    <label class="layui-form-label double-line">工程所在省份</label>
+                    <div class="layui-input-block">
+                        <input type="text" readonly="readonly" class="form-control layui-input" value="${ruralProjectRecordsReported.county}" >
+                    </div>
+                </div>
+                <div class="layui-item layui-col-sm6 lw6" id="cityDiv">
+                    <label class="layui-form-label double-line">工程所在地级市</label>
                     <div class="layui-input-block">
-                        <form:input path="ProjectName" htmlEscape="false" readonly="true" class="form-control layui-input" style="background-color: #ffffff;"/>
+                        <input type="text" readonly="readonly" class="form-control layui-input" value="${ruralProjectRecordsReported.city}" >
+                    </div>
+                </div>
+                <div class="layui-item layui-col-sm6 lw6" id="countyDiv">
+                    <label class="layui-form-label double-line">工程所在区县</label>
+                    <div class="layui-input-block">
+                        <input type="text" readonly="readonly" class="form-control layui-input" value="${ruralProjectRecordsReported.county}" >
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">咨询项目负责人:</label>
-                    <div class="layui-input-block  with-icon">
-                        <input type="text" readonly="readonly" class="form-control layui-input" value="${ruralProjectRecordsReported.leaderNameStr}" style="background-color: #ffffff;">
+                    <label class="layui-form-label">项目编号:</label>
+                    <div class="layui-input-block">
+                        <form:input path="projectRecordId" placeholder="请输入项目编号" readonly="true" htmlEscape="false" maxlength="16"  class="form-control layui-input required number"/>
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label">投资性质:</label>
+                    <label class="layui-form-label">项目名称:</label>
                     <div class="layui-input-block">
-                        <form:input path="TouZiXZ" htmlEscape="false" readonly="true" class="form-control required layui-input" style="background-color: #ffffff;"/>
+                        <form:input path="ProjectName" placeholder="请输入项目名称" htmlEscape="false" readonly="true" class="form-control layui-input required"/>
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">咨询项目类:</label>
+                    <label class="layui-form-label">项目类:</label>
                     <div class="layui-input-block">
-                        <form:input path="ProjectType" htmlEscape="false" readonly="true" class="form-control required layui-input" style="background-color: #ffffff;"/>
+                        <form:input path="projectClassify" placeholder="请输入项目名称" htmlEscape="false" readonly="true" class="form-control layui-input required"/>
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label">合同类型:</label>
+                    <label class="layui-form-label">项目标段:</label>
+                    <div class="layui-input-block">
+                        <form:input path="projectSection" htmlEscape="false" readonly="true" class="form-control layui-input" maxlength="255"/>
+                    </div>
+                </div>
+                <div class="layui-item layui-col-sm6 lw6">
+                    <label class="layui-form-label">项目代码:</label>
+                    <div class="layui-input-block">
+                        <form:input path="projectCode" htmlEscape="false" readonly="true" class="form-control layui-input required" maxlength="255"/>
+                    </div>
+                </div>
+                <div class="layui-item layui-col-sm6 lw6">
+                    <label class="layui-form-label">投资性质:</label>
                     <div class="layui-input-block">
-                        <form:input path="HeTongLeiXing" htmlEscape="false" readonly="true" class="form-control required layui-input" style="background-color: #ffffff;"/>
+                        <form:input path="TouZiXZ" htmlEscape="false" readonly="true" class="form-control required layui-input" />
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
                     <label class="layui-form-label">合同编号:</label>
+                    <div class="layui-input-block  with-icon">
+                        <input type="text" htmlEscape="false" readonly="true" value="${ruralProjectRecordsReported.ziXunHTBH}" class="form-control layui-input required" >
+                    </div>
+                </div>
+                <div class="layui-item layui-col-sm6 lw6">
+                    <label class="layui-form-label">合同类型:</label>
                     <div class="layui-input-block">
-                        <input type="text" htmlEscape="false" readonly="true" value="${ruralProjectRecordsReported.ziXunHTBH}" class="form-control layui-input required" style="background-color: #ffffff;">
+                        <form:input path="HeTongLeiXing" htmlEscape="false" readonly="true" class="form-control required layui-input" />
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label">委托单位:</label>
+                    <label class="layui-form-label">项目类型:</label>
                     <div class="layui-input-block">
-                        <form:input path="WeiTuoDW" htmlEscape="false" readonly="true" class="form-control layui-input required" style="background-color: #ffffff;"/>
+                        <form:input path="ProjectType" htmlEscape="false" readonly="true" class="form-control required layui-input" />
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">委托单位电话:</label>
+                    <label class="layui-form-label">委托单位:</label>
                     <div class="layui-input-block">
-                        <form:input path="LianXiDH" htmlEscape="false" readonly="true"  class="form-control layui-input required" style="background-color: #ffffff;"/>
+                        <form:input path="WeiTuoDW" placeholder="请输入委托单位" readonly="true" htmlEscape="false"  class="form-control layui-input required"/>
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">项目报告号:</label>
+                    <label class="layui-form-label double-line">委托单位电话:</label>
                     <div class="layui-input-block">
-                        <form:input path="DangABH" htmlEscape="false" readonly="true" class="form-control layui-input required" style="background-color: #ffffff;"/>
+                        <form:input path="LianXiDH" placeholder="请输入委托单位电话" readonly="true" htmlEscape="false"  class="form-control layui-input required"/>
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">出具报告日期:</label>
+                    <label class="layui-form-label double-line">造价记录编号:</label>
                     <div class="layui-input-block">
-                        <form:input path="BaoGaoShuQianFaDate" htmlEscape="false" readonly="true" class="laydate-icondate required form-control layui-input layer-date laydate-icon" style="background-color: #ffffff;"/>
+                        <form:input path="DangABH" placeholder="请输入造价记录编号" readonly="true" htmlEscape="false"  class="form-control layui-input required"/>
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">咨询营业收入(万元):</label>
+                    <label class="layui-form-label double-line">出具咨询报告日期:</label>
                     <div class="layui-input-block">
-                        <form:input path="ZiXunShouRu" htmlEscape="false" readonly="true" onchange="zxChange()" class="form-control required layui-input" style="background-color: #ffffff;"/>
+                        <form:input path="BaoGaoShuQianFaDate" placeholder="请选择报告日期" readonly="true" htmlEscape="false"  class="laydate-icondate required form-control layui-input layer-date laydate-icon"/>
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">造价师注册证号:</label>
+                    <label class="layui-form-label double-line">造价咨询营业收入(万元):</label>
                     <div class="layui-input-block">
-                        <form:input path="zaoJiaShiZhengHao" htmlEscape="false" readonly="true" class="form-control required layui-input" style="background-color: #ffffff;"/>
+                        <form:input path="ZiXunShouRu" placeholder="请输入造价咨询营业收入" readonly="true" htmlEscape="false" onchange="zxChange()" class="form-control required layui-input"/>
                     </div>
                 </div>
             </div>
 
+
+
             <div class="form-group layui-row">
                 <div class="form-group-label"><h2>咨询员</h2></div>
                 <div class="layui-item layui-col-sm12 lw6">
@@ -177,33 +246,46 @@
                             <tr>
                                 <th width="60px">编号</th>
                                 <th >咨询员名称</th>
+                                <th width="8%">角色</th>
+                                <th >身份证号</th>
                                 <th >注册/资格证号</th>
-                                <th >本人负责内容</th>
                                 <th >完成营业收入比例(%)</th>
                                 <th >完成营业收入(元)</th>
+                                <th >本人负责内容</th>
                             </tr>
                             </thead>
                             <tbody id="reportedConsultantList">
-                                <c:choose>
-                                    <c:when test="${not empty ruralProjectRecordsReported.reportedConsultantList}">
-                                        <c:forEach items="${ruralProjectRecordsReported.reportedConsultantList}" var="consultant" varStatus="status">
-                                            <tr>
-                                                <td>${status.index + 1}</td>
-                                                <td>${consultant.zixunyuanName}</td>
-                                                <td>${consultant.zhucezigezhID}</td>
-                                                <td>${consultant.wordnr}</td>
-                                                <td>${consultant.wcyysrbl}</td>
-                                                <td>${consultant.wcyysr}</td>
-
-                                            </tr>
-                                        </c:forEach>
-                                    </c:when>
-                                    <c:otherwise>
+                            <c:choose>
+                                <c:when test="${not empty ruralProjectRecordsReported.reportedConsultantList}">
+                                    <c:forEach items="${ruralProjectRecordsReported.reportedConsultantList}" var="consultant" varStatus="status">
                                         <tr>
-                                            <td colspan="6" align="center">暂无数据</td>
+                                            <td>${status.index + 1}</td>
+                                            <td>${consultant.zixunyuanName}</td>
+                                            <td>
+                                                <c:choose>
+                                                    <c:when test="${consultant.roleFlag == 1}">
+                                                        负责人
+                                                    </c:when>
+                                                    <c:otherwise>
+                                                        咨询员
+                                                    </c:otherwise>
+                                                </c:choose>
+                                            </td>
+                                            <td>${consultant.idCard}</td>
+                                            <td>${consultant.zhucezigezhID}</td>
+                                            <td>${consultant.wcyysrbl}</td>
+                                            <td>${consultant.wcyysr}</td>
+                                            <td>${consultant.wordnr}</td>
+
                                         </tr>
-                                    </c:otherwise>
-                                </c:choose>
+                                    </c:forEach>
+                                </c:when>
+                                <c:otherwise>
+                                    <tr>
+                                        <td colspan="6" align="center">暂无数据</td>
+                                    </tr>
+                                </c:otherwise>
+                            </c:choose>
                             </tbody>
                         </table>
                     </div>
@@ -213,232 +295,256 @@
             <div class="form-group layui-row">
                 <div class="form-group-label"><h2>项目信息</h2></div>
                 <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">工程所在省份</label>
-                    <div class="layui-input-block with-icon">
-                        <input type="text" readonly="readonly" class="form-control layui-input" value="${ruralProjectRecordsReported.province}" style="background-color: #ffffff;">
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">工程所在地级市</label>
-                    <div class="layui-input-block">
-                        <input type="text" readonly="readonly" class="form-control layui-input" value="${ruralProjectRecordsReported.city}" style="background-color: #ffffff;">
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">工程所在区县</label>
-                    <div class="layui-input-block">
-                        <input type="text" readonly="readonly" class="form-control layui-input" value="${ruralProjectRecordsReported.county}" style="background-color: #ffffff;">
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
                     <label class="layui-form-label double-line">工程结构:</label>
                     <div class="layui-input-block">
-                        <form:input path="PorjectStruct" htmlEscape="false" readonly="true" class="form-control required layui-input" style="background-color: #ffffff;"/>
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label">地上层数:</label>
-                    <div class="layui-input-block">
-                        <form:input path="FloorUp" htmlEscape="false" readonly="true" class="form-control layui-input number" style="background-color: #ffffff;"/>
+                        <form:input path="PorjectStruct" htmlEscape="false" readonly="true" class="form-control required layui-input" />
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label">底下层数:</label>
+                    <label class="layui-form-label double-line">房屋地上层数:</label>
                     <div class="layui-input-block">
-                        <form:input path="FloorDown" htmlEscape="false" readonly="true" class="form-control layui-input number" style="background-color: #ffffff;"/>
+                        <form:input path="FloorUp" htmlEscape="false" readonly="true" class="form-control layui-input number"/>
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">建筑面积或规模:</label>
+                    <label class="layui-form-label double-line">房屋地下层数:</label>
                     <div class="layui-input-block">
-                        <form:input path="GCGMValue" htmlEscape="false" readonly="true" class="form-control layui-input required number" style="background-color: #ffffff;"/>
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label">计量单位:</label>
-                    <div class="layui-input-block">
-                        <form:input path="GCGMUnit" htmlEscape="false" readonly="true" class="form-control required layui-input" style="background-color: #ffffff;"/>
+                        <form:input path="FloorDown" htmlEscape="false" readonly="true" class="form-control layui-input number"/>
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
                     <label class="layui-form-label">工程用途:</label>
                     <div class="layui-input-block">
-                        <form:input path="PorjectUse" htmlEscape="false" readonly="true" class="form-control required layui-input" style="background-color: #ffffff;"/>
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line" title="注:指咨询项目编审后的最终造价,&#13;其中工程结算项目填审定价,标底编制填招标控制价,&#13;工程造价全过程管理填工程投资总额或审定价。"><span class="require-item">咨询标的额(万元):</span></label>
-                    <div class="layui-input-block">
-                        <form:input path="ZiXunBDE" htmlEscape="false" readonly="true" class="form-control required layui-input number" style="background-color: #ffffff;"/>
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">其中土建造价(万元):</label>
-                    <div class="layui-input-block">
-                        <form:input path="ZiXunBDETJ" htmlEscape="false" readonly="true" class="form-control layui-input" style="background-color: #ffffff;"/>
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">其中安装造价(万元):</label>
-                    <div class="layui-input-block">
-                        <form:input path="ZiXunBDEAZ" htmlEscape="false" readonly="true" class="form-control layui-input" style="background-color: #ffffff;"/>
+                        <input type="text" readonly="readonly" class="form-control layui-input" value="${engineeringInfo.engineeringName}" >
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">其中土建百分比(%):</label>
+                    <label class="layui-form-label double-line">建筑规模:</label>
                     <div class="layui-input-block">
-                        <form:input path="CalTJPercent" htmlEscape="false" class="form-control layui-input" readonly="true" style="background-color: #ffffff;"/>
+                        <form:input path="GCGMValue" htmlEscape="false" readonly="true" class="form-control layui-input number" />
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">其中安装百分比(%):</label>
-                    <div class="layui-input-block">
-                        <form:input path="CalAZPercent" htmlEscape="false" class="form-control layui-input" readonly="true" style="background-color: #ffffff;"/>
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">单位造价(元):</label>
-                    <div class="layui-input-block">
-                        <form:input path="CalZZJUnit" htmlEscape="false" readonly="true" class="form-control layui-input" style="background-color: #ffffff;"/>
-                    </div>
+                    <form:input path="GCGMValueParameter" placeholder="请输入建筑规模值" readonly="true" htmlEscape="false" class="form-control layui-input number"/>
                 </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">其中土建单位造价(元):</label>
-                    <div class="layui-input-block">
-                        <form:input path="CalZZJTJUnit" htmlEscape="false" readonly="true" class="form-control layui-input" style="background-color: #ffffff;"/>
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">其中装修单位造价(元):</label>
-                    <div class="layui-input-block">
-                        <form:input path="CalZZJAZUnit" htmlEscape="false" class="form-control layui-input" readonly="true" style="background-color: #ffffff;"/>
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label">合同价(元):</label>
-                    <div class="layui-input-block with-icon">
-                        <form:input path="HeTongJia" htmlEscape="false" readonly="true" class="form-control layui-input number" style="background-color: #ffffff;"/>
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label">送审价(元):</label>
-                    <div class="layui-input-block with-icon">
-                        <form:input path="SongShenJia" htmlEscape="false" readonly="true" class="form-control required layui-input number" style="background-color: #ffffff;"/>
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label">审定价(元):</label>
-                    <div class="layui-input-block with-icon">
-                        <form:input path="ShenDingJia" htmlEscape="false" readonly="true" class="form-control required layui-input number" style="background-color: #ffffff;"/>
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">审核增减额(元):</label>
-                    <div class="layui-input-block with-icon">
-                        <form:input path="JingHeJianE" htmlEscape="false"  class="form-control layui-input number" readonly="true" style="background-color: #ffffff;"/>
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">审核增减率(%):</label>
-                    <div class="layui-input-block with-icon">
-                        <form:input path="JingHeJianLv" htmlEscape="false"  class="form-control layui-input number" readonly="true" style="background-color: #ffffff;"/>
-                    </div>
-                </div>
-            </div>
 
-            <div class="form-group layui-row">
-                <div class="form-group-label"><h2>主要材料和人工消耗量指标</h2></div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label">钢材用量(t):</label>
-                    <div class="layui-input-block">
-                        <form:input path="GCYL" htmlEscape="false" class="form-control layui-input number" readonly="true" style="background-color: #ffffff;"/>
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label">水泥用量(t):</label>
-                    <div class="layui-input-block">
-                        <form:input path="SNYL" htmlEscape="false" class="form-control layui-input number" readonly="true" style="background-color: #ffffff;"/>
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">预拌砼用量(m³):</label>
-                    <div class="layui-input-block">
-                        <form:input path="YBTYL" htmlEscape="false" class="form-control layui-input number" readonly="true" style="background-color: #ffffff;"/>
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">人工工日用量(工日):</label>
-                    <div class="layui-input-block">
-                        <form:input path="RGGRYL" htmlEscape="false" class="form-control layui-input number" readonly="true" style="background-color: #ffffff;"/>
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">钢材消耗指标(kg):</label>
-                    <div class="layui-input-block">
-                        <form:input path="GCYLPerUnit" htmlEscape="false" class="form-control layui-input number" readonly="true" style="background-color: #ffffff;"/>
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">水泥消耗指标(kg):</label>
-                    <div class="layui-input-block">
-                        <form:input path="SNYLPerUnit" htmlEscape="false" class="form-control layui-input number" readonly="true" style="background-color: #ffffff;"/>
-                    </div>
-                </div>
+
                 <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">预拌砼消耗指标(m³):</label>
+                    <label class="layui-form-label double-line" title="注:指咨询项目编审后的最终造价,&#13;其中工程结算项目填审定价,标底编制填招标控制价,&#13;工程造价全过程管理填工程投资总额或审定价。"><span class="require-item">*咨询标的额(万元):</span></label>
                     <div class="layui-input-block">
-                        <form:input path="YBTYLPerUnit" htmlEscape="false" class="form-control layui-input number" readonly="true" style="background-color: #ffffff;"/>
+                        <form:input path="ZiXunBDE" htmlEscape="false" readonly="true" class="form-control required layui-input number"/>
                     </div>
                 </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">人工工日消耗指标(工日):</label>
-                    <div class="layui-input-block">
-                        <form:input path="RGGRYLPerUnit" htmlEscape="false" class="form-control layui-input number" readonly="true" style="background-color: #ffffff;"/>
+
+                <div id="ptDiv">
+                    <div class="layui-item layui-col-sm6 lw6">
+                        <label class="layui-form-label">合同价(元):</label>
+                        <div class="layui-input-block with-icon">
+                            <form:input path="HeTongJia" htmlEscape="false" readonly="true" class="form-control layui-input number"/>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw6">
+                        <label class="layui-form-label">送审价(元):</label>
+                        <div class="layui-input-block with-icon">
+                            <form:input path="SongShenJia" placeholder="请输入送审价" readonly="true" htmlEscape="false"  class="form-control required layui-input number" onchange="JingHeJianValue()"/>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw6">
+                        <label class="layui-form-label">审定价(元):</label>
+                        <div class="layui-input-block with-icon">
+                            <form:input path="ShenDingJia" placeholder="请输入审定价" readonly="true" htmlEscape="false"  class="form-control required layui-input number" onchange="JingHeJianValue()"/>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw6">
+                        <label class="layui-form-label double-line">审核增减额(元):</label>
+                        <div class="layui-input-block with-icon">
+                            <form:input path="JingHeJianE" htmlEscape="false" class="form-control layui-input number" readonly="true"/>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw6">
+                        <label class="layui-form-label double-line">审核增减率(%):</label>
+                        <div class="layui-input-block with-icon">
+                            <form:input path="JingHeJianLv" htmlEscape="false" class="form-control layui-input number" readonly="true"/>
+                        </div>
                     </div>
                 </div>
             </div>
 
+
             <div class="form-group layui-row first lw9">
                 <div class="form-group-label"><h2>咨询项目造价包含内容说明</h2></div>
-
-                <div class="layui-item layui-col-sm12 lw6">
-                    <label class="layui-form-label">土建工程:</label>
-                    <div class="layui-input-block paddingDiv">
-                        <form:checkboxes path="TJProjectList" lay-skin="primary" disabled="true" itemLabel="label" itemValue="value" htmlEscape="false" items="${fns:getMainDictList('civil_project')}" />
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm12 lw6">
-                    <label class="layui-form-label">装饰工程:</label>
+                <div class="layui-item layui-col-sm12">
+                    <label class="layui-form-label double-line">咨询项目造价包含内容说明(勾选):</label>
                     <div class="layui-input-block paddingDiv">
-                        <form:checkboxes path="ZSProjectList" lay-skin="primary" disabled="true" itemLabel="label" itemValue="value" htmlEscape="false" items="${fns:getMainDictList('decorate_project')}" />
+                        <form:checkboxes path="contentsIncludeList" disabled="true" lay-filter="chargeCriterionList" lay-skin="primary" itemLabel="label" itemValue="value" htmlEscape="true" items="${fns:getMainDictList('contents_include')}" />
+                    </div>
+                </div>
+                <div class="overallProcessDiv" style="display: none">
+                    <div class="layui-item layui-col-sm6 lw6">
+                        <label class="layui-form-label double-line">工程项目总投资(万元):</label>
+                        <div class="layui-input-block with-icon">
+                            <form:input path="projectTotalInvestment" readonly="true" placeholder="请输入工程项目总投资" htmlEscape="false"  class="form-control required layui-input number"/>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw6">
+                        <label class="layui-form-label">总咨询师:</label>
+                        <div class="layui-input-block  with-icon">
+                            <input type="text" readonly="readonly" class="form-control layui-input" value="${xmFZRName}" >
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw6">
+                        <label class="layui-form-label double-line">咨询档案编号:</label>
+                        <div class="layui-input-block with-icon">
+                            <form:input path="archivesNo" readonly="true" placeholder="请输入咨询档案编号" htmlEscape="false"  class="form-control required layui-input number"/>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw6">
+                        <label class="layui-form-label">作业期:</label>
+                        <div class="layui-input-block">
+                            <input id="beginDate" name="beginDate" readonly="true" type="text" readonly="readonly" maxlength="20" class="laydate-icondate form-control layer-date layui-input laydate-icon query-group required"
+                                   value="<fmt:formatDate value="${ruralProjectRecordsReported.beginDate}" pattern="yyyy-MM-dd"/>"/>
+                            </input>
+                            <span class="group-sep">-</span>
+                            <input id="endDate" name="endDate" readonly="true" type="text" readonly="readonly" maxlength="20" class="laydate-icondate form-control layer-date layui-input laydate-icon query-group required"
+                                   value="<fmt:formatDate value="${ruralProjectRecordsReported.endDate}" pattern="yyyy-MM-dd"/>"/>
+                            </input>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw6">
+                        <label class="layui-form-label double-line">全过程工程咨询收入(万元):</label>
+                        <div class="layui-input-block with-icon">
+                            <form:input path="advisoryIncome" readonly="true" placeholder="请输入全过程工程咨询收入" htmlEscape="false"  class="form-control required layui-input number"/>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw6">
+                        <label class="layui-form-label double-line">工程监理收入(万元):</label>
+                        <div class="layui-input-block with-icon">
+                            <form:input path="projectSupervisionIncome" readonly="true" placeholder="请输入工程监理收入" htmlEscape="false"  class="form-control required layui-input number"/>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw6">
+                        <label class="layui-form-label double-line">招标代理收入(万元):</label>
+                        <div class="layui-input-block with-icon">
+                            <form:input path="tenderingAgencyIncome" readonly="true" placeholder="请输入招标代理收入" htmlEscape="false"  class="form-control required layui-input number"/>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw6">
+                        <label class="layui-form-label double-line">设计收入(万元):</label>
+                        <div class="layui-input-block with-icon">
+                            <form:input path="designIncome" readonly="true" placeholder="请输入设计收入" htmlEscape="false"  class="form-control required layui-input number"/>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw6">
+                        <label class="layui-form-label double-line">其他收入(万元):</label>
+                        <div class="layui-input-block with-icon">
+                            <form:input path="otherIncome" readonly="true" placeholder="请输入其他收入" htmlEscape="false"  class="form-control required layui-input number"/>
+                        </div>
                     </div>
                 </div>
-                <div class="layui-item layui-col-sm12 lw6">
-                    <label class="layui-form-label">安装工程:</label>
-                    <div class="layui-input-block paddingDiv">
-                        <form:checkboxes path="AZProjectList" lay-skin="primary" disabled="true" itemLabel="label" itemValue="value" htmlEscape="false" items="${fns:getMainDictList('install_project')}" />
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm12 lw6">
-                    <label class="layui-form-label">市政工程:</label>
-                    <div class="layui-input-block paddingDiv">
-                        <form:checkboxes path="SZProjectList" lay-skin="primary" disabled="true" itemLabel="label" itemValue="value" htmlEscape="false" items="${fns:getMainDictList('services_project')}" />
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm12 lw6">
-                    <label class="layui-form-label">仿古园林工程:</label>
-                    <div class="layui-input-block paddingDiv">
-                        <form:checkboxes path="FGYLProjectList" lay-skin="primary" disabled="true" itemLabel="label" itemValue="value" htmlEscape="false" items="${fns:getMainDictList('park_project')}" />
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm12 lw6 with-textarea">
-                    <label class="layui-form-label double-line">其他专业工程咨询项目造价包含内容说明:</label>
-                    <div class="layui-input-block">
-                        <form:textarea path="QTProjec" htmlEscape="false" readonly="true" rows="4"  maxlength="255"  class="form-control " style="background-color: #ffffff;"/>
+            </div>
+
+            <div class="overallProcessDiv" style="display: none">
+                <div class="form-group layui-row">
+                    <div class="form-group-label"><h2>附件信息</h2></div>
+                    <div class="layui-item layui-col-xs12" style="padding:0 16px;">
+                        <table id="listAttachment" class="table table-bordered table-condensed details">
+                            <thead>
+                            <tr>
+                                <th>文件预览</th>
+                                <th>上传人</th>
+                                <th>上传时间</th>
+                                <th width="180px">操作</th>
+                            </tr>
+                            </thead>
+                            <tbody id="file_attachment">
+                            <c:forEach items="${ruralProjectRecordsReported.workAttachments}" var = "workClientAttachment" varStatus="status">
+                                <tr>
+                                    <c:choose>
+                                        <c:when test="${ruralProjectRecordsReported.uploadMode == 2}">
+                                            <c:choose>
+                                                <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpg')
+                                                               or fn:containsIgnoreCase(workClientAttachment.attachmentName,'png')
+                                                               or fn:containsIgnoreCase(workClientAttachment.attachmentName,'gif')
+                                                               or fn:containsIgnoreCase(workClientAttachment.attachmentName,'bmp')
+                                                               or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpeg')}">
+                                                    <td><img src="${workClientAttachment.temporaryUrl}" width="50" height="50" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${workClientAttachment.temporaryUrl}','90%','90%')" alt="${workClientAttachment.attachmentName}">
+                                                </c:when>
+                                                <c:otherwise>
+                                                    <c:choose>
+                                                        <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'pdf')}">
+                                                            <td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${workClientAttachment.temporaryUrl}',1)">${workClientAttachment.attachmentName}</a></td>
+                                                        </c:when>
+                                                        <c:otherwise>
+                                                            <td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${workClientAttachment.temporaryUrl}',2)">${workClientAttachment.attachmentName}</a></td>
+                                                        </c:otherwise>
+                                                    </c:choose>
+                                                </c:otherwise>
+                                            </c:choose>
+                                        </c:when>
+                                        <c:otherwise>
+                                            <c:choose>
+                                                <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpg')
+                                                               or fn:containsIgnoreCase(workClientAttachment.attachmentName,'png')
+                                                               or fn:containsIgnoreCase(workClientAttachment.attachmentName,'gif')
+                                                               or fn:containsIgnoreCase(workClientAttachment.attachmentName,'bmp')
+                                                               or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpeg')}">
+                                                    <td><img src="${workClientAttachment.url}" width="50" height="50" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${workClientAttachment.url}','90%','90%')" alt="${workClientAttachment.attachmentName}">
+                                                </c:when>
+                                                <c:otherwise>
+                                                    <c:choose>
+                                                        <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'pdf')}">
+                                                            <td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${workClientAttachment.url}',1)">${workClientAttachment.attachmentName}</a></td>
+                                                        </c:when>
+                                                        <c:otherwise>
+                                                            <td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${workClientAttachment.url}',2)">${workClientAttachment.attachmentName}</a></td>
+                                                        </c:otherwise>
+                                                    </c:choose>
+                                                </c:otherwise>
+                                            </c:choose>
+                                        </c:otherwise>
+                                    </c:choose>
+
+                                    <td>${workClientAttachment.createBy.name}</td>
+                                    <td><fmt:formatDate value="${workClientAttachment.createDate}" type="both"/></td>
+                                    <td class="op-td">
+                                        <div class="op-btn-box" >
+                                            <c:choose>
+                                                <c:when test="${ruralProjectRecordsReported.uploadMode == 2}">
+                                                    <c:choose>
+                                                        <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'pdf')}">
+                                                            <a href="javascript:void(0)" onclick="openPreview('${workClientAttachment.temporaryUrl}',1)" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>
+                                                        </c:when>
+                                                        <c:otherwise>
+                                                            <a href="${workClientAttachment.temporaryUrl}" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>
+                                                        </c:otherwise>
+                                                    </c:choose>
+                                                </c:when>
+                                                <c:otherwise>
+                                                    <a href="javascript:location.href='${ctx}/workfullmanage/workFullManage/downLoadAttach?file='+encodeURIComponent('${workClientAttachment.url}');" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>
+                                                </c:otherwise>
+                                            </c:choose>
+                                        </div>
+                                    </td>
+                                </tr>
+                            </c:forEach>
+                            </tbody>
+                        </table>
                     </div>
                 </div>
             </div>
 
+
+
+
+            <c:if test="${not empty ruralProjectRecordsReported.processInstanceId}">
+                <div class="form-group layui-row">
+                    <div class="form-group-label"><h2>审批流程</h2></div>
+                    <div class="layui-item layui-col-xs12 form-table-container" >
+                        <act:flowChart procInsId="${ruralProjectRecordsReported.processInstanceId}"/>
+                        <act:histoicFlow procInsId="${ruralProjectRecordsReported.processInstanceId}"/>
+                    </div>
+                </div>
+            </c:if>
             <div class="form-group layui-row page-end"></div>
         </form:form>
     </div>
@@ -454,4 +560,4 @@
     })
 </script>
 </body>
-</html>
+</html>

+ 3 - 3
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/ruralProjectMessageLists.jsp

@@ -918,10 +918,10 @@
 					if(d.projectReportRecordStatus == 5 || d.projectReportStatus == 5){
 						if(d.syncStatus == 0){
 							if(d.reportStatus == 0){
-								/*if(d.reportedState == 0 || d.reportedState == 6){
+								if(d.reportedState == 0 || d.reportedState == 6){
 									xml+="<a href=\"#\" onclick=\"openDialogre('上报管理', '${ctx}/ruralProject/ruralProjectMessage/updateReported?id=" +  d.id + " ','95%', '95%','','上报,关闭')\" style='background-color: #5FB878' class=\"layui-btn layui-btn-xs layui-bg-blue\" > 上报</a>";
-									xml+="<a href=\"#\" onclick=\"openDialogre('上报管理', '${ctx}/ruralProject/ruralProjectMessage/updateReportedByPerson?id=" +  d.id + " ','95%', '95%','','上报,关闭')\" style='background-color: #5FB878' class=\"layui-btn layui-btn-xs  layui-bg-blue\" > 个人上报</a>";
-								}*/
+									/*xml+="<a href=\"#\" onclick=\"openDialogre('上报管理', '${ctx}/ruralProject/ruralProjectMessage/updateReportedByPerson?id=" +  d.id + " ','95%', '95%','','上报,关闭')\" style='background-color: #5FB878' class=\"layui-btn layui-btn-xs  layui-bg-blue\" > 个人上报</a>";*/
+								}
 							}else{
 								if(d.reportedState == 2){
 									xml+="<a href=\"${ctx}/ruralProject/ruralProjectMessage/cancelInvalidateByReported?id=" + d.id + "&processInstanceId=" + d.reportedProcessInstanceId + "\" onclick=\"return confirmx('确认要撤回该上报审批吗?', this.href)\" class=\"layui-btn layui-btn-xs layui-bg-red\" > 撤回上报</a>";

+ 298 - 214
src/main/webapp/webpage/modules/ruralprojectrecords/view/reportedView.jsp

@@ -70,8 +70,36 @@
                     }
                 }
             });
+            layui.use(['table','form', 'layer'], function(){
+                var form = layui.form;
+                form.render();
 
-
+                var val1 = $("#s1").val();
+                if (val1 != "") {
+                    if (val1 == "10") {
+                        $("#ext").attr("checked",true);
+                        $("#cityDiv").show();
+                        $("#countyDiv").show();
+                        $("#d2").hide();
+                    }else{
+                        $("#ext1").attr("checked",true);
+                        $("#d2").show();
+                        $("#cityDiv").hide();
+                        $("#countyDiv").hide();
+                    }
+                    form.render();
+                }
+            })
+            var projectType = $("#projectTypeId").val()
+            if (projectType == "10") {
+                $("#ptDiv").show();
+                $(".overallProcessDiv").hide();
+            }else if(projectType == "19"){
+                $(".overallProcessDiv").show();
+                $("#ptDiv").hide();
+            }else {
+                $("#ptDiv").hide();
+            }
         });
     </script>
 </head>
@@ -121,86 +149,127 @@
         <form:form id="inputForm" modelAttribute="ruralProjectRecordsReported" enctype="multipart/form-data" action="${ctx}/ruralProject/ruralProjectMessage/auditSaveReported" method="post" class="form-horizontal layui-form">
             <form:hidden path="id"/>
             <form:hidden path="projectId"/>
+            <input type="hidden" id="s1" value="${ruralProjectRecordsReported.s1}">
+            <input type="hidden" id="projectTypeId" value="${projectTypeId}">
 
             <form:hidden path="workContractInfo.client.id" id="contractClientId" value="${workContractInfo.client.id}"/>
             <input type="hidden" id="flagFile" value="">
-
             <div class="form-group layui-row">
-                <div class="form-group-label"><h2>项目信息</h2></div>
+                <div class="form-group-label"><h2>咨询项目登记</h2></div>
                 <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">咨询项目名称:</label>
+                    <label class="layui-form-label double-line">工程所在省份</label>
+                    <div class="layui-input-block">
+                        <input type="radio" title="本省" lay-filter="ext" name="s1" checked id="ext" value="10" disabled>
+                        <input type="radio" title="外省" lay-filter="ext" name="s1" id="ext1" value="999" disabled>
+                    </div>
+                </div>
+
+                <div class="layui-item layui-col-sm6 lw6" id="d2">
+                    <label class="layui-form-label double-line">工程所在省份</label>
                     <div class="layui-input-block">
-                        <form:input path="ProjectName" htmlEscape="false" readonly="true" class="form-control layui-input" />
+                        <input type="text" readonly="readonly" class="form-control layui-input" value="${ruralProjectRecordsReported.county}" >
+                    </div>
+                </div>
+                <div class="layui-item layui-col-sm6 lw6" id="cityDiv">
+                    <label class="layui-form-label double-line">工程所在地级市</label>
+                    <div class="layui-input-block">
+                        <input type="text" readonly="readonly" class="form-control layui-input" value="${ruralProjectRecordsReported.city}" >
+                    </div>
+                </div>
+                <div class="layui-item layui-col-sm6 lw6" id="countyDiv">
+                    <label class="layui-form-label double-line">工程所在区县</label>
+                    <div class="layui-input-block">
+                        <input type="text" readonly="readonly" class="form-control layui-input" value="${ruralProjectRecordsReported.county}" >
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">咨询项目负责人:</label>
-                    <div class="layui-input-block  with-icon">
-                        <input type="text" readonly="readonly" class="form-control layui-input" value="${ruralProjectRecordsReported.leaderNameStr}" >
+                    <label class="layui-form-label">项目编号:</label>
+                    <div class="layui-input-block">
+                        <form:input path="projectRecordId" placeholder="请输入项目编号" readonly="true" htmlEscape="false" maxlength="16"  class="form-control layui-input required number"/>
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label">投资性质:</label>
+                    <label class="layui-form-label">项目名称:</label>
                     <div class="layui-input-block">
-                        <form:input path="TouZiXZ" htmlEscape="false" readonly="true" class="form-control required layui-input" />
+                        <form:input path="ProjectName" placeholder="请输入项目名称" htmlEscape="false" readonly="true" class="form-control layui-input required"/>
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">咨询项目类:</label>
+                    <label class="layui-form-label">项目类:</label>
                     <div class="layui-input-block">
-                        <form:input path="ProjectType" htmlEscape="false" readonly="true" class="form-control required layui-input" />
+                        <form:input path="projectClassify" placeholder="请输入项目名称" htmlEscape="false" readonly="true" class="form-control layui-input required"/>
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label">合同类型:</label>
+                    <label class="layui-form-label">项目标段:</label>
                     <div class="layui-input-block">
-                        <form:input path="HeTongLeiXing" htmlEscape="false" readonly="true" class="form-control required layui-input" />
+                        <form:input path="projectSection" htmlEscape="false" readonly="true" class="form-control layui-input" maxlength="255"/>
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label">合同编号:</label>
+                    <label class="layui-form-label">项目代码:</label>
+                    <div class="layui-input-block">
+                        <form:input path="projectCode" htmlEscape="false" readonly="true" class="form-control layui-input required" maxlength="255"/>
+                    </div>
+                </div>
+                <div class="layui-item layui-col-sm6 lw6">
+                    <label class="layui-form-label">投资性质:</label>
                     <div class="layui-input-block">
+                        <form:input path="TouZiXZ" htmlEscape="false" readonly="true" class="form-control required layui-input" />
+                    </div>
+                </div>
+                <div class="layui-item layui-col-sm6 lw6">
+                    <label class="layui-form-label">合同编号:</label>
+                    <div class="layui-input-block  with-icon">
                         <input type="text" htmlEscape="false" readonly="true" value="${ruralProjectRecordsReported.ziXunHTBH}" class="form-control layui-input required" >
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label">委托单位:</label>
+                    <label class="layui-form-label">合同类型:</label>
                     <div class="layui-input-block">
-                        <form:input path="WeiTuoDW" htmlEscape="false" readonly="true" class="form-control layui-input required" />
+                        <form:input path="HeTongLeiXing" htmlEscape="false" readonly="true" class="form-control required layui-input" />
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">委托单位电话:</label>
+                    <label class="layui-form-label">项目类型:</label>
                     <div class="layui-input-block">
-                        <form:input path="LianXiDH" htmlEscape="false" readonly="true"  class="form-control layui-input required" />
+                        <form:input path="ProjectType" htmlEscape="false" readonly="true" class="form-control required layui-input" />
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">项目报告号:</label>
+                    <label class="layui-form-label">委托单位:</label>
                     <div class="layui-input-block">
-                        <form:input path="DangABH" htmlEscape="false" readonly="true" class="form-control layui-input required" />
+                        <form:input path="WeiTuoDW" placeholder="请输入委托单位" readonly="true" htmlEscape="false"  class="form-control layui-input required"/>
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">出具报告日期:</label>
+                    <label class="layui-form-label double-line">委托单位电话:</label>
+                    <div class="layui-input-block">
+                        <form:input path="LianXiDH" placeholder="请输入委托单位电话" readonly="true" htmlEscape="false"  class="form-control layui-input required"/>
+                    </div>
+                </div>
+                <div class="layui-item layui-col-sm6 lw6">
+                    <label class="layui-form-label double-line">造价记录编号:</label>
                     <div class="layui-input-block">
-                        <form:input path="BaoGaoShuQianFaDate" htmlEscape="false" readonly="true" class="laydate-icondate required form-control layui-input layer-date laydate-icon" />
+                        <form:input path="DangABH" placeholder="请输入造价记录编号" readonly="true" htmlEscape="false"  class="form-control layui-input required"/>
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">咨询营业收入(万元):</label>
+                    <label class="layui-form-label double-line">出具咨询报告日期:</label>
                     <div class="layui-input-block">
-                        <form:input path="ZiXunShouRu" htmlEscape="false" readonly="true" onchange="zxChange()" class="form-control required layui-input" />
+                        <form:input path="BaoGaoShuQianFaDate" placeholder="请选择报告日期" readonly="true" htmlEscape="false"  class="laydate-icondate required form-control layui-input layer-date laydate-icon"/>
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">造价师注册证号:</label>
+                    <label class="layui-form-label double-line">造价咨询营业收入(万元):</label>
                     <div class="layui-input-block">
-                        <form:input path="zaoJiaShiZhengHao" htmlEscape="false" readonly="true" class="form-control required layui-input" />
+                        <form:input path="ZiXunShouRu" placeholder="请输入造价咨询营业收入" readonly="true" htmlEscape="false" onchange="zxChange()" class="form-control required layui-input"/>
                     </div>
                 </div>
             </div>
 
+
+
             <div class="form-group layui-row">
                 <div class="form-group-label"><h2>咨询员</h2></div>
                 <div class="layui-item layui-col-sm12 lw6">
@@ -210,10 +279,12 @@
                             <tr>
                                 <th width="60px">编号</th>
                                 <th >咨询员名称</th>
+                                <th width="8%">角色</th>
+                                <th >身份证号</th>
                                 <th >注册/资格证号</th>
-                                <th >本人负责内容</th>
                                 <th >完成营业收入比例(%)</th>
                                 <th >完成营业收入(元)</th>
+                                <th >本人负责内容</th>
                             </tr>
                             </thead>
                             <tbody id="reportedConsultantList">
@@ -223,10 +294,21 @@
                                         <tr>
                                             <td>${status.index + 1}</td>
                                             <td>${consultant.zixunyuanName}</td>
+                                            <td>
+                                                <c:choose>
+                                                    <c:when test="${consultant.roleFlag == 1}">
+                                                        负责人
+                                                    </c:when>
+                                                    <c:otherwise>
+                                                        咨询员
+                                                    </c:otherwise>
+                                                </c:choose>
+                                            </td>
+                                            <td>${consultant.idCard}</td>
                                             <td>${consultant.zhucezigezhID}</td>
-                                            <td>${consultant.wordnr}</td>
                                             <td>${consultant.wcyysrbl}</td>
                                             <td>${consultant.wcyysr}</td>
+                                            <td>${consultant.wordnr}</td>
 
                                         </tr>
                                     </c:forEach>
@@ -246,231 +328,233 @@
             <div class="form-group layui-row">
                 <div class="form-group-label"><h2>项目信息</h2></div>
                 <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">工程所在省份</label>
-                    <div class="layui-input-block with-icon">
-                        <input type="text" readonly="readonly" class="form-control layui-input" value="${ruralProjectRecordsReported.province}" >
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">工程所在地级市</label>
-                    <div class="layui-input-block">
-                        <input type="text" readonly="readonly" class="form-control layui-input" value="${ruralProjectRecordsReported.city}" >
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">工程所在区县</label>
-                    <div class="layui-input-block">
-                        <input type="text" readonly="readonly" class="form-control layui-input" value="${ruralProjectRecordsReported.county}" >
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
                     <label class="layui-form-label double-line">工程结构:</label>
                     <div class="layui-input-block">
                         <form:input path="PorjectStruct" htmlEscape="false" readonly="true" class="form-control required layui-input" />
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label">地上层数:</label>
-                    <div class="layui-input-block">
-                        <form:input path="FloorUp" htmlEscape="false" readonly="true" class="form-control layui-input number" />
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label">底下层数:</label>
-                    <div class="layui-input-block">
-                        <form:input path="FloorDown" htmlEscape="false" readonly="true" class="form-control layui-input number" />
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">建筑面积或规模:</label>
+                    <label class="layui-form-label double-line">房屋地上层数:</label>
                     <div class="layui-input-block">
-                        <form:input path="GCGMValue" htmlEscape="false" readonly="true" class="form-control layui-input required number" />
+                        <form:input path="FloorUp" htmlEscape="false" readonly="true" class="form-control layui-input number"/>
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label">计量单位:</label>
+                    <label class="layui-form-label double-line">房屋地下层数:</label>
                     <div class="layui-input-block">
-                        <form:input path="GCGMUnit" htmlEscape="false" readonly="true" class="form-control required layui-input" />
+                        <form:input path="FloorDown" htmlEscape="false" readonly="true" class="form-control layui-input number"/>
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
                     <label class="layui-form-label">工程用途:</label>
                     <div class="layui-input-block">
-                        <form:input path="PorjectUse" htmlEscape="false" readonly="true" class="form-control required layui-input"/>
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line" title="注:指咨询项目编审后的最终造价,&#13;其中工程结算项目填审定价,标底编制填招标控制价,&#13;工程造价全过程管理填工程投资总额或审定价。"><span class="require-item">咨询标的额(万元):</span></label>
-                    <div class="layui-input-block">
-                        <form:input path="ZiXunBDE" htmlEscape="false" readonly="true" class="form-control required layui-input number"/>
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">其中土建造价(万元):</label>
-                    <div class="layui-input-block">
-                        <form:input path="ZiXunBDETJ" htmlEscape="false" readonly="true" class="form-control layui-input"/>
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">其中安装造价(万元):</label>
-                    <div class="layui-input-block">
-                        <form:input path="ZiXunBDEAZ" htmlEscape="false" readonly="true" class="form-control layui-input"/>
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">其中土建百分比(%):</label>
-                    <div class="layui-input-block">
-                        <form:input path="CalTJPercent" htmlEscape="false" class="form-control layui-input" readonly="true"/>
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">其中安装百分比(%):</label>
-                    <div class="layui-input-block">
-                        <form:input path="CalAZPercent" htmlEscape="false" class="form-control layui-input" readonly="true"/>
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">单位造价(元):</label>
-                    <div class="layui-input-block">
-                        <form:input path="CalZZJUnit" htmlEscape="false" readonly="true" class="form-control layui-input"/>
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">其中土建单位造价(元):</label>
-                    <div class="layui-input-block">
-                        <form:input path="CalZZJTJUnit" htmlEscape="false" readonly="true" class="form-control layui-input"/>
+                        <input type="text" readonly="readonly" class="form-control layui-input" value="${engineeringInfo.engineeringName}" >
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">其中装修单位造价(元):</label>
+                    <label class="layui-form-label double-line">建筑规模:</label>
                     <div class="layui-input-block">
-                        <form:input path="CalZZJAZUnit" htmlEscape="false" class="form-control layui-input" readonly="true"/>
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label">合同价(元):</label>
-                    <div class="layui-input-block with-icon">
-                        <form:input path="HeTongJia" htmlEscape="false" readonly="true" class="form-control layui-input number"/>
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label">送审价(元):</label>
-                    <div class="layui-input-block with-icon">
-                        <form:input path="SongShenJia" htmlEscape="false" readonly="true" class="form-control required layui-input number"/>
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label">审定价(元):</label>
-                    <div class="layui-input-block with-icon">
-                        <form:input path="ShenDingJia" htmlEscape="false" readonly="true" class="form-control required layui-input number"/>
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">审核增减额(元):</label>
-                    <div class="layui-input-block with-icon">
-                        <form:input path="JingHeJianE" htmlEscape="false"  class="form-control layui-input number" readonly="true"/>
+                        <form:input path="GCGMValue" htmlEscape="false" readonly="true" class="form-control layui-input number" />
                     </div>
                 </div>
                 <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">审核增减率(%):</label>
-                    <div class="layui-input-block with-icon">
-                        <form:input path="JingHeJianLv" htmlEscape="false"  class="form-control layui-input number" readonly="true"/>
-                    </div>
+                    <form:input path="GCGMValueParameter" placeholder="请输入建筑规模值" readonly="true" htmlEscape="false" class="form-control layui-input number"/>
                 </div>
-            </div>
 
-            <div class="form-group layui-row">
-                <div class="form-group-label"><h2>主要材料和人工消耗量指标</h2></div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label">钢材用量(t):</label>
-                    <div class="layui-input-block">
-                        <form:input path="GCYL" htmlEscape="false" class="form-control layui-input number" readonly="true"/>
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label">水泥用量(t):</label>
-                    <div class="layui-input-block">
-                        <form:input path="SNYL" htmlEscape="false" class="form-control layui-input number" readonly="true"/>
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">预拌砼用量(m³):</label>
-                    <div class="layui-input-block">
-                        <form:input path="YBTYL" htmlEscape="false" class="form-control layui-input number" readonly="true"/>
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">人工工日用量(工日):</label>
-                    <div class="layui-input-block">
-                        <form:input path="RGGRYL" htmlEscape="false" class="form-control layui-input number" readonly="true" />
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">钢材消耗指标(kg):</label>
-                    <div class="layui-input-block">
-                        <form:input path="GCYLPerUnit" htmlEscape="false" class="form-control layui-input number" readonly="true"/>
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">水泥消耗指标(kg):</label>
-                    <div class="layui-input-block">
-                        <form:input path="SNYLPerUnit" htmlEscape="false" class="form-control layui-input number" readonly="true"/>
-                    </div>
-                </div>
+
                 <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">预拌砼消耗指标(m³):</label>
+                    <label class="layui-form-label double-line" title="注:指咨询项目编审后的最终造价,&#13;其中工程结算项目填审定价,标底编制填招标控制价,&#13;工程造价全过程管理填工程投资总额或审定价。"><span class="require-item">*咨询标的额(万元):</span></label>
                     <div class="layui-input-block">
-                        <form:input path="YBTYLPerUnit" htmlEscape="false" class="form-control layui-input number" readonly="true"/>
+                        <form:input path="ZiXunBDE" htmlEscape="false" readonly="true" class="form-control required layui-input number"/>
                     </div>
                 </div>
-                <div class="layui-item layui-col-sm6 lw6">
-                    <label class="layui-form-label double-line">人工工日消耗指标(工日):</label>
-                    <div class="layui-input-block">
-                        <form:input path="RGGRYLPerUnit" htmlEscape="false" class="form-control layui-input number" readonly="true"/>
+
+                <div id="ptDiv">
+                    <div class="layui-item layui-col-sm6 lw6">
+                        <label class="layui-form-label">合同价(元):</label>
+                        <div class="layui-input-block with-icon">
+                            <form:input path="HeTongJia" htmlEscape="false" readonly="true" class="form-control layui-input number"/>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw6">
+                        <label class="layui-form-label">送审价(元):</label>
+                        <div class="layui-input-block with-icon">
+                            <form:input path="SongShenJia" placeholder="请输入送审价" readonly="true" htmlEscape="false"  class="form-control required layui-input number" onchange="JingHeJianValue()"/>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw6">
+                        <label class="layui-form-label">审定价(元):</label>
+                        <div class="layui-input-block with-icon">
+                            <form:input path="ShenDingJia" placeholder="请输入审定价" readonly="true" htmlEscape="false"  class="form-control required layui-input number" onchange="JingHeJianValue()"/>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw6">
+                        <label class="layui-form-label double-line">审核增减额(元):</label>
+                        <div class="layui-input-block with-icon">
+                            <form:input path="JingHeJianE" htmlEscape="false" class="form-control layui-input number" readonly="true"/>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw6">
+                        <label class="layui-form-label double-line">审核增减率(%):</label>
+                        <div class="layui-input-block with-icon">
+                            <form:input path="JingHeJianLv" htmlEscape="false" class="form-control layui-input number" readonly="true"/>
+                        </div>
                     </div>
                 </div>
             </div>
 
+
             <div class="form-group layui-row first lw9">
                 <div class="form-group-label"><h2>咨询项目造价包含内容说明</h2></div>
-
-                <div class="layui-item layui-col-sm12 lw6">
-                    <label class="layui-form-label">土建工程:</label>
-                    <div class="layui-input-block paddingDiv">
-                        <form:checkboxes path="TJProjectList" lay-skin="primary" disabled="true" itemLabel="label" itemValue="value" htmlEscape="false" items="${fns:getMainDictList('civil_project')}" />
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm12 lw6">
-                    <label class="layui-form-label">装饰工程:</label>
-                    <div class="layui-input-block paddingDiv">
-                        <form:checkboxes path="ZSProjectList" lay-skin="primary" disabled="true" itemLabel="label" itemValue="value" htmlEscape="false" items="${fns:getMainDictList('decorate_project')}" />
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm12 lw6">
-                    <label class="layui-form-label">安装工程:</label>
+                <div class="layui-item layui-col-sm12">
+                    <label class="layui-form-label double-line">咨询项目造价包含内容说明(勾选):</label>
                     <div class="layui-input-block paddingDiv">
-                        <form:checkboxes path="AZProjectList" lay-skin="primary" disabled="true" itemLabel="label" itemValue="value" htmlEscape="false" items="${fns:getMainDictList('install_project')}" />
+                        <form:checkboxes path="contentsIncludeList" disabled="true" lay-filter="chargeCriterionList" lay-skin="primary" itemLabel="label" itemValue="value" htmlEscape="true" items="${fns:getMainDictList('contents_include')}" />
+                    </div>
+                </div>
+                <div class="overallProcessDiv" style="display: none">
+                    <div class="layui-item layui-col-sm6 lw6">
+                        <label class="layui-form-label double-line">工程项目总投资(万元):</label>
+                        <div class="layui-input-block with-icon">
+                            <form:input path="projectTotalInvestment" readonly="true" placeholder="请输入工程项目总投资" htmlEscape="false"  class="form-control required layui-input number"/>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw6">
+                        <label class="layui-form-label">总咨询师:</label>
+                        <div class="layui-input-block  with-icon">
+                            <input type="text" readonly="readonly" class="form-control layui-input" value="${xmFZRName}" >
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw6">
+                        <label class="layui-form-label double-line">咨询档案编号:</label>
+                        <div class="layui-input-block with-icon">
+                            <form:input path="archivesNo" readonly="true" placeholder="请输入咨询档案编号" htmlEscape="false"  class="form-control required layui-input number"/>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw6">
+                        <label class="layui-form-label">作业期:</label>
+                        <div class="layui-input-block">
+                            <input id="beginDate" name="beginDate" readonly="true" type="text" readonly="readonly" maxlength="20" class="laydate-icondate form-control layer-date layui-input laydate-icon query-group required"
+                                   value="<fmt:formatDate value="${ruralProjectRecordsReported.beginDate}" pattern="yyyy-MM-dd"/>"/>
+                            </input>
+                            <span class="group-sep">-</span>
+                            <input id="endDate" name="endDate" readonly="true" type="text" readonly="readonly" maxlength="20" class="laydate-icondate form-control layer-date layui-input laydate-icon query-group required"
+                                   value="<fmt:formatDate value="${ruralProjectRecordsReported.endDate}" pattern="yyyy-MM-dd"/>"/>
+                            </input>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw6">
+                        <label class="layui-form-label double-line">全过程工程咨询收入(万元):</label>
+                        <div class="layui-input-block with-icon">
+                            <form:input path="advisoryIncome" readonly="true" placeholder="请输入全过程工程咨询收入" htmlEscape="false"  class="form-control required layui-input number"/>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw6">
+                        <label class="layui-form-label double-line">工程监理收入(万元):</label>
+                        <div class="layui-input-block with-icon">
+                            <form:input path="projectSupervisionIncome" readonly="true" placeholder="请输入工程监理收入" htmlEscape="false"  class="form-control required layui-input number"/>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw6">
+                        <label class="layui-form-label double-line">招标代理收入(万元):</label>
+                        <div class="layui-input-block with-icon">
+                            <form:input path="tenderingAgencyIncome" readonly="true" placeholder="请输入招标代理收入" htmlEscape="false"  class="form-control required layui-input number"/>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw6">
+                        <label class="layui-form-label double-line">设计收入(万元):</label>
+                        <div class="layui-input-block with-icon">
+                            <form:input path="designIncome" readonly="true" placeholder="请输入设计收入" htmlEscape="false"  class="form-control required layui-input number"/>
+                        </div>
+                    </div>
+                    <div class="layui-item layui-col-sm6 lw6">
+                        <label class="layui-form-label double-line">其他收入(万元):</label>
+                        <div class="layui-input-block with-icon">
+                            <form:input path="otherIncome" readonly="true" placeholder="请输入其他收入" htmlEscape="false"  class="form-control required layui-input number"/>
+                        </div>
                     </div>
                 </div>
-                <div class="layui-item layui-col-sm12 lw6">
-                    <label class="layui-form-label">市政工程:</label>
-                    <div class="layui-input-block paddingDiv">
-                        <form:checkboxes path="SZProjectList" lay-skin="primary" disabled="true" itemLabel="label" itemValue="value" htmlEscape="false" items="${fns:getMainDictList('services_project')}" />
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm12 lw6">
-                    <label class="layui-form-label">仿古园林工程:</label>
-                    <div class="layui-input-block paddingDiv">
-                        <form:checkboxes path="FGYLProjectList" lay-skin="primary" disabled="true" itemLabel="label" itemValue="value" htmlEscape="false" items="${fns:getMainDictList('park_project')}" />
-                    </div>
-                </div>
-                <div class="layui-item layui-col-sm12 lw6 with-textarea">
-                    <label class="layui-form-label double-line">其他专业工程咨询项目造价包含内容说明:</label>
-                    <div class="layui-input-block">
-                        <form:textarea path="QTProjec" htmlEscape="false" readonly="true" rows="4"  maxlength="255"  class="form-control "/>
+            </div>
+
+            <div class="overallProcessDiv" style="display: none">
+                <div class="form-group layui-row">
+                    <div class="form-group-label"><h2>附件信息</h2></div>
+                    <div class="layui-item layui-col-xs12" style="padding:0 16px;">
+                        <table id="listAttachment" class="table table-bordered table-condensed details">
+                            <thead>
+                            <tr>
+                                <th>文件预览</th>
+                                <th>上传人</th>
+                                <th>上传时间</th>
+                                <th width="180px">操作</th>
+                            </tr>
+                            </thead>
+                            <tbody id="file_attachment">
+                            <c:forEach items="${ruralProjectRecordsReported.workAttachments}" var = "workClientAttachment" varStatus="status">
+                                <tr>
+                                    <c:choose>
+                                        <c:when test="${ruralProjectRecordsReported.uploadMode == 2}">
+                                            <c:choose>
+                                                <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpg')
+                                                               or fn:containsIgnoreCase(workClientAttachment.attachmentName,'png')
+                                                               or fn:containsIgnoreCase(workClientAttachment.attachmentName,'gif')
+                                                               or fn:containsIgnoreCase(workClientAttachment.attachmentName,'bmp')
+                                                               or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpeg')}">
+                                                    <td><img src="${workClientAttachment.temporaryUrl}" width="50" height="50" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${workClientAttachment.temporaryUrl}','90%','90%')" alt="${workClientAttachment.attachmentName}">
+                                                </c:when>
+                                                <c:otherwise>
+                                                    <c:choose>
+                                                        <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'pdf')}">
+                                                            <td><a class="attention-info" href="javascript:void(0)" onclick="preview('预览','${workClientAttachment.temporaryUrl}','90%','90%','1')">${workClientAttachment.attachmentName}</a></td>
+                                                        </c:when>
+                                                        <c:otherwise>
+                                                            <td><a class="attention-info" href="javascript:void(0)" onclick="preview('预览','${workClientAttachment.temporaryUrl}','90%','90%')">${workClientAttachment.attachmentName}</a></td>
+                                                        </c:otherwise>
+                                                    </c:choose>
+                                                </c:otherwise>
+                                            </c:choose>
+                                        </c:when>
+                                        <c:otherwise>
+                                            <c:choose>
+                                                <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpg')
+                                                               or fn:containsIgnoreCase(workClientAttachment.attachmentName,'png')
+                                                               or fn:containsIgnoreCase(workClientAttachment.attachmentName,'gif')
+                                                               or fn:containsIgnoreCase(workClientAttachment.attachmentName,'bmp')
+                                                               or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpeg')}">
+                                                    <td><img src="${workClientAttachment.url}" width="50" height="50" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${workClientAttachment.url}','90%','90%')" alt="${workClientAttachment.attachmentName}">
+                                                </c:when>
+                                                <c:otherwise>
+                                                    <c:choose>
+                                                        <c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'pdf')}">
+                                                            <td><a class="attention-info" href="javascript:void(0)" onclick="preview('预览','${workClientAttachment.url}','90%','90%','1')">${workClientAttachment.attachmentName}</a></td>
+                                                        </c:when>
+                                                        <c:otherwise>
+                                                            <td><a class="attention-info" href="javascript:void(0)" onclick="preview('预览','${workClientAttachment.url}','90%','90%')">${workClientAttachment.attachmentName}</a></td>
+                                                        </c:otherwise>
+                                                    </c:choose>
+                                                </c:otherwise>
+                                            </c:choose>
+                                        </c:otherwise>
+                                    </c:choose>
+
+                                    <td>${workClientAttachment.createBy.name}</td>
+                                    <td><fmt:formatDate value="${workClientAttachment.createDate}" type="both"/></td>
+                                    <td class="op-td">
+                                        <div class="op-btn-box" >
+                                            <a href="javascript:location.href='${ctx}/workfullmanage/workFullManage/downLoadAttach?file='+encodeURIComponent('${workClientAttachment.url}');" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>
+                                        </div>
+                                    </td>
+                                </tr>
+                            </c:forEach>
+                            </tbody>
+                        </table>
                     </div>
                 </div>
             </div>
+
+
+
+
             <c:if test="${not empty ruralProjectRecordsReported.processInstanceId}">
                 <div class="form-group layui-row">
                     <div class="form-group-label"><h2>审批流程</h2></div>
@@ -496,4 +580,4 @@
     })
 </script>
 </body>
-</html>
+</html>

+ 17 - 17
src/main/webapp/webpage/modules/sys/tagTreeselectReported.jsp

@@ -51,7 +51,7 @@
 					+ new Date().getTime()+"&branchOffice=${branchOffice}", function(zNodes){
 				// 初始化树结构
 				tree = $.fn.zTree.init($("#tree"), setting, zNodes);
-				
+
 				// 默认展开一级节点
 				var nodes = tree.getNodesByParam("level", 0);
 				// for(var i=0; i<nodes.length; i++) {
@@ -69,7 +69,7 @@
 			key.bind('keydown', function (e){if(e.which == 13){searchNode();}});
 			setTimeout("search();", "300");
 		});
-		
+
 		// 默认选择节点
 		function selectCheckNode(){
 			var ids = "${selectIds}".split(",");
@@ -94,26 +94,26 @@
 			}
 			searchNode(e);
 		}
-		
+
 		//搜索节点
 		function searchNode() {
 			// 取得输入的关键字的值
 			var value = $.trim(key.get(0).value);
-			
+
 			// 按名字查询
 			var keyType = "name";<%--
 			if (key.hasClass("empty")) {
 				value = "";
 			}--%>
-			
+
 			// 如果和上次一次,就退出不查了。
 			if (lastValue === value) {
 				return;
 			}
-			
+
 			// 保存最后一次
 			lastValue = value;
-			
+
 			var nodes = tree.getNodes();
 			// 如果要查空字串,就退出不查了。
 			if (value == "") {
@@ -124,17 +124,17 @@
 			nodeList = tree.getNodesByParamFuzzy(keyType, value);
 			updateNodes(nodeList);
 		}
-		
+
 		//隐藏所有节点
-		function hideAllNode(nodes){			
+		function hideAllNode(nodes){
 			nodes = tree.transformToArray(nodes);
 			for(var i=nodes.length-1; i>=0; i--) {
 				tree.hideNode(nodes[i]);
 			}
 		}
-		
+
 		//显示所有节点
-		function showAllNode(nodes){			
+		function showAllNode(nodes){
 			nodes = tree.transformToArray(nodes);
 			for(var i=nodes.length-1; i>=0; i--) {
 				/* if(!nodes[i].isParent){
@@ -150,14 +150,14 @@
 				/* } */
 			}
 		}
-		
+
 		//更新节点状态
 		function updateNodes(nodeList) {
 			tree.showNodes(nodeList);
 			for(var i=0, l=nodeList.length; i<l; i++) {
-				
+
 				//展开当前节点的父节点
-				tree.showNode(nodeList[i].getParentNode()); 
+				tree.showNode(nodeList[i].getParentNode());
 				//tree.expandNode(nodeList[i].getParentNode(), true, false, false);
 				//显示展开符合条件节点的父节点
 				while(nodeList[i].getParentNode()!=null){
@@ -203,8 +203,8 @@
 				}
 			})
 		}
-		
-		
+
+
 	</script>
 </head>
 <body>
@@ -216,4 +216,4 @@
 			</span>
 	</div>
 	<div id="tree" class="ztree" style="padding:15px 20px;"></div>
-</body>
+</body>

+ 219 - 0
src/main/webapp/webpage/modules/sys/tagTreeselectReportedZXY.jsp

@@ -0,0 +1,219 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>数据选择</title>
+	<meta name="decorator" content="blank"/>
+	<%@include file="/webpage/include/treeview.jsp" %>
+	<script type="text/javascript">
+		var key, lastValue = "", nodeList = [], type = getQueryString("type", "${url}");
+		var tree, setting = {view:{selectedMulti:false,dblClickExpand:false},check:{enable:"${checked}",nocheckInherit:true},
+				async:{enable:(type==5),url:"${ctx}/sys/user/treeDataByNameOnReportedZXY",autoParam:["id=officeId","projectId=projectId","selectName=selectName"]},
+				data:{simpleData:{enable:true}},callback:{<%--
+					beforeClick: function(treeId, treeNode){
+						if("${checked}" == "true"){
+							//tree.checkNode(treeNode, !node.checked, true, true);
+							tree.expandNode(treeNode, true, false, false);
+						}
+					}, --%>
+					onClick:function(event, treeId, treeNode){
+						tree.expandNode(treeNode);
+					},onCheck: function(e, treeId, treeNode){
+						var nodes = tree.getCheckedNodes(true);
+						for (var i=0, l=nodes.length; i<l; i++) {
+							tree.expandNode(nodes[i], true, false, false);
+						}
+						return false;
+					},onAsyncSuccess: function(event, treeId, treeNode, msg){
+						var nodes = tree.getNodesByParam("pId", treeNode.id, null);
+						for (var i=0, l=nodes.length; i<l; i++) {
+							try{tree.checkNode(nodes[i], treeNode.checked, true);}catch(e){}
+							//tree.selectNode(nodes[i], false);
+						}
+						selectCheckNode();
+					},onDblClick: function(){//<c:if test="${!checked}">
+						top.$.jBox.getBox().find("button[value='ok']").trigger("click");
+						//$("input[type='text']", top.mainFrame.document).focus();//</c:if>
+					}
+				}
+			};
+		function expandNodes(nodes) {
+			if (!nodes) return;
+			for (var i=0, l=nodes.length; i<l; i++) {
+				tree.expandNode(nodes[i], true, false, false);
+				if (nodes[i].isParent && nodes[i].zAsync) {
+					expandNodes(nodes[i].children);
+				}
+			}
+		}
+		$(document).ready(function(){
+			$.get("${ctx}${url}${fn:indexOf(url,'?')==-1?'?':'&'}&extId=${extId}&isAll=${isAll}&module=${module}&t="
+					+ new Date().getTime()+"&branchOffice=${branchOffice}", function(zNodes){
+				// 初始化树结构
+				tree = $.fn.zTree.init($("#tree"), setting, zNodes);
+
+				// 默认展开一级节点
+				var nodes = tree.getNodesByParam("level", 0);
+				// for(var i=0; i<nodes.length; i++) {
+				// 	tree.expandNode(nodes[i], true, false, false);
+				// }
+				//异步加载子节点(加载用户)
+				// var nodesOne = tree.getNodesByParam("isParent", true);
+				// for(var j=0; j<nodesOne.length; j++) {
+				// 	tree.reAsyncChildNodes(nodesOne[j],"!refresh",false);
+				// }
+				selectCheckNode();
+			});
+			key = $("#key");
+			key.bind("focus", focusKey).bind("blur", blurKey).bind("change cut input propertychange", searchNode);
+			key.bind('keydown', function (e){if(e.which == 13){searchNode();}});
+			setTimeout("search();", "300");
+		});
+
+		// 默认选择节点
+		function selectCheckNode(){
+			var ids = "${selectIds}".split(",");
+			for(var i=0; i<ids.length; i++) {
+				var node = tree.getNodeByParam("id", (type==3?"u_":"")+ids[i]);
+				if("${checked}" == "true"){
+					try{tree.checkNode(node, true, true);}catch(e){}
+					tree.selectNode(node, false);
+				}else{
+					tree.selectNode(node, true);
+				}
+			}
+		}
+	  	function focusKey(e) {
+			if (key.hasClass("empty")) {
+				key.removeClass("empty");
+			}
+		}
+		function blurKey(e) {
+			if (key.get(0).value === "") {
+				key.addClass("empty");
+			}
+			searchNode(e);
+		}
+
+		//搜索节点
+		function searchNode() {
+			// 取得输入的关键字的值
+			var value = $.trim(key.get(0).value);
+
+			// 按名字查询
+			var keyType = "name";<%--
+			if (key.hasClass("empty")) {
+				value = "";
+			}--%>
+
+			// 如果和上次一次,就退出不查了。
+			if (lastValue === value) {
+				return;
+			}
+
+			// 保存最后一次
+			lastValue = value;
+
+			var nodes = tree.getNodes();
+			// 如果要查空字串,就退出不查了。
+			if (value == "") {
+				showAllNode(nodes);
+				return;
+			}
+			hideAllNode(nodes);
+			nodeList = tree.getNodesByParamFuzzy(keyType, value);
+			updateNodes(nodeList);
+		}
+
+		//隐藏所有节点
+		function hideAllNode(nodes){
+			nodes = tree.transformToArray(nodes);
+			for(var i=nodes.length-1; i>=0; i--) {
+				tree.hideNode(nodes[i]);
+			}
+		}
+
+		//显示所有节点
+		function showAllNode(nodes){
+			nodes = tree.transformToArray(nodes);
+			for(var i=nodes.length-1; i>=0; i--) {
+				/* if(!nodes[i].isParent){
+					tree.showNode(nodes[i]);
+				}else{ */
+					if(nodes[i].getParentNode()!=null){
+						tree.expandNode(nodes[i],false,false,false,false);
+					}else{
+						tree.expandNode(nodes[i],true,true,false,false);
+					}
+					tree.showNode(nodes[i]);
+					showAllNode(nodes[i].children);
+				/* } */
+			}
+		}
+
+		//更新节点状态
+		function updateNodes(nodeList) {
+			tree.showNodes(nodeList);
+			for(var i=0, l=nodeList.length; i<l; i++) {
+
+				//展开当前节点的父节点
+				tree.showNode(nodeList[i].getParentNode());
+				//tree.expandNode(nodeList[i].getParentNode(), true, false, false);
+				//显示展开符合条件节点的父节点
+				while(nodeList[i].getParentNode()!=null){
+					tree.expandNode(nodeList[i].getParentNode(), true, false, false);
+					nodeList[i] = nodeList[i].getParentNode();
+					tree.showNode(nodeList[i].getParentNode());
+				}
+				//显示根节点
+				tree.showNode(nodeList[i].getParentNode());
+				//展开根节点
+				tree.expandNode(nodeList[i].getParentNode(), true, false, false);
+			}
+		}
+
+		function copyText() {
+			var selectName = $("#selectName").val();
+			$.ajax({
+				url:"${ctx}/sys/user/treeDataByNameOnReported",
+				async:false,
+				type:"post",
+				success:function (result) {
+					$.get("${ctx}${url}${fn:indexOf(url,'?')==-1?'?':'&'}&extId=${extId}&isAll=${isAll}&module=${module}&t="
+							+ new Date().getTime()+"&branchOffice=${branchOffice}"+"&selectName="+selectName, function(zNodes){
+						// 初始化树结构
+						tree = $.fn.zTree.init($("#tree"), setting, zNodes);
+
+						// 默认展开一级节点
+						var nodes = tree.getNodesByParam("level", 0);
+						for(var i=0; i<nodes.length; i++) {
+							tree.expandNode(nodes[i], true, false, false);
+						}
+						//异步加载子节点(加载用户)
+						var nodesOne = tree.getNodesByParam("isParent", true);
+						for(var j=0; j<nodesOne.length; j++) {
+							tree.reAsyncChildNodes(nodesOne[j],"!refresh",false);
+						}
+						selectCheckNode();
+					});
+					key = $("#key");
+					key.bind("focus", focusKey).bind("blur", blurKey).bind("change cut input propertychange", searchNode);
+					key.bind('keydown', function (e){if(e.which == 13){searchNode();}});
+					setTimeout("search();", "300");
+				}
+			})
+		}
+
+
+	</script>
+</head>
+<body>
+	<div class="input-group">
+		<input htmlEscape="false"  class="form-control layui-input" id="selectName" name="selectName" value="" placeholder="人员搜索">
+		<span class="input-group-btn">
+				 <button type="button"  id="Button" onclick="copyText()" style="height: 40px;" class="layui-btn layui-btn-xs layui-btn-primary"><i class="fa fa-search"> 查询</i>
+				 </button>
+			</span>
+	</div>
+	<div id="tree" class="ztree" style="padding:15px 20px;"></div>
+</body>