Jelajahi Sumber

1.发票列表页面、发票管理列表页面、财务发票管理列表页面 查询速度优化
2.报销申请与报销申请管理的差距
3.造价审核工程咨询中项目登记、项目计划、项目管理列表页面优化
4.电子签章(苏州)、电子签章(盐城)列表页面优化
5.项目详情中档案信息、线上归档信息tab查看优化

user5 3 tahun lalu
induk
melakukan
cc5c6b4a8a
38 mengubah file dengan 2015 tambahan dan 1983 penghapusan
  1. 4 1
      src/main/java/com/jeeplus/modules/projectcontentinfo/web/ProjectReportDefectRecordController.java
  2. 15 0
      src/main/java/com/jeeplus/modules/ruralprojectrecords/dao/RuralProjectMessageAllDao.java
  3. 8 8
      src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageAllService.java
  4. 3 3
      src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageNewService.java
  5. 14 14
      src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageService.java
  6. 20 5
      src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectRecordsService.java
  7. 132 1
      src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralCostProjectMessageNewTwoController.java
  8. 2 2
      src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralCostProjectRecordsController.java
  9. 6 6
      src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectMessageElectronicSealController.java
  10. 2 2
      src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectRecordsController.java
  11. 9 9
      src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectViewController.java
  12. 6 6
      src/main/java/com/jeeplus/modules/ruralprojectrecords/web/yanChengSignature/RuralProjectMessageElectronicSealYCController.java
  13. 29 0
      src/main/java/com/jeeplus/modules/sys/service/WorkattachmentService.java
  14. 10 0
      src/main/java/com/jeeplus/modules/workcontractinfo/service/WorkContractInfoService.java
  15. 13 0
      src/main/java/com/jeeplus/modules/workinvoice/dao/WorkInvoiceDao.java
  16. 2 2
      src/main/java/com/jeeplus/modules/workinvoice/service/WorkInvoiceAllService.java
  17. 2 2
      src/main/java/com/jeeplus/modules/workinvoice/service/WorkInvoiceService.java
  18. 4 0
      src/main/java/com/jeeplus/modules/workinvoice/web/WorkInvoiceTwoController.java
  19. 132 1
      src/main/java/com/jeeplus/modules/workprojectnotify/web/WorkProjectNotifyController.java
  20. 13 8
      src/main/java/com/jeeplus/modules/workreimbursement/web/WorkReimbursementController.java
  21. 345 0
      src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectMessageAllDao.xml
  22. 8 0
      src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectRecordsDao.xml
  23. 259 0
      src/main/resources/mappings/modules/workinvoice/WorkInvoiceDao.xml
  24. 4 0
      src/main/webapp/webpage/modules/projectrecord/plan/projectPlanConsultingList.jsp
  25. 2 1
      src/main/webapp/webpage/modules/projectrecord/plan/projectPlanCostList.jsp
  26. 32 31
      src/main/webapp/webpage/modules/ruralprojectrecords/cost/ruralCostProjectRecordsList.jsp
  27. 189 0
      src/main/webapp/webpage/modules/ruralprojectrecords/record/cost/projectRecordDescriptionForm.jsp
  28. 67 0
      src/main/webapp/webpage/modules/ruralprojectrecords/record/cost/recordTwo/projectReportRecordUrgentModify.jsp
  29. 67 0
      src/main/webapp/webpage/modules/ruralprojectrecords/record/cost/recordTwo/projectReportRecordUrgentModifyApply.jsp
  30. 179 0
      src/main/webapp/webpage/modules/ruralprojectrecords/record/projectRepordDescriptionAudit.jsp
  31. 189 0
      src/main/webapp/webpage/modules/ruralprojectrecords/record/projectRepordDescriptionModify.jsp
  32. 179 7
      src/main/webapp/webpage/modules/ruralprojectrecords/record/projectRepordDescriptionView.jsp
  33. 3 2
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralProjectRecordsList.jsp
  34. 39 939
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/electronicSeal/ruralProjectMessageElectronicSealList.jsp
  35. 26 926
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/electronicSealYC/ruralProjectMessageElectronicSealYCList.jsp
  36. 1 1
      src/main/webapp/webpage/modules/ruralprojectrecords/subProjectInfo/subProjectInfoList.jsp
  37. 0 3
      src/main/webapp/webpage/modules/workinvoice/workInvoiceAllTwoList.jsp
  38. 0 3
      src/main/webapp/webpage/modules/workinvoice/workInvoiceTwoList.jsp

+ 4 - 1
src/main/java/com/jeeplus/modules/projectcontentinfo/web/ProjectReportDefectRecordController.java

@@ -30,6 +30,7 @@ import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectMessageNewSer
 import com.jeeplus.modules.ruralprojectrecords.service.RuralProjectRecordsService;
 import com.jeeplus.modules.sys.entity.MainDictDetail;
 import com.jeeplus.modules.sys.entity.User;
+import com.jeeplus.modules.sys.entity.Workattachment;
 import com.jeeplus.modules.sys.utils.UserUtils;
 import com.jeeplus.modules.workcontractinfo.entity.WorkContractInfo;
 import org.activiti.engine.runtime.ProcessInstance;
@@ -145,7 +146,7 @@ public class ProjectReportDefectRecordController extends BaseController {
 		//查询报告文件、依据性文件、其他文件必填列表以及数据
 		List<MainDictDetail> mainDictDetails = projectTemplateService.attachmentTemplateList();
 
-		projectTemplateService.disposeProjectTemplateFile(mainDictDetails,relateInfo,engineeringId,ruralProjectRecords,materialDefectRecord,"其他资料");
+		projectTemplateService.disposeProjectTemplateFile(mainDictDetails,relateInfo,engineeringId,ruralProjectRecords,materialDefectRecord,"");
 
 		/*for (MainDictDetail mainDict : mainDictDetails) {
 			relateInfo.setAttachType(mainDict.getValue());
@@ -526,8 +527,10 @@ public class ProjectReportDefectRecordController extends BaseController {
 		//查询“配农网”工程类型id
 		String engineeringId = engineeringService.getEngineeringId("202");
 		ProjectMaterialDefectRecord defectRecord = projectReportRecordService.getMaterialDefectRecord(materialDefectRecord.getId());
+		List<Workattachment> workAttachments = defectRecord.getWorkAttachments();
 		try {
 			MyBeanUtils.copyBeanNotNull2Bean(materialDefectRecord, defectRecord);
+			defectRecord.setWorkAttachments(workAttachments);
 		} catch (Exception e) {
 			e.printStackTrace();
 		}

+ 15 - 0
src/main/java/com/jeeplus/modules/ruralprojectrecords/dao/RuralProjectMessageAllDao.java

@@ -143,4 +143,19 @@ public interface RuralProjectMessageAllDao extends CrudDao<RuralProjectRecords>
     //添加
     void insertSGDW(RuralProjectRecords ruralProjectRecords);
 
+
+    /**
+     * 获取签章list页面数据
+     * @param projectRecords
+     * @return
+     */
+    List<RuralProjectRecords> findSignatureList(RuralProjectRecords projectRecords);
+
+    /**
+     * 获取签章list页面数量
+     * @param projectRecords
+     * @return
+     */
+    Integer querySignatureCount(RuralProjectRecords projectRecords);
+
 }

+ 8 - 8
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageAllService.java

@@ -1137,15 +1137,15 @@ public class RuralProjectMessageAllService extends CrudService<RuralProjectMessa
             projectRecords.setOfficeIdList(officeIdList);
         }
 
-        int count = dao.queryCount(projectRecords);
+        int count = dao.querySignatureCount(projectRecords);
         page.setCount(count);
         page.setCountFlag(false);
         projectRecords.setPage(page);
-        List<RuralProjectRecords> recordsList = findList(projectRecords);
+        List<RuralProjectRecords> recordsList = dao.findSignatureList(projectRecords);
 
 
         //查询负责人信息
-        for (RuralProjectRecords records : recordsList) {
+        /*for (RuralProjectRecords records : recordsList) {
             if(null != records.getRecordState() && 0 == records.getProjectReportRecordStatus()){
                 records.setProjectReportRecordStatus(records.getRecordState());
             }
@@ -1156,7 +1156,7 @@ public class RuralProjectMessageAllService extends CrudService<RuralProjectMessa
             records.setLeaderNameStr(Collections3.extractToString(users, "name", ","));
             records.setLeaderIds(Collections3.extractToString(users, "id", ","));
 
-        }
+        }*/
         page.setList(recordsList);
         return page;
     }
@@ -1181,15 +1181,15 @@ public class RuralProjectMessageAllService extends CrudService<RuralProjectMessa
             projectRecords.setOfficeIdList(officeIdList);
         }
 
-        int count = dao.queryCount(projectRecords);
+        int count = dao.querySignatureCount(projectRecords);
         page.setCount(count);
         page.setCountFlag(false);
         projectRecords.setPage(page);
-        List<RuralProjectRecords> recordsList = findList(projectRecords);
+        List<RuralProjectRecords> recordsList = dao.findSignatureList(projectRecords);
 
 
         //查询负责人信息
-        for (RuralProjectRecords records : recordsList) {
+        /*for (RuralProjectRecords records : recordsList) {
             if(null != records.getRecordState() && 0 == records.getProjectReportRecordStatus()){
                 records.setProjectReportRecordStatus(records.getRecordState());
             }
@@ -1200,7 +1200,7 @@ public class RuralProjectMessageAllService extends CrudService<RuralProjectMessa
             records.setLeaderNameStr(Collections3.extractToString(users, "name", ","));
             records.setLeaderIds(Collections3.extractToString(users, "id", ","));
 
-        }
+        }*/
         page.setList(recordsList);
         return page;
     }

+ 3 - 3
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageNewService.java

@@ -2063,13 +2063,13 @@ public class RuralProjectMessageNewService extends CrudService<RuralProjectMessa
                     workattachment.setAttachmentUser(UserUtils.getUser().getId());
                     if (com.jeeplus.common.utils.StringUtils.isBlank(workattachment.getId()) || "null".equals(workattachment.getId())) {
                         workattachment.preInsert();
-                        workattachmentDao.insert(workattachment);
+                        workattachmentService.insertOnWorkAttachment(workattachment);
                     } else {
                         workattachment.preUpdate();
-                        workattachmentDao.update(workattachment);
+                        workattachmentService.updateOnWorkAttachment(workattachment);
                     }
                 } else {
-                    workattachmentDao.delete(workattachment);
+                    workattachmentService.delete(workattachment);
                 }
             }
         }

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

@@ -272,7 +272,7 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
         typeList.add("99");
         typeList.add("101");
         typeList.add("98");
-        typeList.add("110");
+        typeList.add("103");
         String types = StringUtils.join(typeList,',');
         workProjectNotify.setTypes(types);
         //workProjectNotify.setType("92");
@@ -352,7 +352,7 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
                     break;
                 }
                 //上报展示
-                if(notify.getNotifyId().equals(records.getPrrId()) && "95".equals(notify.getType())){
+                if(notify.getNotifyId().equals(records.getId()) && "95".equals(notify.getType())){
                     records.setReportNotifyId(notify.getId());
                     if("重新申请".equals(notify.getRemarks()) && !"1".equals(notify.getStatus())){
                         records.setReportedNotifyFlag(1);
@@ -363,7 +363,7 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
                     break;
                 }
                 //新代办修改权限处理
-                if(notify.getNotifyId().equals(records.getPrrId()) && "96".equals(notify.getType())){
+                if(notify.getNotifyId().equals(records.getPrdId()) && "96".equals(notify.getType())){
                     records.setReportNotifyId(notify.getId());
                     if("重新申请".equals(notify.getRemarks()) && !"1".equals(notify.getStatus())){
                         records.setNewReportNotifyFlag(1);
@@ -374,24 +374,24 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
                     break;
                 }
                 //新代办流程2修改权限处理
-                if(notify.getNotifyId().equals(records.getPrrId()) && "97".equals(notify.getType())){
+                if(notify.getNotifyId().equals(records.getPrdtId()) && "97".equals(notify.getType())){
                     records.setReportNotifyId(notify.getId());
                     if("重新申请".equals(notify.getRemarks()) && !"1".equals(notify.getStatus())){
-                        records.setNewReportTwoNotifyFlag(1);
+                        records.setNewReportNotifyFlag(1);
                     }
                     if("待审批".equals(notify.getRemarks()) && !"1".equals(notify.getStatus())){
-                        records.setNewReportTwoAuditNotifyFlag(1);
+                        records.setNewReportAuditNotifyFlag(1);
                     }
                     break;
                 }
                 //报告归档资料缺失说明修改权限处理
-                if(notify.getNotifyId().equals(records.getPrrId()) && "99".equals(notify.getType())){
+                if(notify.getNotifyId().equals(records.getPrdtId()) && "99".equals(notify.getType())){
                     records.setReportNotifyId(notify.getId());
                     if("重新申请".equals(notify.getRemarks()) && !"1".equals(notify.getStatus())){
-                        records.setNewReportMaterialNotifyFlag(1);
+                        records.setNewReportNotifyFlag(1);
                     }
                     if("待审批".equals(notify.getRemarks()) && !"1".equals(notify.getStatus())){
-                        records.setNewReportMaterialAuditNotifyFlag(1);
+                        records.setNewReportAuditNotifyFlag(1);
                     }
                     break;
                 }
@@ -402,12 +402,12 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
                         records.setNewRecordNotifyFlag(1);
                     }
                     if("待审批".equals(notify.getRemarks()) && !"1".equals(notify.getStatus())){
-                        records.setNewRecordAuditNotifyFlag(1);
+                        records.setNewRecordNotifyFlag(1);
                     }
                     break;
                 }
                 //新代办修改权限处理
-                if(notify.getNotifyId().equals(records.getPrrId()) && "98".equals(notify.getType())){
+                if(notify.getNotifyId().equals(records.getId()) && "98".equals(notify.getType())){
                     records.setNewRecordNotifyId(notify.getId());
                     if("重新申请".equals(notify.getRemarks()) && !"1".equals(notify.getStatus())){
                         records.setNewReportedNotifyFlag(1);
@@ -418,13 +418,13 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
                     break;
                 }
                 //新代办修改权限处理
-                if(notify.getNotifyId().equals(records.getPrrId()) && "110".equals(notify.getType())){
+                if(notify.getNotifyId().equals(records.getPrrId()) && "103".equals(notify.getType())){
                     records.setPaperProjectNotifyId(notify.getId());
                     if("重新申请".equals(notify.getRemarks()) && !"1".equals(notify.getStatus())){
-                        records.setPaperProjectNotifyFlag(1);
+                        records.setNewRecordTwoNotifyFlag(1);
                     }
                     if("待审批".equals(notify.getRemarks()) && !"1".equals(notify.getStatus())){
-                        records.setPaperProjectAuditNotifyFlag(1);
+                        records.setNewRecordTwoAuditNotifyFlag(1);
                     }
                     break;
                 }

+ 20 - 5
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectRecordsService.java

@@ -337,13 +337,13 @@ public class RuralProjectRecordsService extends CrudService<RuralProjectRecordsD
         projectRecords.setPage(page);
 		List<RuralProjectRecords> recordsList = findList(projectRecords);
 		//查询负责人信息
-		for (RuralProjectRecords records : recordsList) {
+		/*for (RuralProjectRecords records : recordsList) {
 			this.queryContractInfos(records);
 			List<User> users = workProjectUserDao.queryProjectUsers(records.getId(), "1");
 			records.setProjectLeaders(users);
 			records.setLeaderNameStr(Collections3.extractToString(users, "name", ","));
 			records.setLeaderIds(Collections3.extractToString(users, "id", ","));
-		}
+		}*/
 		page.setList(recordsList);
 		return page;
 	}
@@ -413,13 +413,13 @@ public class RuralProjectRecordsService extends CrudService<RuralProjectRecordsD
 		projectRecords.setPage(page);
 		List<RuralProjectRecords> recordsList = dao.projectPlanFindList(projectRecords);
 		//查询负责人信息
-		for (RuralProjectRecords records : recordsList) {
+		/*for (RuralProjectRecords records : recordsList) {
 			this.queryContractInfos(records);
 			List<User> users = workProjectUserDao.queryProjectUsers(records.getId(), "1");
 			records.setProjectLeaders(users);
 			records.setLeaderNameStr(Collections3.extractToString(users, "name", ","));
 			records.setLeaderIds(Collections3.extractToString(users, "id", ","));
-		}
+		}*/
 		page.setList(recordsList);
 		return page;
 	}
@@ -1506,7 +1506,7 @@ public class RuralProjectRecordsService extends CrudService<RuralProjectRecordsD
 	 * @param projectRecords
 	 */
 	public void queryContractInfos(RuralProjectRecords projectRecords) {
-		WorkContractInfo workContractInfo = contractInfoService.get(projectRecords.getWorkContractInfo().getId());
+		WorkContractInfo workContractInfo = contractInfoService.getContractInfo(projectRecords.getWorkContractInfo().getId());
 		if(workContractInfo!=null){
 			workContractInfo.setConstructionProjectTypeStr(DictUtils.getMainDictLabel(String.valueOf(workContractInfo.getContractType()), "contract_type", ""));
 			if(workContractInfo.getWorkClientInfoList()!=null&&!workContractInfo.getWorkClientInfoList().isEmpty()){
@@ -1544,6 +1544,21 @@ public class RuralProjectRecordsService extends CrudService<RuralProjectRecordsD
         //设置报告
         this.queryReportData(projectRecords);
     }
+    public void queryNewProjectDetail(RuralProjectRecords projectRecords) {
+		if(null != projectRecords.getWorkContractInfo() && StringUtils.isNotBlank(projectRecords.getWorkContractInfo().getId())){
+			this.queryContractInfos(projectRecords);
+		}
+        /*//设置项目组成员
+        this.queryUserNames(projectRecords);
+        //设置项目组成员所属部门
+        this.queryOfficeName(projectRecords);*/
+        //设置委托方联系人信息
+        this.queryLinkmanInfos(projectRecords);
+        //设置附件信息
+        this.queryWorkAttachment(projectRecords);
+        //设置报告
+        this.queryReportData(projectRecords);
+    }
 
     public void queryNotifyProjectDetail(RuralProjectRecords projectRecords) {
 		/*if(null != projectRecords.getWorkContractInfo() && StringUtils.isNotBlank(projectRecords.getWorkContractInfo().getId())){

+ 132 - 1
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralCostProjectMessageNewTwoController.java

@@ -451,7 +451,137 @@ public class RuralCostProjectMessageNewTwoController extends BaseController {
         projectReportRecord.setReport(projectReportData);
         //获取项目信息
         RuralProjectRecords ruralProjectRecords = projectRecordsService.get(projectReportRecord.getReport().getProject().getId());
-        List<RuralReportConsultant> consultants=reConsultants(ruralProjectRecords,projectReportData);
+        //List<RuralReportConsultant> consultants=reConsultants(ruralProjectRecords,projectReportData);
+
+        List<RuralReportConsultant> consultants = Lists.newArrayList();
+        //将自己添加到咨询员数据中
+        //根据用户查询技能信息
+        RuralReportConsultant currentConsultant = new RuralReportConsultant();
+        List<WorkStaffCertificate> userCertificateList = Lists.newArrayList();
+        if(StringUtils.isNotBlank(ruralProjectRecords.getProjectMasterId())){
+            userCertificateList = ruralProjectMessageService.getCertificateByUser(ruralProjectRecords.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(ruralProjectRecords.getProjectMasterId());
+            currentConsultant.setZixunyuanName(currentUser.getName());
+            currentConsultant.setZixunyuan(currentUser.getId());
+            currentConsultant.setRole("负责人");
+            consultants.add(currentConsultant);
+        }
+        //查询总审人员信息
+        RuralReportConsultant bzshbConsultant = new RuralReportConsultant();
+        //根据项目id查找报告咨询员信息
+        List<RuralReportConsultant> consultantList = ruralProjectMessageService.getConsultantsList(ruralProjectRecords.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());
+                if(consultant.getZixunyuan().equals(projectReportData.getBzshbUserId())){
+                    bzshbConsultant = consultant;
+                    bzshbConsultant.setZixunyuanName("陈红星("+consultant.getZixunyuanName()+"代)");
+                    bzshbConsultant.setRole("技术负责人");
+                    it.remove();
+                }
+            }
+        }
+
+        if(StringUtils.isNotBlank(bzshbConsultant.getZixunyuan())){
+            consultants.add(bzshbConsultant);
+        }else{
+            //查询总审人员信息
+            bzshbConsultant = new RuralReportConsultant();
+            List<WorkStaffCertificate> bzshbCertificateList = Lists.newArrayList();
+            if(StringUtils.isNotBlank(ruralProjectRecords.getProjectMasterId())){
+                bzshbCertificateList = ruralProjectMessageService.getCertificateByUser(projectReportData.getBzshbUserId());
+            }
+            for (WorkStaffCertificate certificateInfo: bzshbCertificateList) {
+                bzshbConsultant.setZhucezigezhID(certificateInfo.getNum());
+                bzshbConsultant.setZhucezigezhKey(certificateInfo.getName());
+                for (MainDictDetail dictType : certificateMajor) {
+                    if(certificateInfo.getMajor().equals(dictType.getValue())){
+                        bzshbConsultant.setMajor(dictType.getLabel());
+                    }
+                }
+                User bzshbUser=userService.get(projectReportData.getBzshbUserId());
+                bzshbConsultant.setZixunyuanName(bzshbUser.getName());
+                bzshbConsultant.setZixunyuan(bzshbUser.getId());
+                consultants.add(bzshbConsultant);
+            }
+            Iterator<RuralReportConsultant> itView = consultants.iterator();
+            while(itView.hasNext()){
+                RuralReportConsultant consultant = itView.next();
+                if(bzshbCertificateList.size()>0){
+                    if(consultant.getZixunyuan().equals(bzshbConsultant.getZixunyuan())){
+                        try {
+                            MyBeanUtils.copyBeanNotNull2Bean(consultant, bzshbConsultant);
+                            bzshbConsultant.setZixunyuanName("陈红星("+bzshbConsultant.getZixunyuanName()+"代)");
+                            bzshbConsultant.setRole("技术负责人");
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                        itView.remove();
+                    }
+                }else{
+                    if(consultant.getZixunyuan().equals(projectReportData.getBzshbUserId())){
+                        try {
+                            MyBeanUtils.copyBeanNotNull2Bean(consultant, bzshbConsultant);
+                            bzshbConsultant.setZixunyuanName("陈红星("+bzshbConsultant.getZixunyuanName()+"代)");
+                            bzshbConsultant.setRole("技术负责人");
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                        itView.remove();
+                    }
+                }
+            }
+            if(StringUtils.isNotBlank(bzshbConsultant.getZixunyuan())){
+                consultants.add(bzshbConsultant);
+            }else{
+                if(StringUtils.isNotBlank(projectReportData.getBzshbUserId())){
+                    User user=userService.get(projectReportData.getBzshbUserId());
+                    bzshbConsultant.setZixunyuanName("陈红星("+user.getName()+"代)");
+                    bzshbConsultant.setZixunyuan(user.getId());
+                    bzshbConsultant.setRole("技术负责人");
+                    consultants.add(bzshbConsultant);
+                }
+            }
+        }
+
+        consultants.addAll(consultantList);
+
         ProjectAccessoryRelationInfo relateInfo = new ProjectAccessoryRelationInfo();
         //添加项目类型
         relateInfo.setAttachmentProjectType(ruralProjectRecords.getProjectType());
@@ -546,6 +676,7 @@ public class RuralCostProjectMessageNewTwoController extends BaseController {
         model.addAttribute("projectReportRecord", projectReportRecord);
         model.addAttribute("workClientInfoName", projectReportRecord.getClientName());
         model.addAttribute("project", projectReportRecord.getReport().getProject());
+        model.addAttribute("projectGrade", ruralProjectRecords.getSubmitMoney());
 
         if(StringUtils.isNotBlank(projectReportRecord.getProcessInstanceId())){
             ProcessInstance processInstance = actTaskService.getProcIns(projectReportRecord.getProcessInstanceId());

+ 2 - 2
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralCostProjectRecordsController.java

@@ -174,7 +174,7 @@ public class RuralCostProjectRecordsController extends BaseController {
 				}
 			}
 			//获取项目报告号
-			if(records1.getReportData()==null){
+			/*if(records1.getReportData()==null){
 				ruralProjectMessageService.queryReportData(records1);
 				if (records1.getProjectReportData() != null && records1.getProjectReportData().size() > 0) {
 					ProjectReportData reportData = records1.getProjectReportData().get(0);
@@ -183,7 +183,7 @@ public class RuralCostProjectRecordsController extends BaseController {
 //					records1.setReportData(projectReportData);
 					records1.setProjectReportNumber(reportData.getNumber());
 				}
-			}
+			}*/
 			//判断是否为admin
 			if (UserUtils.isManager()){
 				records1.setFlagAdmin("1");

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

@@ -139,12 +139,12 @@ public class RuralProjectMessageElectronicSealController extends BaseController
         projectRecords.setSubmitMoney("1");
         Page<RuralProjectRecords> page = ruralProjectMessageAllService.findSignaturePage(new Page<RuralProjectRecords>(request, response), projectRecords);
         model.addAttribute("page", page);
-        if(null != projectRecords.getWorkContractInfo()){
+        /*if(null != projectRecords.getWorkContractInfo()){
             model.addAttribute("workContractInfoName", projectRecords.getWorkContractInfo().getName());
             if(null != projectRecords.getWorkContractInfo().getClient()){
                 model.addAttribute("workContractInfoClientName", projectRecords.getWorkContractInfo().getClient().getName());
             }
-        }
+        }*/
         //无合同状态下,获取委托方的名称
         List<RuralProjectRecords> list = page.getList();
         for (int i = 0; i < list.size(); i++) {
@@ -199,18 +199,18 @@ public class RuralProjectMessageElectronicSealController extends BaseController
             projectRecords.setSubmitMoney(oldSubmitMoney);
         }
         //查询工程类型
-        if (projectRecords.getEngineeringType()!=null){
+        /*if (projectRecords.getEngineeringType()!=null){
             ProjectEngineeringInfo engineeringInfo=engineeringService.get(projectRecords.getEngineeringType());
             model.addAttribute("engineeringInfo", engineeringInfo);
-        }
+        }*/
         model.addAttribute("beginDate", projectRecords.getBeginDate());
         model.addAttribute("endDate", projectRecords.getEndDate());
         //计算营业总收入
         //model.addAttribute("moneyAll", ruralProjectMessageAllService.getMoneyAll(projectRecords));
-        model.addAttribute("reportSwitch", BaseController.REPORTSWITCH);
+        /*model.addAttribute("reportSwitch", BaseController.REPORTSWITCH);
         if (StringUtils.isNotBlank(oldProjectSort)){
             model.addAttribute("oldProjectSort", oldProjectSort);
-        }
+        }*/
         return "modules/ruralprojectrecords/ruralporjectmessage/electronicSeal/ruralProjectMessageElectronicSealList";
     }
 

+ 2 - 2
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectRecordsController.java

@@ -169,7 +169,7 @@ public class RuralProjectRecordsController extends BaseController {
 				}
 			}
 			//获取项目报告号
-			if(records1.getReportData()==null){
+			/*if(records1.getReportData()==null){
 				ruralProjectMessageService.queryReportData(records1);
 				if (records1.getProjectReportData() != null && records1.getProjectReportData().size() > 0) {
 					ProjectReportData reportData = records1.getProjectReportData().get(0);
@@ -178,7 +178,7 @@ public class RuralProjectRecordsController extends BaseController {
 //					records1.setReportData(projectReportData);
 					records1.setProjectReportNumber(reportData.getNumber());
 				}
-			}
+			}*/
 			//判断是否为admin
 			if (UserUtils.isManager()){
 				records1.setFlagAdmin("1");

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

@@ -130,18 +130,18 @@ public class RuralProjectViewController extends BaseController {
             long l1 = System.currentTimeMillis();
             projectRecords = projectRecordsService.get(projectRecords.getId());
             long l2 = System.currentTimeMillis();
-            System.out.println("查询项目信息方法时间:" + (l2-l1));
+            System.out.println("查询项目信息方法时间l2-l1:" + (l2-l1));
 
             //根据归属部门Id查询归属部门名称显示
             String belongingDepartmentName = projectRecordsService.getBelongingDepartmentNameByBelongingDepartment(projectRecords.getBelongingDepartment());
             model.addAttribute("belongingDepartmentName",belongingDepartmentName);
 
             long l3 = System.currentTimeMillis();
-            System.out.println("查询归属部门名称方法时间:" + (l3-l2));
+            System.out.println("查询归属部门名称方法时间l3-l2:" + (l3-l2));
 
-            projectRecordsService.queryProjectDetail(projectRecords);
+            projectRecordsService.queryNewProjectDetail(projectRecords);
             long l4 = System.currentTimeMillis();
-            System.out.println("查询其他信息方法时间:" + (l4-l3));
+            System.out.println("查询其他信息方法时间l4-l3:" + (l4-l3));
 
             if(null != projectRecords.getReportSignatureUploadFileUser() && StringUtils.isNotBlank(projectRecords.getReportSignatureUploadFileUser().getId())){
                 projectRecords.setReportSignatureUploadFileUser(UserUtils.get(projectRecords.getReportSignatureUploadFileUser().getId()));
@@ -158,7 +158,7 @@ public class RuralProjectViewController extends BaseController {
             List<ProjectPlanInfo> projectPlanList = projectPlanService.getProjectPlanList(projectPlanInfo);
 
             long l5 = System.currentTimeMillis();
-            System.out.println("查询项目计划方法时间:" + (l5-l4));
+            System.out.println("查询项目计划方法时间l5-l4:" + (l5-l4));
 
             projectRecords.setProjectPlanList(projectPlanList);
             List<MainDictDetail> mainDictList = Lists.newArrayList();
@@ -179,7 +179,7 @@ public class RuralProjectViewController extends BaseController {
                 }
             }
             long l6 = System.currentTimeMillis();
-            System.out.println("处理方法时间:" + (l6-l5));
+            System.out.println("处理方法时间l6-l5:" + (l6-l5));
 
             //查询项目报告信息
             ProjectReportData projectReportData = projectReportDataService.getReportDataByProjectId(projectRecords.getId());
@@ -193,7 +193,7 @@ public class RuralProjectViewController extends BaseController {
                 }
             }
             long l7 = System.currentTimeMillis();
-            System.out.println("查询项目报告方法时间:" + (l7-l6));
+            System.out.println("查询项目报告方法时间l7-l6:" + (l7-l6));
 
             model.addAttribute("flagProjectReportData",projectReportData);
 
@@ -205,11 +205,11 @@ public class RuralProjectViewController extends BaseController {
             model.addAttribute("reportedId",reported.getId());
         }
         long l9 = System.currentTimeMillis();
-        System.out.println("查询项目归档方法时间:" + (l9-l8));
+        System.out.println("查询项目归档方法时间l9-l8:" + (l9-l8));
         //查询所有的工程类型
         List<ProjectEngineeringInfo> engineeringInfos=engineeringService.findList(new ProjectEngineeringInfo());
         long l10 = System.currentTimeMillis();
-        System.out.println("查询所有的工程类型方法时间:" + (l10-l9));
+        System.out.println("查询所有的工程类型方法时间l10-l9:" + (l10-l9));
         model.addAttribute("engineeringInfo",engineeringInfos);
         return "modules/ruralprojectrecords/view/ruralProjectRecordsView";
     }

+ 6 - 6
src/main/java/com/jeeplus/modules/ruralprojectrecords/web/yanChengSignature/RuralProjectMessageElectronicSealYCController.java

@@ -142,12 +142,12 @@ public class RuralProjectMessageElectronicSealYCController extends BaseControlle
         projectRecords.setSubmitMoney("1");
         Page<RuralProjectRecords> page = ruralProjectMessageAllService.findSignatureYCPage(new Page<RuralProjectRecords>(request, response), projectRecords);
         model.addAttribute("page", page);
-        if(null != projectRecords.getWorkContractInfo()){
+        /*if(null != projectRecords.getWorkContractInfo()){
             model.addAttribute("workContractInfoName", projectRecords.getWorkContractInfo().getName());
             if(null != projectRecords.getWorkContractInfo().getClient()){
                 model.addAttribute("workContractInfoClientName", projectRecords.getWorkContractInfo().getClient().getName());
             }
-        }
+        }*/
         //无合同状态下,获取委托方的名称
         List<RuralProjectRecords> list = page.getList();
         for (int i = 0; i < list.size(); i++) {
@@ -202,18 +202,18 @@ public class RuralProjectMessageElectronicSealYCController extends BaseControlle
             projectRecords.setSubmitMoney(oldSubmitMoney);
         }
         //查询工程类型
-        if (projectRecords.getEngineeringType()!=null){
+        /*if (projectRecords.getEngineeringType()!=null){
             ProjectEngineeringInfo engineeringInfo=engineeringService.get(projectRecords.getEngineeringType());
             model.addAttribute("engineeringInfo", engineeringInfo);
-        }
+        }*/
         model.addAttribute("beginDate", projectRecords.getBeginDate());
         model.addAttribute("endDate", projectRecords.getEndDate());
         //计算营业总收入
         //model.addAttribute("moneyAll", ruralProjectMessageAllService.getMoneyAll(projectRecords));
-        model.addAttribute("reportSwitch", BaseController.REPORTSWITCH);
+        /*model.addAttribute("reportSwitch", BaseController.REPORTSWITCH);
         if (StringUtils.isNotBlank(oldProjectSort)){
             model.addAttribute("oldProjectSort", oldProjectSort);
-        }
+        }*/
         return "modules/ruralprojectrecords/ruralporjectmessage/electronicSealYC/ruralProjectMessageElectronicSealYCList";
     }
 

+ 29 - 0
src/main/java/com/jeeplus/modules/sys/service/WorkattachmentService.java

@@ -468,6 +468,35 @@ public class WorkattachmentService extends CrudService<WorkattachmentDao, Workat
 	 * @param workClientAttachment
 	 * @return
 	 */
+	public List<WorkClientAttachment> getInfoList(WorkClientAttachment workClientAttachment){
+		List<WorkClientAttachment> list = workClientAttachmentDao.getList(workClientAttachment);
+		CollectAccessoryInfo cAInfo = new CollectAccessoryInfo();
+		User loginUser = UserUtils.getUser();
+		if(StringUtils.isNotBlank(loginUser.getId())){
+			cAInfo.setOfficeId(loginUser.getOffice().getId());
+			cAInfo.setCompanyId(loginUser.getCompany().getId());
+			cAInfo.setCreateBy(loginUser);
+		}
+		//遍历附件信息,判定改附件信息是否被收藏
+		for (WorkClientAttachment info: list) {
+			cAInfo.setUrl(info.getUrl());
+			CollectAccessoryInfo collectAccessoryInfo = projectAccessoryDao.getCollectAccessoryInfo1(cAInfo);
+			if(null != collectAccessoryInfo){
+				info.setCollectFlag("1");
+			}else{
+				info.setCollectFlag("0");
+			}
+		}
+		//数据处理
+		workClientAttachmentManage(list);
+		return list;
+	}
+
+	/**
+	 * 获取附件信息
+	 * @param workClientAttachment
+	 * @return
+	 */
 	public List<WorkClientAttachment> getListOnOverAll(WorkClientAttachment workClientAttachment){
 		List<WorkClientAttachment> list = workClientAttachmentDao.getListOnOverAll(workClientAttachment);
 		CollectAccessoryInfo cAInfo = new CollectAccessoryInfo();

+ 10 - 0
src/main/java/com/jeeplus/modules/workcontractinfo/service/WorkContractInfoService.java

@@ -240,6 +240,16 @@ public class WorkContractInfoService extends CrudService<WorkContractInfoDao, Wo
 		}
 		return workContractInfo;
 	}
+
+	/**
+	 * 仅查询合同信息
+	 * @param id
+	 * @return
+	 */
+	public WorkContractInfo getContractInfo(String id) {
+		WorkContractInfo workContractInfo = super.get(id);
+		return workContractInfo;
+	}
 	public String getTotal(String id) {
 		WorkContractInfo workContractInfo = super.get(id);
 		String str = "";

+ 13 - 0
src/main/java/com/jeeplus/modules/workinvoice/dao/WorkInvoiceDao.java

@@ -12,6 +12,7 @@ import com.jeeplus.common.persistence.annotation.MyBatisDao;
 import com.jeeplus.modules.workinvoice.entity.WorkInvoice;
 import com.jeeplus.modules.workinvoice.entity.WorkInvoiceProjectRelation;
 import org.apache.ibatis.annotations.Param;
+import org.apache.poi.ss.formula.functions.T;
 
 /**
  * 开票管理DAO接口
@@ -20,6 +21,18 @@ import org.apache.ibatis.annotations.Param;
  */
 @MyBatisDao
 public interface WorkInvoiceDao extends CrudDao<WorkInvoice> {
+	/**
+	 * 新的查询方法
+	 * @param workInvoice
+	 * @return
+	 */
+	public List<WorkInvoice> findListNew(WorkInvoice workInvoice);
+	/**
+	 * 分页查询总数
+	 * @param workInvoice
+	 * @return
+	 */
+	public Integer queryCountNew(WorkInvoice workInvoice);
 
 	public List<WorkClientInfo> findListByclient(WorkClientInfo client);
 	public List<WorkBidProject> findListByproject(WorkBidProject project);

+ 2 - 2
src/main/java/com/jeeplus/modules/workinvoice/service/WorkInvoiceAllService.java

@@ -219,11 +219,11 @@ public class WorkInvoiceAllService extends CrudService<WorkInvoiceDao, WorkInvoi
 			officeIdList.add(workInvoice.getOfficeId());
 			workInvoice.setOfficeIdList(officeIdList);
 		}
-		int count = dao.queryCount(workInvoice);
+		int count = dao.queryCountNew(workInvoice);
 		page.setCount(count);
 		page.setCountFlag(false);
 		workInvoice.setPage(page);
-		page.setList(findList(workInvoice));
+		page.setList(dao.findListNew(workInvoice));
 		return page;
 
 	}

+ 2 - 2
src/main/java/com/jeeplus/modules/workinvoice/service/WorkInvoiceService.java

@@ -254,11 +254,11 @@ public class WorkInvoiceService extends CrudService<WorkInvoiceDao, WorkInvoice>
 			officeIdList.add(workInvoice.getOfficeId());
 			workInvoice.setOfficeIdList(officeIdList);
 		}
-		int count = dao.queryCount(workInvoice);
+		int count = dao.queryCountNew(workInvoice);
 		page.setCount(count);
 		page.setCountFlag(false);
 		workInvoice.setPage(page);
-		page.setList(findList(workInvoice));
+		page.setList(dao.findListNew(workInvoice));
 		return page;
 
 	}

+ 4 - 0
src/main/java/com/jeeplus/modules/workinvoice/web/WorkInvoiceTwoController.java

@@ -154,8 +154,12 @@ public class WorkInvoiceTwoController extends BaseController {
 		if(StringUtils.isBlank(workInvoice.getAccountCheckingUserId())){
 			workInvoice.setAccountCheckingUserId(null);
 		}
+		long l1 = System.currentTimeMillis();
 		Page<WorkInvoice> page = workInvoiceService.findPage(new Page<WorkInvoice>(request, response), workInvoice);
 
+		long l2 = System.currentTimeMillis();
+		System.out.println("l2 - l1:" + (l2 - l1));
+
 		//查询所有和当前登陆人有关的项目的审核
 		/*WorkProjectNotify workProjectNotify = new WorkProjectNotify();
 		workProjectNotify.setUser(UserUtils.getUser());

+ 132 - 1
src/main/java/com/jeeplus/modules/workprojectnotify/web/WorkProjectNotifyController.java

@@ -6492,7 +6492,138 @@ public class WorkProjectNotifyController extends BaseController {
 						projectReportRecord.setFileGistdataList(ruralProjectRecordsService.disposeDataAttachment(projectcontentinfo.getFileGistdataList()));
 						projectReportRecord.setFileOtherList(ruralProjectRecordsService.disposeDataAttachment(projectcontentinfo.getFileOtherList()));
 						if("1".equals(ruralProjectRecords.getEmergencyProject())){
-							List<RuralReportConsultant> consultants=reConsultants(ruralProjectRecords,projectReportData);
+							//List<RuralReportConsultant> consultants=reConsultants(ruralProjectRecords,projectReportData);
+
+							List<RuralReportConsultant> consultants = Lists.newArrayList();
+							//将自己添加到咨询员数据中
+							//根据用户查询技能信息
+							RuralReportConsultant currentConsultant = new RuralReportConsultant();
+							List<WorkStaffCertificate> userCertificateList = Lists.newArrayList();
+							if(StringUtils.isNotBlank(ruralProjectRecords.getProjectMasterId())){
+								userCertificateList = ruralProjectMessageService.getCertificateByUser(ruralProjectRecords.getProjectMasterId());
+							}
+							//获取专业类型
+							List<MainDictDetail> certificateMajor = DictUtils.getMainDictList("certificate_major");
+							for (WorkStaffCertificate certificateInfo: userCertificateList) {
+								currentConsultant.setZhucezigezhID(certificateInfo.getNum());
+								currentConsultant.setZhucezigezhKey(certificateInfo.getName());
+								for (MainDictDetail detailType : certificateMajor) {
+									if(certificateInfo.getMajor().equals(detailType.getValue())){
+										currentConsultant.setMajor(detailType.getLabel());
+									}
+								}
+								User currentUser=userService.get(ruralProjectRecords.getProjectMasterId());
+								currentConsultant.setZixunyuanName(currentUser.getName());
+								currentConsultant.setZixunyuan(currentUser.getId());
+								currentConsultant.setRole("负责人");
+								consultants.add(currentConsultant);
+							}
+							//查询总审人员信息
+							RuralReportConsultant bzshbConsultant = new RuralReportConsultant();
+							//根据项目id查找报告咨询员信息
+							List<RuralReportConsultant> consultantList = ruralProjectMessageService.getConsultantsList(ruralProjectRecords.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 detailType : certificateMajor) {
+											if(certificateInfo.getMajor().equals(detailType.getValue())){
+												consultant.setMajor(detailType.getLabel());
+											}
+										}
+									}
+									user=userService.get(consultant.getZixunyuan());
+									consultant.setRole("咨询员");
+									consultant.setZixunyuanName(user.getName());
+									if(consultant.getZixunyuan().equals(projectReportData.getBzshbUserId())){
+										bzshbConsultant = consultant;
+										bzshbConsultant.setZixunyuanName("陈红星("+consultant.getZixunyuanName()+"代)");
+										bzshbConsultant.setRole("技术负责人");
+										it.remove();
+									}
+								}
+							}
+
+							if(StringUtils.isNotBlank(bzshbConsultant.getZixunyuan())){
+								consultants.add(bzshbConsultant);
+							}else{
+								//查询总审人员信息
+								bzshbConsultant = new RuralReportConsultant();
+								List<WorkStaffCertificate> bzshbCertificateList = Lists.newArrayList();
+								if(StringUtils.isNotBlank(ruralProjectRecords.getProjectMasterId())){
+									bzshbCertificateList = ruralProjectMessageService.getCertificateByUser(projectReportData.getBzshbUserId());
+								}
+								for (WorkStaffCertificate certificateInfo: bzshbCertificateList) {
+									bzshbConsultant.setZhucezigezhID(certificateInfo.getNum());
+									bzshbConsultant.setZhucezigezhKey(certificateInfo.getName());
+									for (MainDictDetail dictType : certificateMajor) {
+										if(certificateInfo.getMajor().equals(dictType.getValue())){
+											bzshbConsultant.setMajor(dictType.getLabel());
+										}
+									}
+									User bzshbUser=userService.get(projectReportData.getBzshbUserId());
+									bzshbConsultant.setZixunyuanName(bzshbUser.getName());
+									bzshbConsultant.setZixunyuan(bzshbUser.getId());
+									consultants.add(bzshbConsultant);
+								}
+								Iterator<RuralReportConsultant> itView = consultants.iterator();
+								while(itView.hasNext()){
+									RuralReportConsultant consultant = itView.next();
+									if(bzshbCertificateList.size()>0){
+										if(consultant.getZixunyuan().equals(bzshbConsultant.getZixunyuan())){
+											try {
+												MyBeanUtils.copyBeanNotNull2Bean(consultant, bzshbConsultant);
+												bzshbConsultant.setZixunyuanName("陈红星("+bzshbConsultant.getZixunyuanName()+"代)");
+												bzshbConsultant.setRole("技术负责人");
+											} catch (Exception e) {
+												e.printStackTrace();
+											}
+											itView.remove();
+										}
+									}else{
+										if(consultant.getZixunyuan().equals(projectReportData.getBzshbUserId())){
+											try {
+												MyBeanUtils.copyBeanNotNull2Bean(consultant, bzshbConsultant);
+												bzshbConsultant.setZixunyuanName("陈红星("+bzshbConsultant.getZixunyuanName()+"代)");
+												bzshbConsultant.setRole("技术负责人");
+											} catch (Exception e) {
+												e.printStackTrace();
+											}
+											itView.remove();
+										}
+									}
+								}
+								if(StringUtils.isNotBlank(bzshbConsultant.getZixunyuan())){
+									consultants.add(bzshbConsultant);
+								}else{
+									if(StringUtils.isNotBlank(projectReportData.getBzshbUserId())){
+										user=userService.get(projectReportData.getBzshbUserId());
+										bzshbConsultant.setZixunyuanName("陈红星("+user.getName()+"代)");
+										bzshbConsultant.setZixunyuan(user.getId());
+										bzshbConsultant.setRole("技术负责人");
+										consultants.add(bzshbConsultant);
+									}
+								}
+							}
+
+							consultants.addAll(consultantList);
+
+							model.addAttribute("projectGrade", ruralProjectRecords.getSubmitMoney());
 							model.addAttribute("info", consultants);
 							return "modules/ruralprojectrecords/record/cost/recordTwo/projectReportRecordUrgentModifyApply";
 						}else{

+ 13 - 8
src/main/java/com/jeeplus/modules/workreimbursement/web/WorkReimbursementController.java

@@ -152,19 +152,26 @@ public class WorkReimbursementController extends BaseController {
 		workProjectNotify.setUser(UserUtils.getUser());
 		workProjectNotify.setCompanyId(UserUtils.getSelectCompany().getId());
 		workProjectNotify.setRemarks("待审批");
+
+		//添加发票对应编号
+		List<String> typeList= jersey.repackaged.com.google.common.collect.Lists.newArrayList();
+		typeList.add("13");
+		typeList.add("102");
+		String types = org.apache.commons.lang3.StringUtils.join(typeList,',');
+		workProjectNotify.setTypes(types);
 		//添加发票对应编号
-		workProjectNotify.setType("13");
+		//workProjectNotify.setType("13");
 		//查询所有需要当前登录人进行处理的项目信息
 		List<WorkProjectNotify> notifyList = workProjectNotifyService.findList(workProjectNotify);
 
-		//添加发票对应编号
+		/*//添加发票对应编号
 		workProjectNotify.setType("102");
 		//查询所有需要当前登录人进行处理的项目信息
-		List<WorkProjectNotify> newNotifyList = workProjectNotifyService.findList(workProjectNotify);
+		List<WorkProjectNotify> newNotifyList = workProjectNotifyService.findList(workProjectNotify);*/
 
 		for (WorkReimbursement info: list) {
 			for (WorkProjectNotify notify: notifyList) {
-				if(notify.getNotifyId().equals(info.getId())){
+				if(notify.getNotifyId().equals(info.getId()) && "13".equals(notify.getType())){
 					info.setNotifyId(notify.getId());
 					if("待审批".equals(notify.getRemarks()) && !"1".equals(notify.getStatus())){
 						info.setNotifyFlag(1);
@@ -174,10 +181,8 @@ public class WorkReimbursementController extends BaseController {
 					}
 					break;
 				}
-			}
-			//报告归档资料缺失说明修改权限处理
-			for (WorkProjectNotify notify: newNotifyList) {
-				if(notify.getNotifyId().equals(info.getId())){
+				//报告归档资料缺失说明修改权限处理
+				if(notify.getNotifyId().equals(info.getId()) && "102".equals(notify.getType())){
 					info.setNotifyId(notify.getId());
 					if("重新申请".equals(notify.getRemarks()) && !"1".equals(notify.getStatus())){
 						info.setNotifyFlag(4);

+ 345 - 0
src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectMessageAllDao.xml

@@ -1520,4 +1520,349 @@ END) as projectScale*/
 	</insert>
 
 
+	<select id="findSignatureList" resultType="RuralProjectRecords" >
+		SELECT DISTINCT( a.id ) AS "id",
+		a.create_by AS "createBy.id",
+		a.create_date AS "createDate",
+		( SELECT NAME FROM sys_user USER WHERE USER.id = a.create_by ) AS "createBy.name",
+		( SELECT NAME FROM sys_user USER WHERE USER.id = a.create_by ) AS "createByName",
+		a.update_by AS "updateBy.id",
+		a.update_date AS "updateDate",
+		a.del_flag AS "delFlag",
+		a.contract_id AS "workContractInfo.id",
+		a.project_id AS "projectId",
+		a.project_name AS "projectName",
+		a.scale_type AS "scaleType",
+		a.scale_unit AS "scaleUnit",
+		a.scale_quantity AS "scaleQuantity",
+		a.area_id AS "area.id",
+		a.project_site AS "projectSite",
+		a.project_desc AS "projectDesc",
+		a.remarks AS "remarks",
+		a.STATUS AS "projectStatus",
+		a.process_instance_id AS "processInstanceId",
+		a.company_id AS "company.id",
+		a.office_id AS "office.id",
+		a.alter_process_id AS "alterProcessId",
+		area.NAME AS "area.name",
+		a.province,
+		a.city,
+		a.area_name AS "county",
+		a.project_structure AS "projectStructure",
+		a.on_ground_num AS "onGroundNum",
+		a.under_ground_num AS "underGroundNum",
+		a.building_scale AS "buildingScale",
+		a.measuring_unit AS "measuringUnit",
+		a.project_use AS "projectUse",
+		a.install_fees AS "installFees",
+		a.building_fees AS "buildingFees",
+		a.building_percent AS "buildingPercent",
+		a.install_percent AS "installPercent",
+		a.unit_fees AS "unitFees",
+		a.building_unit_fees AS "buildingUnitFees",
+		a.install_unit_fees AS "installUnitFees",
+		a.total_fees AS "totalFees",
+		a.over_due_status AS "overDueStatus",
+		ifnull( a.record_state, 0 ) AS "projectRecordStatus",
+		a.over_record_status AS "overRecordStatus",
+		a.emergency_project AS "emergencyProject",
+		a.record_state AS "recordState",
+		a.submit_money AS "submitMoney",
+		a.submit_scale AS "submitScale",
+		a.project_type AS projectType,
+		o.top_company AS "office.name",
+		o.NAME AS "createByOffice",
+		ifnull( prd.number, "" ) AS "projectReportNumber",
+		prrd.process_instance_id AS prrdProcessInstanceId,
+		prd.id AS prdId,
+		ifnull( pas.STATUS, 0 ) AS "approvalSignatureStatus",
+		ifnull( pas.process_instance_id, "" ) AS "approvalSignatureProcessInstanceId",
+		ifnull( prs.STATUS, 0 ) AS "reportSignatureStatus",
+		ifnull( prs.process_instance_id, "" ) AS "reportSignatureProcessInstanceId",
+		prd.signature_contract_id AS "signatureContractId",
+		prd.signature_url AS "signatureUrl",
+		a.report_signature_url AS "reportSignatureUrl",
+		a.report_signature_contract_id AS "reportSignatureContractId",
+		prsi.id AS "prsiId",
+		(
+		SELECT
+		group_concat( su.NAME )
+		FROM
+		work_project_user wpu
+		LEFT JOIN sys_user su ON su.id = wpu.user_id
+		WHERE
+		wpu.project_id = a.id
+		) AS "leaderNameStr",(
+		SELECT
+		group_concat( su.id )
+		FROM
+		work_project_user wpu
+		LEFT JOIN sys_user su ON su.id = wpu.user_id
+		WHERE
+		wpu.project_id = a.id
+		) AS "leaderNameIds"
+		FROM rural_project_records a
+		LEFT JOIN sys_area area ON area.id = a.area_id
+		LEFT JOIN rural_project_records_reported rprr ON rprr.id = a.id
+		LEFT JOIN sys_user sua ON a.create_by = sua.id
+		LEFT JOIN work_project_user w1 ON a.id = w1.project_id
+		LEFT JOIN sys_office o ON o.id = a.office_id
+		LEFT JOIN project_report_data prd ON prd.project_id = a.id
+		LEFT JOIN rural_project_report_record prr ON prr.report_id = prd.id
+		LEFT JOIN project_material_defect_record pmdr ON prd.id = pmdr.report_id
+		LEFT JOIN rural_project_report_record_down prrd ON prrd.report_id = prd.id
+		LEFT JOIN project_paper_filing ppf ON ppf.project_id = a.id
+		LEFT JOIN project_approval_signature pas ON pas.project_id = a.id
+		LEFT JOIN project_report_signature prs ON prs.project_id = a.id
+		LEFT JOIN project_report_signature_info prsi ON prsi.project_report_id = prd.number
+		<where>
+			a.status = 5
+			<if test="bzshbUserId!=null and bzshbUserId!=''">
+				and prd.bzshb_user_id=#{bzshbUserId}
+			</if>
+			<if test="reportSignatureStatus!=null and reportSignatureStatus!=''">
+				and prs.status=#{reportSignatureStatus}
+			</if>
+			<if test="approvalSignatureStatus!=null and approvalSignatureStatus!=''">
+				and pas.status=#{approvalSignatureStatus}
+			</if>
+			<if test="projectId != null and projectId != ''">
+				AND a.project_id like concat('%',#{projectId},'%')
+			</if>
+			<if test="projectName != null and projectName != ''">
+				AND a.project_name like concat(concat('%',#{projectName}),'%')
+			</if>
+			<if test="scaleType != null and scaleType != ''">
+				AND a.scale_type = #{scaleType}
+			</if>
+			<if test="scaleUnit != null and scaleUnit != ''">
+				AND a.scale_unit = #{scaleUnit}
+			</if>
+			<if test="scaleQuantity != null and scaleQuantity != ''">
+				AND a.scale_quantity = #{scaleQuantity}
+			</if>
+			<if test="projectSite != null and projectSite != ''">
+				AND a.project_site LIKE concat('%',#{projectSite},'%')
+			</if>
+			<if test="remarks != null and remarks != ''">
+				AND a.remarks LIKE concat('%',#{remarks},'%')
+			</if>
+			<if test="projectDesc != null and projectDesc != ''">
+				AND a.project_desc LIKE concat('%',#{projectDesc},'%')
+			</if>
+			<if test="area != null and area.id != null and area.id != ''">
+				AND a.area_id = #{area.id}
+			</if>
+			<if test="(leaderNameStr != null and leaderNameStr != '') or (leaderId != null and leaderId != '')">
+				AND ((w.user_id = #{leaderId}) or su.name like concat('%',#{leaderNameStr},'%')) AND w.is_master = '1' AND w.del_flag='0'
+			</if>
+			<if test="projectStatus !=null">
+				AND a.status = #{projectStatus}
+			</if>
+			<if test="beginDate !=null">
+				AND a.create_date >= #{beginDate}
+			</if>
+			<if test="endDate !=null">
+				AND a.create_date &lt; #{endDate}
+			</if>
+			<if test="emergencyProject !=null and emergencyProject != ''">
+				<choose>
+					<when test="emergencyProject == 0">
+						AND (a.emergency_project = #{emergencyProject} or a.emergency_project is null)
+					</when>
+					<otherwise>
+						AND a.emergency_project = #{emergencyProject}
+					</otherwise>
+				</choose>
+			</if>
+			<if test="createBy != null and((createBy.id != null and createBy.id != '') or (createBy.name != null and createBy.name != ''))">
+				AND (a.create_by = #{createBy.id} or sua.name like concat('%',#{createBy.name},'%'))
+			</if>
+			<if test="reportData!=null and reportData.number !=null and reportData.number !=''">
+				and prd.number like concat('%',#{reportData.number},'%')
+			</if>
+			<if test="office!=null and office.id=='' and office.name!=null and office.name!='' ">
+				and  o.name like concat('%',#{office.name},'%')
+			</if>
+			<if test="officeIdList!=null and officeIdList.size!=0">
+				and a.office_id in
+				<foreach collection="officeIdList" item="officeId" separator="," open="(" close=")">
+					#{officeId}
+				</foreach>
+			</if>
+
+			<if test="reportedState !=null and reportedState !=''">
+				<choose>
+					<when test="reportedState == 0">
+						AND a.reported_state is null
+					</when>
+					<otherwise>
+						AND a.reported_state = #{reportedState}
+					</otherwise>
+				</choose>
+			</if>
+
+			<if test="engineeringType !=null and engineeringType !=''">
+				and a.engineering_type= #{engineeringType}
+			</if>
+			<if test="attachmentProjectSort !=null and attachmentProjectSort !=''">
+				and a.attachment_project_sort= #{attachmentProjectSort}
+			</if>
+			<if test="projectReportStatus != null and projectReportStatus != ''">
+				AND prd.status = #{projectReportStatus}
+			</if>
+			<if test="submitMoney != null and submitMoney != ''">
+				AND a.submit_money = #{submitMoney}
+			</if>
+
+			<if test="typeList !=null and typeList !=''">
+				and a.project_type in
+				<foreach collection="typeList" item="id" index="index" open="(" close=")" separator=",">
+					#{id}
+				</foreach>
+			</if>
+			AND  a.status != 7 AND a.del_flag = #{DEL_FLAG_NORMAL}
+			<if test="sqlMap.dsf !=null and sqlMap.dsf!=''">
+				AND ((w1.user_id = #{currentUser.id} AND w1.del_flag='0' AND a.company_id = #{currentUser.company.id})${sqlMap.dsf} )
+			</if>
+		</where>
+		<choose>
+			<when test="page !=null and page.orderBy != null and page.orderBy != ''">
+				ORDER BY ${page.orderBy}
+			</when>
+			<otherwise>
+				ORDER BY a.update_date DESC
+			</otherwise>
+		</choose>
+	</select>
+
+	<select id="querySignatureCount" resultType="int" >
+		SELECT count(DISTINCT a.id)
+		FROM rural_project_records a
+		LEFT JOIN sys_area area ON area.id = a.area_id
+		LEFT JOIN rural_project_records_reported rprr ON rprr.id = a.id
+		LEFT JOIN sys_user sua ON a.create_by = sua.id
+		LEFT JOIN work_project_user w1 ON a.id = w1.project_id
+		LEFT JOIN sys_office o ON o.id = a.office_id
+		LEFT JOIN project_report_data prd ON prd.project_id = a.id
+		LEFT JOIN rural_project_report_record prr ON prr.report_id = prd.id
+		LEFT JOIN project_material_defect_record pmdr ON prd.id = pmdr.report_id
+		LEFT JOIN rural_project_report_record_down prrd ON prrd.report_id = prd.id
+		LEFT JOIN project_paper_filing ppf ON ppf.project_id = a.id
+		LEFT JOIN project_approval_signature pas ON pas.project_id = a.id
+		LEFT JOIN project_report_signature prs ON prs.project_id = a.id
+		LEFT JOIN project_report_signature_info prsi ON prsi.project_report_id = prd.number
+		<where>
+			a.status = 5
+			<if test="bzshbUserId!=null and bzshbUserId!=''">
+				and prd.bzshb_user_id=#{bzshbUserId}
+			</if>
+			<if test="reportSignatureStatus!=null and reportSignatureStatus!=''">
+				and prs.status=#{reportSignatureStatus}
+			</if>
+			<if test="approvalSignatureStatus!=null and approvalSignatureStatus!=''">
+				and pas.status=#{approvalSignatureStatus}
+			</if>
+			<if test="projectId != null and projectId != ''">
+				AND a.project_id like concat('%',#{projectId},'%')
+			</if>
+			<if test="projectName != null and projectName != ''">
+				AND a.project_name like concat(concat('%',#{projectName}),'%')
+			</if>
+			<if test="scaleType != null and scaleType != ''">
+				AND a.scale_type = #{scaleType}
+			</if>
+			<if test="scaleUnit != null and scaleUnit != ''">
+				AND a.scale_unit = #{scaleUnit}
+			</if>
+			<if test="scaleQuantity != null and scaleQuantity != ''">
+				AND a.scale_quantity = #{scaleQuantity}
+			</if>
+			<if test="projectSite != null and projectSite != ''">
+				AND a.project_site LIKE concat('%',#{projectSite},'%')
+			</if>
+			<if test="remarks != null and remarks != ''">
+				AND a.remarks LIKE concat('%',#{remarks},'%')
+			</if>
+			<if test="projectDesc != null and projectDesc != ''">
+				AND a.project_desc LIKE concat('%',#{projectDesc},'%')
+			</if>
+			<if test="area != null and area.id != null and area.id != ''">
+				AND a.area_id = #{area.id}
+			</if>
+			<if test="(leaderNameStr != null and leaderNameStr != '') or (leaderId != null and leaderId != '')">
+				AND ((w.user_id = #{leaderId}) or su.name like concat('%',#{leaderNameStr},'%')) AND w.is_master = '1' AND w.del_flag='0'
+			</if>
+			<if test="projectStatus !=null">
+				AND a.status = #{projectStatus}
+			</if>
+			<if test="beginDate !=null">
+				AND a.create_date >= #{beginDate}
+			</if>
+			<if test="endDate !=null">
+				AND a.create_date &lt; #{endDate}
+			</if>
+			<if test="emergencyProject !=null and emergencyProject != ''">
+				<choose>
+					<when test="emergencyProject == 0">
+						AND (a.emergency_project = #{emergencyProject} or a.emergency_project is null)
+					</when>
+					<otherwise>
+						AND a.emergency_project = #{emergencyProject}
+					</otherwise>
+				</choose>
+			</if>
+			<if test="createBy != null and((createBy.id != null and createBy.id != '') or (createBy.name != null and createBy.name != ''))">
+				AND (a.create_by = #{createBy.id} or sua.name like concat('%',#{createBy.name},'%'))
+			</if>
+			<if test="reportData!=null and reportData.number !=null and reportData.number !=''">
+				and prd.number like concat('%',#{reportData.number},'%')
+			</if>
+			<if test="office!=null and office.id=='' and office.name!=null and office.name!='' ">
+				and  o.name like concat('%',#{office.name},'%')
+			</if>
+			<if test="officeIdList!=null and officeIdList.size!=0">
+				and a.office_id in
+				<foreach collection="officeIdList" item="officeId" separator="," open="(" close=")">
+					#{officeId}
+				</foreach>
+			</if>
+
+			<if test="reportedState !=null and reportedState !=''">
+				<choose>
+					<when test="reportedState == 0">
+						AND a.reported_state is null
+					</when>
+					<otherwise>
+						AND a.reported_state = #{reportedState}
+					</otherwise>
+				</choose>
+			</if>
+
+			<if test="engineeringType !=null and engineeringType !=''">
+				and a.engineering_type= #{engineeringType}
+			</if>
+			<if test="attachmentProjectSort !=null and attachmentProjectSort !=''">
+				and a.attachment_project_sort= #{attachmentProjectSort}
+			</if>
+			<if test="projectReportStatus != null and projectReportStatus != ''">
+				AND prd.status = #{projectReportStatus}
+			</if>
+			<if test="submitMoney != null and submitMoney != ''">
+				AND a.submit_money = #{submitMoney}
+			</if>
+
+			<if test="typeList !=null and typeList !=''">
+				and a.project_type in
+				<foreach collection="typeList" item="id" index="index" open="(" close=")" separator=",">
+					#{id}
+				</foreach>
+			</if>
+			AND  a.status != 7 AND a.del_flag = #{DEL_FLAG_NORMAL}
+			<if test="sqlMap.dsf !=null and sqlMap.dsf!=''">
+				AND ((w1.user_id = #{currentUser.id} AND w1.del_flag='0' AND a.company_id = #{currentUser.company.id})${sqlMap.dsf} )
+			</if>
+		</where>
+	</select>
+
 </mapper>

+ 8 - 0
src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectRecordsDao.xml

@@ -131,6 +131,10 @@
 	<select id="get" resultType="RuralProjectRecords" >
 		SELECT
 			<include refid="projectRecordsColumns"/>
+
+		,(SELECT group_concat( su.NAME ) FROM work_project_user wpu LEFT JOIN sys_user su ON su.id = wpu.user_id WHERE wpu.project_id = a.id ) AS "leaderNameStr",
+		(SELECT group_concat( su.id ) FROM work_project_user wpu LEFT JOIN sys_user su ON su.id = wpu.user_id WHERE wpu.project_id = a.id ) AS "leaderNameIds",
+		(select group_concat(office.name) from sys_office office left join sys_user suo on suo.office_id = office.id left join work_project_user wpu ON suo.id = wpu.user_id where wpu.project_id = a.id) AS "officeName"
 		,a.file_num AS "fileNum"
 	    ,a.check_process_instance_id AS "checkProcessInstanceId"
         ,su.name AS "createBy.name"
@@ -357,6 +361,8 @@
 		,a.report_signature_url as "reportSignatureUrl"
 		,a.report_signature_contract_id as "reportSignatureContractId"
 		,prsi.id as "prsiId"
+		,(SELECT group_concat( su.NAME ) FROM work_project_user wpu LEFT JOIN sys_user su ON su.id = wpu.user_id WHERE wpu.project_id = a.id ) AS "leaderNameStr",
+		(SELECT group_concat( su.id ) FROM work_project_user wpu LEFT JOIN sys_user su ON su.id = wpu.user_id WHERE wpu.project_id = a.id ) AS "leaderNameIds"
 		FROM rural_project_records a
 		LEFT JOIN sys_area area ON area.id = a.area_id
 		left join rural_project_records_reported rprr on rprr.id = a.id
@@ -1650,6 +1656,8 @@
 	<select id="projectPlanFindList" resultType="RuralProjectRecords" >
 		SELECT
 		<include refid="projectRecordsColumns"/>
+		,a.start_date as "beginDate"
+		,a.ending_date as "endDate"
 		,(case when a.submit_money = '1' then 'B级' when a.submit_money = '2' then 'A级' else '' end) as submitMoneyStr
 		,
 		wci.name AS "workContractInfo.name",

+ 259 - 0
src/main/resources/mappings/modules/workinvoice/WorkInvoiceDao.xml

@@ -72,6 +72,70 @@
 		(select name from sys_user where id = a.actual_drawer_id) as "actualDrawerName"
 	</sql>
 
+	<sql id="newWorkInvoiceColumns">
+		DISTINCT(a.id) AS "id",
+		a.number AS "number",
+		a.process_instance_id AS "processInstanceId",
+		a.client_id AS "client.id",
+		a.project_id AS "project.id",
+		a.project_name AS "projectName",
+		a.money AS "money",
+		a.money AS "moneyStr",
+		a.invoice_type AS "invoiceType",
+		(case when a.invoice_type = '1' then '专票' when a.invoice_type = '2' then '普票' else '' end) as invoiceTypeStr,
+		a.charge_type AS "chargeType",
+		a.content AS "content",
+		a.drawer_id AS "drawer.id",
+		a.office_id AS "office.id",
+		so.top_company AS "office.name",
+		a.invoice_number AS "invoiceNumber",
+		a.invoice_date AS "invoiceDate",
+		a.drawer_name AS "drawerName",
+		a.take_date AS "takeDate",
+		a.invoice_remarks AS "invoiceRemarks",
+		a.is_invoice AS "isInvoice",
+		a.is_charge AS "isCharge",
+		a.is_invalid AS "isInvalid",
+		a.create_by AS "createBy.id",
+		a.create_date AS "createDate",
+		a.update_by AS "updateBy.id",
+		a.update_date AS "updateDate",
+		a.remarks AS "remarks",
+		a.del_flag AS "delFlag",
+		a.orUnicode AS "orUnicode",
+		a.address AS "address",
+		a.telephone AS "telephone",
+		a.bank AS "bank",
+		a.bank_number AS "bankNumber",
+		a.cancle_reason AS "cancaleReason",
+		su.name AS "createBy.name",
+		w.name AS "client.name",
+		p.project_name AS "project.projectName",
+		p.id AS "project.id",
+		a.invoice_state AS "invoiceState",
+		p.project_id AS "project.projectId",
+		w.usc_code AS "client.uscCode",
+		w.fax AS "client.fax",
+		w.or_unicode AS "client.orUnicode",
+		w.telephone AS "client.telephone",
+		a.company_id AS "companyId",
+		a.cancle_reason AS "cancleReason",
+		w.address AS "client.address",
+		a.officee_id AS "officeId",
+		a.province AS "province",
+		a.ext AS "ext",
+		a.billing_content as "billingContent",
+		p.area_name as "project.county",
+		a.receipt_money_date as "receiptMoneyDate",
+		(case when a.receipt_money = '0' then '否' when a.receipt_money = '1' then '是' else '否' end) as receiptMoney,
+		a.cancellation_remark as "cancellationRemark",
+		a.account_checking_user_id as "accountCheckingUserId",
+		a.area_id as "area.id",
+		a.new_drawer_id as "newDrawerId",
+		a.new_drawer as "newDrawer",
+		a.actual_drawer_id as "actualDrawerId"
+	</sql>
+
 	<sql id="workInvoiceJoins">
 		LEFT JOIN sys_user u ON u.id = a.drawer_id
 		LEFT JOIN sys_user su ON su.id = a.create_by
@@ -573,6 +637,201 @@
 		</choose>
 	</select>
 
+
+	<select id="findListNew" resultType="WorkInvoice" >
+		SELECT
+		<include refid="newWorkInvoiceColumns"/>
+		,wid.number as "widNumber"
+		,wid.total_money as "widTotalMoney"
+		FROM work_invoice a
+		LEFT JOIN sys_user su ON su.id = a.create_by
+		LEFT JOIN work_client_info w ON  w.id = a.client_id
+		LEFT JOIN rural_project_records p ON  p.id = a.project_id
+		left join work_invoice_project_relation wipr on a.id = wipr.invoice_id
+		left join rural_project_records rpr on rpr.id = wipr.project_id
+		left join project_report_data prds on rpr.id = prds.project_id
+		LEFT JOIN sys_user sua ON sua.id = a.account_checking_user_id
+		left join work_invoice_detail wid on a.id = wid.invoice_id
+		LEFT join sys_office so on so.id = a.office_id
+		<where>
+			a.del_flag = #{DEL_FLAG_NORMAL}
+			<if test="widNumber != null and widNumber != ''">
+				AND wid.number LIKE
+				<if test="dbName == 'oracle'">'%'||#{widNumber}||'%'</if>
+				<if test="dbName == 'mssql'">'%'+#{widNumber}+'%'</if>
+				<if test="dbName == 'mysql'">concat('%',#{widNumber},'%')</if>
+			</if>
+			<if test="money != null and money != ''">
+				AND a.money = #{money}
+			</if>
+			<if test="(accountCheckingUserId != null and accountCheckingUserId != '') or (accountCheckingUserName != null and accountCheckingUserName != '')">
+				AND (a.account_checking_user_id = #{accountCheckingUserId} or sua.name like concat('%',#{accountCheckingUserName},'%'))
+			</if>
+			<if test="area != null and area.id != null and area.id != ''">
+				AND a.area_parent_id LIKE
+				<if test="dbName == 'oracle'">'%'||#{area.id}||'%'</if>
+				<if test="dbName == 'mssql'">'%'+#{area.id}+'%'</if>
+				<if test="dbName == 'mysql'">concat('%',#{area.id},'%')</if>
+			</if>
+			<if test="number != null and number != ''">
+				AND a.number LIKE
+				<if test="dbName == 'oracle'">'%'||#{number}||'%'</if>
+				<if test="dbName == 'mssql'">'%'+#{number}+'%'</if>
+				<if test="dbName == 'mysql'">concat('%',#{number},'%')</if>
+			</if>
+			<if test="invoiceState != null and invoiceState != ''">
+				AND a.invoice_state = #{invoiceState}
+			</if>
+			<if test="beginContractDate != null and endContractDate != null and beginContractDate != '' and endContractDate != ''">
+				AND a.create_date BETWEEN #{beginContractDate} AND #{endContractDate}
+			</if>
+			<if test="officeIdList!=null and officeIdList.size!=0">
+				and a.office_id in
+				<foreach collection="officeIdList" item="officeId" separator="," open="(" close=")">
+					#{officeId}
+				</foreach>
+			</if>
+			<if test="(submitterId != null and submitterId != '') or (submitterName != null and submitterName != '')">
+				AND (a.create_by = #{submitterId} or su.name like concat('%',#{submitterName},'%'))
+			</if>
+			<if test="receiptBeginDate != null and receiptBeginDate != ''">
+				AND date_format(a.receipt_money_date,'%Y-%m-%d') &gt;= date_format(#{receiptBeginDate},'%Y-%m-%d')
+			</if>
+			<if test="client != null and client.name != null and client.name != ''">
+				AND w.name LIKE
+				<if test="dbName == 'oracle'">'%'||#{client.name}||'%'</if>
+				<if test="dbName == 'mssql'">'%'+#{client.name}+'%'</if>
+				<if test="dbName == 'mysql'">concat('%',#{client.name},'%')</if>
+			</if>
+			<if test="receiptMoney != null and receiptMoney != ''">
+				AND a.receipt_money = #{receiptMoney}
+			</if>
+			<if test="invoiceType != null and invoiceType != ''">
+				AND a.invoice_type = #{invoiceType}
+			</if>
+			<if test="chargeType != null and chargeType != ''">
+				AND a.charge_type = #{chargeType}
+			</if>
+			<if test="billingContent != null and billingContent != ''">
+				AND a.billing_content = #{billingContent}
+			</if>
+			<if test="project != null and project.projectName != null and project.projectName != ''">
+				AND p.project_name LIKE
+				<if test="dbName == 'oracle'">'%'||#{project.projectName}||'%'</if>
+				<if test="dbName == 'mssql'">'%'+#{project.projectName}+'%'</if>
+				<if test="dbName == 'mysql'">concat('%',#{project.projectName},'%')</if>
+			</if>
+			<if test="reportNumber != null and reportNumber != ''">
+				and prds.number like
+				<if test="dbName == 'oracle'">'%'||#{reportNumber}||'%'</if>
+				<if test="dbName == 'mssql'">'%'+#{reportNumber}+'%'</if>
+				<if test="dbName == 'mysql'">concat('%',#{reportNumber},'%')</if>
+			</if>
+
+
+			${sqlMap.dsf}
+		</where>
+		<choose>
+			<when test="page !=null and page.orderBy != null and page.orderBy != ''">
+				ORDER BY ${page.orderBy}
+			</when>
+			<otherwise>
+				ORDER BY a.create_date DESC
+			</otherwise>
+		</choose>
+	</select>
+
+
+	<select id="queryCountNew" resultType="int" >
+		SELECT count(DISTINCT(a.id))
+		FROM work_invoice a
+		LEFT JOIN sys_user su ON su.id = a.create_by
+		LEFT JOIN work_client_info w ON  w.id = a.client_id
+		LEFT JOIN rural_project_records p ON  p.id = a.project_id
+		left join work_invoice_project_relation wipr on a.id = wipr.invoice_id
+		left join rural_project_records rpr on rpr.id = wipr.project_id
+		left join project_report_data prds on rpr.id = prds.project_id
+		LEFT JOIN sys_user sua ON sua.id = a.account_checking_user_id
+		left join work_invoice_detail wid on a.id = wid.invoice_id
+		<where>
+			a.del_flag = #{DEL_FLAG_NORMAL}
+			<if test="widNumber != null and widNumber != ''">
+				AND wid.number LIKE
+				<if test="dbName == 'oracle'">'%'||#{widNumber}||'%'</if>
+				<if test="dbName == 'mssql'">'%'+#{widNumber}+'%'</if>
+				<if test="dbName == 'mysql'">concat('%',#{widNumber},'%')</if>
+			</if>
+			<if test="money != null and money != ''">
+				AND a.money = #{money}
+			</if>
+			<if test="(accountCheckingUserId != null and accountCheckingUserId != '') or (accountCheckingUserName != null and accountCheckingUserName != '')">
+				AND (a.account_checking_user_id = #{accountCheckingUserId} or sua.name like concat('%',#{accountCheckingUserName},'%'))
+			</if>
+			<if test="area != null and area.id != null and area.id != ''">
+				AND a.area_parent_id LIKE
+				<if test="dbName == 'oracle'">'%'||#{area.id}||'%'</if>
+				<if test="dbName == 'mssql'">'%'+#{area.id}+'%'</if>
+				<if test="dbName == 'mysql'">concat('%',#{area.id},'%')</if>
+			</if>
+			<if test="number != null and number != ''">
+				AND a.number LIKE
+				<if test="dbName == 'oracle'">'%'||#{number}||'%'</if>
+				<if test="dbName == 'mssql'">'%'+#{number}+'%'</if>
+				<if test="dbName == 'mysql'">concat('%',#{number},'%')</if>
+			</if>
+			<if test="invoiceState != null and invoiceState != ''">
+				AND a.invoice_state = #{invoiceState}
+			</if>
+			<if test="beginContractDate != null and endContractDate != null and beginContractDate != '' and endContractDate != ''">
+				AND a.create_date BETWEEN #{beginContractDate} AND #{endContractDate}
+			</if>
+			<if test="officeIdList!=null and officeIdList.size!=0">
+				and a.office_id in
+				<foreach collection="officeIdList" item="officeId" separator="," open="(" close=")">
+					#{officeId}
+				</foreach>
+			</if>
+			<if test="(submitterId != null and submitterId != '') or (submitterName != null and submitterName != '')">
+				AND (a.create_by = #{submitterId} or su.name like concat('%',#{submitterName},'%'))
+			</if>
+			<if test="receiptBeginDate != null and receiptBeginDate != ''">
+				AND date_format(a.receipt_money_date,'%Y-%m-%d') &gt;= date_format(#{receiptBeginDate},'%Y-%m-%d')
+			</if>
+			<if test="client != null and client.name != null and client.name != ''">
+				AND w.name LIKE
+				<if test="dbName == 'oracle'">'%'||#{client.name}||'%'</if>
+				<if test="dbName == 'mssql'">'%'+#{client.name}+'%'</if>
+				<if test="dbName == 'mysql'">concat('%',#{client.name},'%')</if>
+			</if>
+			<if test="receiptMoney != null and receiptMoney != ''">
+				AND a.receipt_money = #{receiptMoney}
+			</if>
+			<if test="invoiceType != null and invoiceType != ''">
+				AND a.invoice_type = #{invoiceType}
+			</if>
+			<if test="chargeType != null and chargeType != ''">
+				AND a.charge_type = #{chargeType}
+			</if>
+			<if test="billingContent != null and billingContent != ''">
+				AND a.billing_content = #{billingContent}
+			</if>
+			<if test="project != null and project.projectName != null and project.projectName != ''">
+				AND p.project_name LIKE
+				<if test="dbName == 'oracle'">'%'||#{project.projectName}||'%'</if>
+				<if test="dbName == 'mssql'">'%'+#{project.projectName}+'%'</if>
+				<if test="dbName == 'mysql'">concat('%',#{project.projectName},'%')</if>
+			</if>
+			<if test="reportNumber != null and reportNumber != ''">
+				and prds.number like
+				<if test="dbName == 'oracle'">'%'||#{reportNumber}||'%'</if>
+				<if test="dbName == 'mssql'">'%'+#{reportNumber}+'%'</if>
+				<if test="dbName == 'mysql'">concat('%',#{reportNumber},'%')</if>
+			</if>
+			${sqlMap.dsf}
+		</where>
+	</select>
+
+
 	<select id="findListExport" resultType="WorkInvoice" >
 		SELECT
 		a.id AS "id",

+ 4 - 0
src/main/webapp/webpage/modules/projectrecord/plan/projectPlanConsultingList.jsp

@@ -273,6 +273,8 @@
 						return "<span title=\"" + d.client + "\">" + d.client + "</span>";
 					}}
 				,{field:'createDate',align:'center', title: '创建日期',  width:80}
+				,{field:'beginDate',align:'center', title: '计划开始时间',  width:120}
+				,{field:'endDate',align:'center', title: '计划结束时间',  width:120}
 				,{field:'op',align:'center',title:"操作",width:130,templet:function(d){
 						////对操作进行初始化
 						var xml="<div class=\"layui-btn-group\">";
@@ -312,6 +314,8 @@
 					,"conId":"${projectRecords.workContractInfo.id}"
 					,"client":"${projectRecords.workContractInfo.client.name}"
 					,"createDate":"<fmt:formatDate value="${projectRecords.createDate}" pattern="yyyy-MM-dd"/>"
+					,"beginDate":"<fmt:formatDate value="${projectRecords.beginDate}" pattern="yyyy-MM-dd"/>"
+					,"endDate":"<fmt:formatDate value="${projectRecords.endDate}" pattern="yyyy-MM-dd"/>"
 					,"projectStatus":"${projectRecords.projectStatus}"
 					,"procId":"${projectRecords.processInstanceId}"
 					,"submitMoneyStr":"${projectRecords.submitMoneyStr}"

+ 2 - 1
src/main/webapp/webpage/modules/projectrecord/plan/projectPlanCostList.jsp

@@ -310,7 +310,8 @@
 					,"projId":"${projectRecords.projectId}"
 					,"projectReportNumber":"${projectRecords.projectReportNumber}"
 					,"projName":"<c:out value="${projectRecords.projectName}" escapeXml="true"/>"
-					,"projMaster":"<c:forEach items="${projectRecords.projectLeaders}" var="leader" varStatus="status"><c:choose><c:when test="${status.last}">${leader.name}</c:when><c:otherwise>${leader.name},</c:otherwise></c:choose></c:forEach>"
+					,"projMaster":"${projectRecords.leaderNameStr}"
+					<%--,"projMaster":"<c:forEach items="${projectRecords.projectLeaders}" var="leader" varStatus="status"><c:choose><c:when test="${status.last}">${leader.name}</c:when><c:otherwise>${leader.name},</c:otherwise></c:choose></c:forEach>"--%>
 					,"contract":"${projectRecords.workContractInfo.name}"
 					,"conId":"${projectRecords.workContractInfo.id}"
 					,"client":"${projectRecords.workContractInfo.client.name}"

+ 32 - 31
src/main/webapp/webpage/modules/ruralprojectrecords/cost/ruralCostProjectRecordsList.jsp

@@ -648,18 +648,19 @@
                     ,"id":"${projectRecords.id}"
                     ,"projId":"${projectRecords.projectId}"
                     ,"projName":"<c:out value="${projectRecords.projectName}" escapeXml="true"/>"
-                    ,"projMaster":"<c:forEach items="${projectRecords.projectLeaders}" var="leader" varStatus="status"><c:choose><c:when test="${status.last}">${leader.name}</c:when><c:otherwise>${leader.name},</c:otherwise></c:choose></c:forEach>"
+					,"projMaster":"${projectRecords.leaderNameStr}"
+					<%--,"projMaster":"<c:forEach items="${projectRecords.projectLeaders}" var="leader" varStatus="status"><c:choose><c:when test="${status.last}">${leader.name}</c:when><c:otherwise>${leader.name},</c:otherwise></c:choose></c:forEach>"--%>
                     ,"contract":"${projectRecords.workContractInfo.name}"
                     ,"conId":"${projectRecords.workContractInfo.id}"
                     ,"client":"${projectRecords.workContractInfo.client.name}"
                     ,"projectReportNumber":"${projectRecords.projectReportNumber}"
                     ,"createDate":"<fmt:formatDate value="${projectRecords.createDate}" pattern="yyyy-MM-dd"/>"
                     ,"projectStatus":"${projectRecords.projectStatus}"
-					,"projectReportRecordStatus":"${projectRecords.projectReportRecordStatus}"
+                    ,"projectReportRecordStatus":"${projectRecords.projectReportRecordStatus}"
                     ,"procId":"${projectRecords.processInstanceId}"
-					,"flagAdmin":"${projectRecords.flagAdmin}"
-					,"notifyFlag":"${projectRecords.notifyFlag}"
-					,"notifyId":"${projectRecords.notifyId}"
+                    ,"flagAdmin":"${projectRecords.flagAdmin}"
+                    ,"notifyFlag":"${projectRecords.notifyFlag}"
+                    ,"notifyId":"${projectRecords.notifyId}"
                     <c:choose><c:when test="${flag == '1' or fns:getUser().id == projectRecords.createBy.id}">
                     <shiro:hasPermission name="ruralProject:ruralCostProjectRecords:del">,"candel":	<c:choose><c:when test="${(projectRecords.projectStatus == 1 or projectRecords.projectStatus == 3 or projectRecords.projectStatus == 4) && fns:getUser().id == projectRecords.createBy.id}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose></shiro:hasPermission>
                     <shiro:hasPermission name="ruralProject:ruralCostProjectRecords:edit">,"canedit1":	<c:choose><c:when test="${projectRecords.projectStatus == 1 && fns:getUser().id == projectRecords.createBy.id }">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
@@ -667,40 +668,40 @@
                     ,"canrecall":<c:choose><c:when test="${projectRecords.projectStatus == 3 && fns:getUser().id == projectRecords.createBy.id}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
                     </shiro:hasPermission>
                     ,"cancancel":<c:choose><c:when test="${projectRecords.projectStatus == 2 && fns:getUser().id == projectRecords.createBy.id}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
-					,"deleteAdmin":<c:choose><c:when test="${'1' == projectRecords.flagAdmin && projectRecords.projectStatus == 5}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
-					,"modifyRecords":<c:choose><c:when test="${fns:getUser().id == projectRecords.createBy.id && '2' != projectRecords.projectReportStatus && '5' != projectRecords.projectReportStatus && projectRecords.projectStatus == 5}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
-					<c:if test="${'1' == projectRecords.flagAdmin}">
-						,"reportDataFlag":<c:choose><c:when test="${'0' == projectRecords.reportDataFlag && projectRecords.projectStatus == 5}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
-					</c:if>
-					<c:if test="${'0' == projectRecords.flagAdmin}">
-						,"reportDataFlag":<c:choose><c:when test="${fns:getUser().id == projectRecords.createBy.id && '0' == projectRecords.reportDataFlag && projectRecords.projectStatus == 5}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
-					</c:if>
-					</c:when>
+                    ,"deleteAdmin":<c:choose><c:when test="${'1' == projectRecords.flagAdmin && projectRecords.projectStatus == 5}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
+                    ,"modifyRecords":<c:choose><c:when test="${fns:getUser().id == projectRecords.createBy.id && '2' != projectRecords.projectReportStatus && '5' != projectRecords.projectReportStatus && projectRecords.projectStatus == 5}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
+                    <c:if test="${'1' == projectRecords.flagAdmin}">
+                        ,"reportDataFlag":<c:choose><c:when test="${'0' == projectRecords.reportDataFlag && projectRecords.projectStatus == 5}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
+                    </c:if>
+                    <c:if test="${'0' == projectRecords.flagAdmin}">
+                        ,"reportDataFlag":<c:choose><c:when test="${fns:getUser().id == projectRecords.createBy.id && '0' == projectRecords.reportDataFlag && projectRecords.projectStatus == 5}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose>
+                    </c:if>
+                    </c:when>
                     <c:otherwise>
                     ,"candel":"0"
                     ,"canedit1":"0"
                     ,"canedit2":"0"
                     ,"canrecall":"0"
                     ,"cancancel":"0"
-					,"deleteAdmin":"0"
-					,"recordStatus":"0"
+                    ,"deleteAdmin":"0"
+                    ,"recordStatus":"0"
                     </c:otherwise>
                     </c:choose>
-					,"submitMoneyStr":
-							<c:choose>
-								<c:when test="${'2'==projectRecords.submitMoney}">
-								"A级"
-								</c:when>
-								<c:otherwise>
-								"B级"
-								<%--<c:choose>
-									<c:when test="${'1'==projectRecords.emergencyProject}">
-										"B级紧急"
-									</c:when>
-									<c:otherwise>
-										"B级非紧急"
-									</c:otherwise>
-								</c:choose>--%>
+                    ,"submitMoneyStr":
+                            <c:choose>
+                                <c:when test="${'2'==projectRecords.submitMoney}">
+                                "A级"
+                                </c:when>
+                                <c:otherwise>
+                                "B级"
+                                <%--<c:choose>
+                                    <c:when test="${'1'==projectRecords.emergencyProject}">
+                                        "B级紧急"
+                                    </c:when>
+                                    <c:otherwise>
+                                        "B级非紧急"
+                                    </c:otherwise>
+                                </c:choose>--%>
 								</c:otherwise>
 							</c:choose>
                     <shiro:hasPermission name="ruralProject:ruralCostProjectRecords:edit">,"canedit3":<c:choose><c:when test="${projectRecords.projectStatus == 5 && fn:contains(projectRecords.leaderIds,fns:getUser().id)}">"1"</c:when><c:otherwise>"0"</c:otherwise></c:choose></shiro:hasPermission>

+ 189 - 0
src/main/webapp/webpage/modules/ruralprojectrecords/record/cost/projectRecordDescriptionForm.jsp

@@ -234,6 +234,195 @@
 			</div>
 
 			<div class="form-group layui-row">
+				<div class="form-group-label"><h2>附件信息</h2></div>
+				<div class="layui-item nav-btns">
+					<a id="attachment_btn" class="nav-btn nav-btn-add" title="添加附件"><i class="fa fa-plus"></i>&nbsp;添加附件</a>
+					<%--<sys:collectSelect  id="linkman" url="${ctx}/workclientinfo/workClientInfo/linkmanList"
+										name="linkman.id"  title="选择资料库"
+										cssClass="form-control judgment" fieldLabels="资料库" fieldKeys="name"
+										searchLabel="资料库" searchKey="fileName"></sys:collectSelect>--%>
+				</div>
+				<div id="addFile_attachment" style="display: none" class="upload-progress">
+					<span id="fileName_attachment" ></span>
+					<b><span id="baifenbi_attachment" ></span></b>
+					<div class="progress">
+						<div id="jindutiao_attachment" class="progress-bar" style="width: 0%" aria-valuenow="0">
+						</div>
+					</div>
+				</div>
+				<input id="attachment_file" type="file" name="attachment_file" multiple="multiple" style="display: none;" onChange="if(this.value)insertTitle(this.value);"/>
+				<span id="attachment_title"></span>
+				<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>上传时间</th>
+							<th width="200px">操作</th>
+						</tr>
+						</thead>
+						<tbody id="file_attachment">
+						<c:forEach items="${materialDefectRecord.workAttachments}" var = "workClientAttachment" varStatus="status">
+							<tr>
+
+									<%-- <td>${status.index + 1}</td>--%>
+								<c:choose>
+									<c:when test="${materialDefectRecord.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>
+														<c:choose>
+															<c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'rar')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'zip')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jar')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'7z')}">
+																<td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${workClientAttachment.temporaryUrl}',3)">${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: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>
+														<c:choose>
+															<c:when test="${materialDefectRecord.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>
+																				<c:choose>
+																					<c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'rar')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'zip')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jar')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'7z')}">
+																						<td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${workClientAttachment.temporaryUrl}',3)">${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: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 href="javascript:void(0)" onclick="openPreview('${workClientAttachment.url}',1)">${workClientAttachment.attachmentName}</a></td>
+																			</c:when>
+																			<c:otherwise>
+																				<c:choose>
+																					<c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'rar')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'zip')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jar')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'7z')}">
+																						<td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${workClientAttachment.url}',3)">${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>
+															</c:otherwise>
+														</c:choose>
+													</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="${materialDefectRecord.uploadMode == 2}">
+												<c:choose>
+													<c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'pdf')}">
+														<a href="${workClientAttachment.temporaryUrl}" target="_blank" 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.collectFlag != 1}">
+											<a href="javascript:void(0)" onclick="collectingAccessory(this,'${ctx}/projectAccessory/projectAccessory/saveCollectAccessory','${workClientAttachment.url}','${workClientAttachment.createBy.id}','${workClientAttachment.fileSize}')" class="op-btn op-btn-delete" style="background-color: #FFB800"><i class="layui-icon layui-icon-rate"></i>&nbsp;收藏</a>
+										</c:if>
+										<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>
+
+									</div>
+								</td>
+							</tr>
+						</c:forEach>
+						</tbody>
+					</table>
+				</div>
+			</div>
+
+			<div class="form-group layui-row">
 				<div class="form-group-label"><h2>成果文件</h2></div>
 				<div id="addFile_attachment" style="display: none" class="upload-progress">
 					<span id="fileName_attachment" ></span>

+ 67 - 0
src/main/webapp/webpage/modules/ruralprojectrecords/record/cost/recordTwo/projectReportRecordUrgentModify.jsp

@@ -624,6 +624,43 @@
                                     </td>
                                 </tr>//-->
 						</script>
+						<script type="text/template" id="workClientBankTplTechnology">//<!--
+                                <tr id="reportedConsultantList{{idx}}">
+                                    <td class="hide">
+                                        <input id="reportedConsultantList{{idx}}_id" name="reportedConsultantList[{{idx}}].id" type="hidden" value="{{row.id}}"/>
+                                        <input id="reportedConsultantList{{idx}}_delFlag" name="reportedConsultantList[{{idx}}].delFlag" 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>
+                                    	<input id="reportedConsultantList{{idx}}_zixunyuan" name="reportedConsultantList[{{idx}}].zixunyuan" type="hidden" value="{{row.zixunyuan}}"/>
+										<input id="reportedConsultantList{{idx}}_zixunyuanName" readonly="true" name="reportedConsultantList[{{idx}}].zixunyuanName" value="{{row.zixunyuanName}}" readonly="true" class="form-control"/>
+                                    </td>
+									<td>
+										<input id="reportedConsultantList{{idx}}_role" readonly="true" name="reportedConsultantList[{{idx}}].role" value="技术负责人" readonly="true" class="form-control"/>
+									</td>
+                                    <td>
+                                        <input id="reportedConsultantList{{idx}}_zhucezigezhID" readonly="true" name="reportedConsultantList[{{idx}}].zhucezigezhID" value="{{row.zhucezigezhID}}" class="form-control required"/>
+                                    </td>
+                                    <td>
+                                        <input id="reportedConsultantList{{idx}}_major" readonly="true"  name="reportedConsultantList[{{idx}}].major" value="{{row.major}}" class="form-control required"/>
+                                    </td>
+                                    <td>
+                                        <input id="reportedConsultantList{{idx}}_wordnr" placeholder="请输入本人负责内容" name="reportedConsultantList[{{idx}}].wordnr" value="{{row.wordnr}}" class="form-control"/>
+                                    </td>
+                                    <td>
+                                        <input id="reportedConsultantList{{idx}}_auditOpinion" placeholder="请输入审核意见" readonly="true" style="background-color: #FFFFFF;" name="reportedConsultantList[{{idx}}].auditOpinion" value="{{row.auditOpinion}}" onclick="openInfo(reportedConsultantList{{idx}},this.value,'projectReportDataLeader')" class="form-control judgment"/>
+                                    </td>
+
+                                    <td class="text-center op-td" width="10">
+
+                                    </td>
+                                </tr>//-->
+						</script>
 					</div>
 				</div>
 			</div>
@@ -1211,11 +1248,16 @@
 	var workClientBankRowIdx = 0,
 			workClientBankTpl = $("#workClientBankTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, "");
 	workClientBankTplFirst = $("#workClientBankTplFirst").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, "");
+	workClientBankTplTechnology = $("#workClientBankTplTechnology").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, "");
 	$(document).ready(function () {
 		var dataBank = ${fns:toJson(info)};
+		var projectGrade = '${projectGrade}';
 		for (var i = 0; i < dataBank.length; i++) {
 			if(i == 0){
 				addRow('#reportedConsultantList', workClientBankRowIdx, workClientBankTplFirst, dataBank[i]);
+			}else if(i ==1 && projectGrade == 1){
+				addRow('#reportedConsultantList', workClientBankRowIdx, workClientBankTplTechnology, dataBank[i]);
+
 			}else{
 				addRow('#reportedConsultantList', workClientBankRowIdx, workClientBankTpl, dataBank[i]);
 			}
@@ -1223,10 +1265,35 @@
 		}
 	});
 	function consultant(id, workClientBankRowIdx, workClientBankTpl) {
+		var projectGrade = '${projectGrade}';
 		//根据id查询咨询员列表现有数据量
 		var length = $("#reportedConsultantList").find("tr").length;
 		if(length == 0){
 			addRow(id, workClientBankRowIdx, workClientBankTplFirst, "");
+		}else if(length ==1 && projectGrade == 1){
+			var bzshbUserId = $("#bzshbUserId").val();
+			if(undefined == bzshbUserId || null == bzshbUserId || '' == bzshbUserId){
+				parent.layer.msg("请先选择审核人员!", {icon: 5});
+				return false;
+			}else{
+				addRow(id, length, workClientBankTplTechnology, "");
+				var bzshbUserId = $("#bzshbUserId").val();
+				$.ajax({
+					type:"post",
+					url:'${ctx}/ruralProject/ruralCostProjectMessage/getWorkUserBYJudgement',
+					data:{"id":bzshbUserId},
+					dataType:"json",
+					success:function(result){
+						console.log(result)
+						$("#reportedConsultantList2_zixunyuan").val(result.zixunyuanId);
+						$("#reportedConsultantList2_zixunyuanName").val(result.zixunyuanName);
+						$("#reportedConsultantList2_zhucezigezhID").val(result.num);
+						$("#reportedConsultantList2_zhucezigezhKey").val(result.name);
+						$("#reportedConsultantList2_major").val(result.major);
+						$("#reportedConsultantList2_idCard").val(result.idCard);
+					}
+				})
+			}
 		}else{
 			addRow(id, workClientBankRowIdx, workClientBankTpl, "");
 		}

+ 67 - 0
src/main/webapp/webpage/modules/ruralprojectrecords/record/cost/recordTwo/projectReportRecordUrgentModifyApply.jsp

@@ -598,6 +598,43 @@
                                     </td>
                                 </tr>//-->
 						</script>
+						<script type="text/template" id="workClientBankTplTechnology">//<!--
+                                <tr id="reportedConsultantList{{idx}}">
+                                    <td class="hide">
+                                        <input id="reportedConsultantList{{idx}}_id" name="reportedConsultantList[{{idx}}].id" type="hidden" value="{{row.id}}"/>
+                                        <input id="reportedConsultantList{{idx}}_delFlag" name="reportedConsultantList[{{idx}}].delFlag" 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>
+                                    	<input id="reportedConsultantList{{idx}}_zixunyuan" name="reportedConsultantList[{{idx}}].zixunyuan" type="hidden" value="{{row.zixunyuan}}"/>
+										<input id="reportedConsultantList{{idx}}_zixunyuanName" readonly="true" name="reportedConsultantList[{{idx}}].zixunyuanName" value="{{row.zixunyuanName}}" readonly="true" class="form-control"/>
+                                    </td>
+									<td>
+										<input id="reportedConsultantList{{idx}}_role" readonly="true" name="reportedConsultantList[{{idx}}].role" value="技术负责人" readonly="true" class="form-control"/>
+									</td>
+                                    <td>
+                                        <input id="reportedConsultantList{{idx}}_zhucezigezhID" readonly="true" name="reportedConsultantList[{{idx}}].zhucezigezhID" value="{{row.zhucezigezhID}}" class="form-control required"/>
+                                    </td>
+                                    <td>
+                                        <input id="reportedConsultantList{{idx}}_major" readonly="true"  name="reportedConsultantList[{{idx}}].major" value="{{row.major}}" class="form-control required"/>
+                                    </td>
+                                    <td>
+                                        <input id="reportedConsultantList{{idx}}_wordnr" placeholder="请输入本人负责内容" name="reportedConsultantList[{{idx}}].wordnr" value="{{row.wordnr}}" class="form-control"/>
+                                    </td>
+                                    <td>
+                                        <input id="reportedConsultantList{{idx}}_auditOpinion" placeholder="请输入审核意见" readonly="true" style="background-color: #FFFFFF;" name="reportedConsultantList[{{idx}}].auditOpinion" value="{{row.auditOpinion}}" onclick="openInfo(reportedConsultantList{{idx}},this.value,'projectReportDataLeader')" class="form-control judgment"/>
+                                    </td>
+
+                                    <td class="text-center op-td" width="10">
+
+                                    </td>
+                                </tr>//-->
+						</script>
 					</div>
 				</div>
 			</div>
@@ -1111,11 +1148,16 @@
 	var workClientBankRowIdx = 0,
 			workClientBankTpl = $("#workClientBankTpl").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, "");
 	workClientBankTplFirst = $("#workClientBankTplFirst").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, "");
+	workClientBankTplTechnology = $("#workClientBankTplTechnology").html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, "");
 	$(document).ready(function () {
 		var dataBank = ${fns:toJson(info)};
+		var projectGrade = '${projectGrade}';
 		for (var i = 0; i < dataBank.length; i++) {
 			if(i == 0){
 				addRow('#reportedConsultantList', workClientBankRowIdx, workClientBankTplFirst, dataBank[i]);
+			}else if(i ==1 && projectGrade == 1){
+				addRow('#reportedConsultantList', workClientBankRowIdx, workClientBankTplTechnology, dataBank[i]);
+
 			}else{
 				addRow('#reportedConsultantList', workClientBankRowIdx, workClientBankTpl, dataBank[i]);
 			}
@@ -1123,10 +1165,35 @@
 		}
 	});
 	function consultant(id, workClientBankRowIdx, workClientBankTpl) {
+		var projectGrade = '${projectGrade}';
 		//根据id查询咨询员列表现有数据量
 		var length = $("#reportedConsultantList").find("tr").length;
 		if(length == 0){
 			addRow(id, workClientBankRowIdx, workClientBankTplFirst, "");
+		}else if(length ==1 && projectGrade == 1){
+			var bzshbUserId = $("#bzshbUserId").val();
+			if(undefined == bzshbUserId || null == bzshbUserId || '' == bzshbUserId){
+				parent.layer.msg("请先选择审核人员!", {icon: 5});
+				return false;
+			}else{
+				addRow(id, length, workClientBankTplTechnology, "");
+				var bzshbUserId = $("#bzshbUserId").val();
+				$.ajax({
+					type:"post",
+					url:'${ctx}/ruralProject/ruralCostProjectMessage/getWorkUserBYJudgement',
+					data:{"id":bzshbUserId},
+					dataType:"json",
+					success:function(result){
+						console.log(result)
+						$("#reportedConsultantList2_zixunyuan").val(result.zixunyuanId);
+						$("#reportedConsultantList2_zixunyuanName").val(result.zixunyuanName);
+						$("#reportedConsultantList2_zhucezigezhID").val(result.num);
+						$("#reportedConsultantList2_zhucezigezhKey").val(result.name);
+						$("#reportedConsultantList2_major").val(result.major);
+						$("#reportedConsultantList2_idCard").val(result.idCard);
+					}
+				})
+			}
 		}else{
 			addRow(id, workClientBankRowIdx, workClientBankTpl, "");
 		}

+ 179 - 0
src/main/webapp/webpage/modules/ruralprojectrecords/record/projectRepordDescriptionAudit.jsp

@@ -424,6 +424,185 @@
 						</div>
 					</div>
 
+							<div class="form-group layui-row">
+								<div class="form-group-label"><h2>附件信息</h2></div>
+								<div id="addFile_attachment" style="display: none" class="upload-progress">
+									<span id="fileName_attachment" ></span>
+									<b><span id="baifenbi_attachment" ></span></b>
+									<div class="progress">
+										<div id="jindutiao_attachment" class="progress-bar" style="width: 0%" aria-valuenow="0">
+										</div>
+									</div>
+								</div>
+								<input id="attachment_file" type="file" name="attachment_file" multiple="multiple" style="display: none;" onChange="if(this.value)insertTitle(this.value);"/>
+								<span id="attachment_title"></span>
+								<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>上传时间</th>
+											<th width="200px">操作</th>
+										</tr>
+										</thead>
+										<tbody id="file_attachment">
+										<c:forEach items="${materialDefectRecord.workAttachments}" var = "workClientAttachment" varStatus="status">
+											<tr>
+
+													<%-- <td>${status.index + 1}</td>--%>
+												<c:choose>
+													<c:when test="${materialDefectRecord.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>
+																		<c:choose>
+																			<c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'rar')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'zip')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jar')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'7z')}">
+																				<td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${workClientAttachment.temporaryUrl}',3)">${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: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>
+																		<c:choose>
+																			<c:when test="${materialDefectRecord.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>
+																								<c:choose>
+																									<c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'rar')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'zip')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jar')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'7z')}">
+																										<td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${workClientAttachment.temporaryUrl}',3)">${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: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 href="javascript:void(0)" onclick="openPreview('${workClientAttachment.url}',1)">${workClientAttachment.attachmentName}</a></td>
+																							</c:when>
+																							<c:otherwise>
+																								<c:choose>
+																									<c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'rar')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'zip')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jar')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'7z')}">
+																										<td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${workClientAttachment.url}',3)">${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>
+																			</c:otherwise>
+																		</c:choose>
+																	</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="${materialDefectRecord.uploadMode == 2}">
+																<c:choose>
+																	<c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'pdf')}">
+																		<a href="${workClientAttachment.temporaryUrl}" target="_blank" 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.collectFlag != 1}">
+															<a href="javascript:void(0)" onclick="collectingAccessory(this,'${ctx}/projectAccessory/projectAccessory/saveCollectAccessory','${workClientAttachment.url}','${workClientAttachment.createBy.id}','${workClientAttachment.fileSize}')" class="op-btn op-btn-delete" style="background-color: #FFB800"><i class="layui-icon layui-icon-rate"></i>&nbsp;收藏</a>
+														</c:if>
+
+													</div>
+												</td>
+											</tr>
+										</c:forEach>
+										</tbody>
+									</table>
+								</div>
+							</div>
+
 
 							<div class="form-group layui-row">
 								<div class="form-group-label"><h2>成果文件</h2></div>

+ 189 - 0
src/main/webapp/webpage/modules/ruralprojectrecords/record/projectRepordDescriptionModify.jsp

@@ -245,6 +245,195 @@
 			</div>
 
 			<div class="form-group layui-row">
+				<div class="form-group-label"><h2>附件信息</h2></div>
+				<div class="layui-item nav-btns">
+					<a id="attachment_btn" class="nav-btn nav-btn-add" title="添加附件"><i class="fa fa-plus"></i>&nbsp;添加附件</a>
+						<%--<sys:collectSelect  id="linkman" url="${ctx}/workclientinfo/workClientInfo/linkmanList"
+                                            name="linkman.id"  title="选择资料库"
+                                            cssClass="form-control judgment" fieldLabels="资料库" fieldKeys="name"
+                                            searchLabel="资料库" searchKey="fileName"></sys:collectSelect>--%>
+				</div>
+				<div id="addFile_attachment" style="display: none" class="upload-progress">
+					<span id="fileName_attachment" ></span>
+					<b><span id="baifenbi_attachment" ></span></b>
+					<div class="progress">
+						<div id="jindutiao_attachment" class="progress-bar" style="width: 0%" aria-valuenow="0">
+						</div>
+					</div>
+				</div>
+				<input id="attachment_file" type="file" name="attachment_file" multiple="multiple" style="display: none;" onChange="if(this.value)insertTitle(this.value);"/>
+				<span id="attachment_title"></span>
+				<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>上传时间</th>
+							<th width="200px">操作</th>
+						</tr>
+						</thead>
+						<tbody id="file_attachment">
+						<c:forEach items="${materialDefectRecord.workAttachments}" var = "workClientAttachment" varStatus="status">
+							<tr>
+
+									<%-- <td>${status.index + 1}</td>--%>
+								<c:choose>
+									<c:when test="${materialDefectRecord.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>
+														<c:choose>
+															<c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'rar')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'zip')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jar')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'7z')}">
+																<td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${workClientAttachment.temporaryUrl}',3)">${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: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>
+														<c:choose>
+															<c:when test="${materialDefectRecord.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>
+																				<c:choose>
+																					<c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'rar')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'zip')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jar')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'7z')}">
+																						<td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${workClientAttachment.temporaryUrl}',3)">${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: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 href="javascript:void(0)" onclick="openPreview('${workClientAttachment.url}',1)">${workClientAttachment.attachmentName}</a></td>
+																			</c:when>
+																			<c:otherwise>
+																				<c:choose>
+																					<c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'rar')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'zip')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jar')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'7z')}">
+																						<td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${workClientAttachment.url}',3)">${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>
+															</c:otherwise>
+														</c:choose>
+													</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="${materialDefectRecord.uploadMode == 2}">
+												<c:choose>
+													<c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'pdf')}">
+														<a href="${workClientAttachment.temporaryUrl}" target="_blank" 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.collectFlag != 1}">
+											<a href="javascript:void(0)" onclick="collectingAccessory(this,'${ctx}/projectAccessory/projectAccessory/saveCollectAccessory','${workClientAttachment.url}','${workClientAttachment.createBy.id}','${workClientAttachment.fileSize}')" class="op-btn op-btn-delete" style="background-color: #FFB800"><i class="layui-icon layui-icon-rate"></i>&nbsp;收藏</a>
+										</c:if>
+										<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>
+
+									</div>
+								</td>
+							</tr>
+						</c:forEach>
+						</tbody>
+					</table>
+				</div>
+			</div>
+
+			<div class="form-group layui-row">
 				<div class="form-group-label"><h2>成果文件</h2></div>
 				<div id="addFile_attachment" style="display: none" class="upload-progress">
 					<span id="fileName_attachment" ></span>

+ 179 - 7
src/main/webapp/webpage/modules/ruralprojectrecords/record/projectRepordDescriptionView.jsp

@@ -391,7 +391,184 @@
 							<form:textarea placeholder="请输入资料缺失说明:" path="remarks" readonly="true" htmlEscape="false" rows="8" maxlength="255" class="form-control required"/>
 						</div>
 					</div>
+							<div class="form-group layui-row">
+								<div class="form-group-label"><h2>附件信息</h2></div>
+								<div id="addFile_attachment" style="display: none" class="upload-progress">
+									<span id="fileName_attachment" ></span>
+									<b><span id="baifenbi_attachment" ></span></b>
+									<div class="progress">
+										<div id="jindutiao_attachment" class="progress-bar" style="width: 0%" aria-valuenow="0">
+										</div>
+									</div>
+								</div>
+								<input id="attachment_file" type="file" name="attachment_file" multiple="multiple" style="display: none;" onChange="if(this.value)insertTitle(this.value);"/>
+								<span id="attachment_title"></span>
+								<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>上传时间</th>
+											<th width="200px">操作</th>
+										</tr>
+										</thead>
+										<tbody id="file_attachment">
+										<c:forEach items="${materialDefectRecord.workAttachments}" var = "workClientAttachment" varStatus="status">
+											<tr>
 
+													<%-- <td>${status.index + 1}</td>--%>
+												<c:choose>
+													<c:when test="${materialDefectRecord.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>
+																		<c:choose>
+																			<c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'rar')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'zip')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jar')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'7z')}">
+																				<td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${workClientAttachment.temporaryUrl}',3)">${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: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>
+																		<c:choose>
+																			<c:when test="${materialDefectRecord.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>
+																								<c:choose>
+																									<c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'rar')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'zip')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jar')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'7z')}">
+																										<td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${workClientAttachment.temporaryUrl}',3)">${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: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 href="javascript:void(0)" onclick="openPreview('${workClientAttachment.url}',1)">${workClientAttachment.attachmentName}</a></td>
+																							</c:when>
+																							<c:otherwise>
+																								<c:choose>
+																									<c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'rar')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'zip')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jar')
+                                                       or fn:containsIgnoreCase(workClientAttachment.attachmentName,'7z')}">
+																										<td><a class="attention-info" href="javascript:void(0)" onclick="openPreview('${workClientAttachment.url}',3)">${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>
+																			</c:otherwise>
+																		</c:choose>
+																	</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="${materialDefectRecord.uploadMode == 2}">
+																<c:choose>
+																	<c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'pdf')}">
+																		<a href="${workClientAttachment.temporaryUrl}" target="_blank" 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.collectFlag != 1}">
+															<a href="javascript:void(0)" onclick="collectingAccessory(this,'${ctx}/projectAccessory/projectAccessory/saveCollectAccessory','${workClientAttachment.url}','${workClientAttachment.createBy.id}','${workClientAttachment.fileSize}')" class="op-btn op-btn-delete" style="background-color: #FFB800"><i class="layui-icon layui-icon-rate"></i>&nbsp;收藏</a>
+														</c:if>
+
+													</div>
+												</td>
+											</tr>
+										</c:forEach>
+										</tbody>
+									</table>
+								</div>
+							</div>
 
 							<div class="form-group layui-row">
 								<div class="form-group-label"><h2>成果文件</h2></div>
@@ -935,8 +1112,8 @@
 							<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="${materialDefectRecord.act.procInsId}"/>
-									<act:histoicFlow procInsId="${materialDefectRecord.act.procInsId}"/>
+									<act:flowChart procInsId="${materialDefectRecord.processInstanceId}"/>
+									<act:histoicFlow procInsId="${materialDefectRecord.processInstanceId}"/>
 								</div>
 							</div>
 
@@ -1437,11 +1614,6 @@
 
 			<div class="form-group layui-row page-end"></div>
 		</form:form>
-		<div class="form-group-label">
-			<div style="float: right"> <a href="javascript:void(0)" style='background-color: #FFB800' onclick="openDialogre('个人模板列表', '${ctx}/auditTemplate/auditTemplate/templateList?identification=${identification}&name=${identificationName}','80%', '70%','','关闭')" class="nav-btn layui-btn layui-btn-sm" ><i class="fa fa-file-excel-o"></i> 审核意见模板列表</a></div>
-			<h2>审批意见</h2>
-		</div>
-		<iframe id="iframe" src="${ctx}/auditTemplate/auditTemplate/iframeView?identification=${identification}" name="listresult" frameborder="0" align="left" width="100%" height="300" scrolling="value"></iframe>
 	</div>
 </div>
 <script src="${ctxStatic}/layer-v2.3/layui/layui.all.js" charset="utf-8"></script>

+ 3 - 2
src/main/webapp/webpage/modules/ruralprojectrecords/ruralProjectRecordsList.jsp

@@ -584,8 +584,9 @@
                     ,"id":"${projectRecords.id}"
                     ,"projId":"${projectRecords.projectId}"
                     ,"projName":"<c:out value="${projectRecords.projectName}" escapeXml="true"/>"
-                    ,"projMaster":"<c:forEach items="${projectRecords.projectLeaders}" var="leader" varStatus="status"><c:choose><c:when test="${status.last}">${leader.name}</c:when><c:otherwise>${leader.name},</c:otherwise></c:choose></c:forEach>"
-                    ,"contract":"${projectRecords.workContractInfo.name}"
+					,"projMaster":"${projectRecords.leaderNameStr}"
+					<%--,"projMaster":"<c:forEach items="${projectRecords.projectLeaders}" var="leader" varStatus="status"><c:choose><c:when test="${status.last}">${leader.name}</c:when><c:otherwise>${leader.name},</c:otherwise></c:choose></c:forEach>"--%>
+					,"contract":"${projectRecords.workContractInfo.name}"
                     ,"conId":"${projectRecords.workContractInfo.id}"
                     ,"projectReportNumber":"${projectRecords.projectReportNumber}"
                     ,"client":"${projectRecords.workContractInfo.client.name}"

File diff ditekan karena terlalu besar
+ 39 - 939
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/electronicSeal/ruralProjectMessageElectronicSealList.jsp


File diff ditekan karena terlalu besar
+ 26 - 926
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/electronicSealYC/ruralProjectMessageElectronicSealYCList.jsp


+ 1 - 1
src/main/webapp/webpage/modules/ruralprojectrecords/subProjectInfo/subProjectInfoList.jsp

@@ -250,7 +250,7 @@
 		<ul class="list-tabs" >
 			<li><a href="${ctx}/ruralProject/ruralProjectView/view?id=${projectRecords.id}">项目详情</a></li>
 			<li class="active"><a href="${ctx}/ruralProject/ruralProjectView/list?parentProId=${projectRecords.id}&projectType=${projectRecords.projectType}">子项目列表</a></li>
-			<li ><a href="${ctx}/ruralProject/ruralProjectView/workContractView?id=${projectRecords.workContractInfo.id}&projectId=${projectRecords.id}">合同合同详情</a></li>
+			<li ><a href="${ctx}/ruralProject/ruralProjectView/workContractView?id=${projectRecords.workContractInfo.id}&projectId=${projectRecords.id}">客户合同详情</a></li>
 			<li><a href="${ctx}/ruralProject/ruralProjectView/planView?id=${projectRecords.id}">项目计划信息</a></li>
 			<li><a href="${ctx}/ruralProject/ruralProjectView/getReportedView?projectId=${projectRecords.id}&id=${reportedId}">上报信息</a></li>
 			<li><a href="${ctx}/ruralProject/ruralProjectView/modify?projectId=${projectRecords.id}">质量复核信息</a></li>

+ 0 - 3
src/main/webapp/webpage/modules/workinvoice/workInvoiceAllTwoList.jsp

@@ -844,10 +844,7 @@
                     ,"chargeType":"${fns:getMainDictLabels(workInvoice.chargeType,',','receipt_type', '')}"
                     ,"billingContent":"${fns:getMainDictLabels(workInvoice.billingContent,',','billing_content', '')}"
                     ,"invoiceType":"${workInvoice.invoiceTypeStr}"
-                    ,"projNum":"${workInvoice.project.projectId}"
                     ,"projectId":"${workInvoice.project.id}"
-                    ,"areaName":"${workInvoice.project.county}"
-                    ,"reportNumber":"${workInvoice.reportNumber}"
                     ,"projName":"${workInvoice.projectName}"
                     ,"clientName":"${workInvoice.client.name}"
                     ,"officeName":"${workInvoice.office.name}"

+ 0 - 3
src/main/webapp/webpage/modules/workinvoice/workInvoiceTwoList.jsp

@@ -855,10 +855,7 @@
                     ,"chargeType":"${fns:getMainDictLabels(workInvoice.chargeType,',','receipt_type', '')}"
                     ,"billingContent":"${fns:getMainDictLabels(workInvoice.billingContent,',','billing_content', '')}"
                     ,"invoiceType":"${workInvoice.invoiceTypeStr}"
-                    ,"projNum":"${workInvoice.project.projectId}"
                     ,"projectId":"${workInvoice.project.id}"
-                    ,"areaName":"${workInvoice.project.county}"
-                    ,"reportNumber":"${workInvoice.reportNumber}"
                     ,"projName":"${workInvoice.projectName}"
                     ,"clientName":"${workInvoice.client.name}"
                     ,"officeName":"${workInvoice.office.name}"