瀏覽代碼

报告签章流程修改,添加苏州质控角色和人员以及苏州套打角色和人员等功能

user5 3 年之前
父節點
當前提交
81a070b06a
共有 18 個文件被更改,包括 1372 次插入6579 次删除
  1. 1 0
      src/main/java/com/jeeplus/common/utils/MenuStatusEnum.java
  2. 84 68
      src/main/java/com/jeeplus/common/utils/excel/ImportExcelNew.java
  3. 29 1
      src/main/java/com/jeeplus/modules/ruralprojectrecords/entity/ProjectReportSignatureInfo.java
  4. 1 1
      src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageAllService.java
  5. 139 39
      src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageElectronicSealService.java
  6. 10 10
      src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageService.java
  7. 12 1
      src/main/java/com/jeeplus/modules/ruralprojectrecords/web/RuralProjectMessageElectronicSealController.java
  8. 3 1
      src/main/java/com/jeeplus/modules/tools/utils/SignaturePostUtil.java
  9. 7 4
      src/main/java/com/jeeplus/modules/workprojectnotify/web/WorkProjectNotifyController.java
  10. 397 6412
      src/main/resources/freemarker/projectSignature.ftl
  11. 12 3
      src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectMessageElectronicSealDao.xml
  12. 二進制
      src/main/webapp/dot/签章导入数据模板.xlsx
  13. 20 10
      src/main/webapp/static/oss/ossupload.js
  14. 2 2
      src/main/webapp/webpage/include/head.jsp
  15. 2 2
      src/main/webapp/webpage/modules/ruralprojectrecords/electronicSeal/ruralProjectRecordsReportSignatureForm.jsp
  16. 623 0
      src/main/webapp/webpage/modules/ruralprojectrecords/electronicSeal/ruralProjectRecordsReportSignatureSzzkAudit.jsp
  17. 4 1
      src/main/webapp/webpage/modules/ruralprojectrecords/electronicSeal/ruralProjectRecordsReportSignatureView.jsp
  18. 26 24
      src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/electronicSeal/ruralProjectMessageElectronicSealList.jsp

+ 1 - 0
src/main/java/com/jeeplus/common/utils/MenuStatusEnum.java

@@ -36,6 +36,7 @@ public enum MenuStatusEnum {
     OVERALL_COST_WORK_RECORDS("20ce4621fb7d4831adc95cb83cbba756","全过程-造价审核-项目登记"),
     OVERALL_WORK_RECORD_LIST("95f8a1999204460b9a78d1d20b85a0fb","全过程-工程咨询-项目列表"),
     OVERALL_COST_WORK_RECORD_LIST("bac3717361294087887c9af75066e32a","全过程-造价审核-项目列表"),
+    PROJECT_SIGNATURE("607c95d190dd4158bee3006899de3867","全过程-电子签章"),
     WORK_INVOICEDETAIL("84312d6a28e948b8b7b68185cf8d4d72","发票明细"),
     WORK_INVOICEALTER("89323021918e444bae3537521046d19f","开票管理"),
     WORK_CONTRACT_INFO("b9309305d94f4ee8b66eebbcae9f2db4","合同登记"),

+ 84 - 68
src/main/java/com/jeeplus/common/utils/excel/ImportExcelNew.java

@@ -197,37 +197,37 @@ public class ImportExcelNew {
 					if(sheet.getRow(10).getCell(i) != null) {
 						projectReportSignatureInfo.setPrintQuantity(sheet.getRow(10).getCell(i).toString());
 					}
-					if(sheet.getRow(11).getCell(i) != null) {
+					/*if(sheet.getRow(11).getCell(i) != null) {
 						if(sheet.getRow(11).getCell(i).getCellType()==0) {
 							if (HSSFDateUtil.isCellDateFormatted(sheet.getRow(11).getCell(i))) {
 								projectReportSignatureInfo.setReportPreparationDate(sheet.getRow(11).getCell(i).getDateCellValue());
 							}
 						}
+					}*/
+					if(sheet.getRow(11).getCell(i) != null) {
+						if(sheet.getRow(11).getCell(i).getCellType()==0) {
+							if (HSSFDateUtil.isCellDateFormatted(sheet.getRow(11).getCell(i))) {
+								projectReportSignatureInfo.setAgreedStartDate(sheet.getRow(11).getCell(i).getDateCellValue());
+							}
+						}
 					}
 					if(sheet.getRow(12).getCell(i) != null) {
 						if(sheet.getRow(12).getCell(i).getCellType()==0) {
 							if (HSSFDateUtil.isCellDateFormatted(sheet.getRow(12).getCell(i))) {
-								projectReportSignatureInfo.setAgreedStartDate(sheet.getRow(12).getCell(i).getDateCellValue());
+								projectReportSignatureInfo.setAgreedEndDate(sheet.getRow(12).getCell(i).getDateCellValue());
 							}
 						}
 					}
 					if(sheet.getRow(13).getCell(i) != null) {
-						if(sheet.getRow(13).getCell(i).getCellType()==0) {
-							if (HSSFDateUtil.isCellDateFormatted(sheet.getRow(13).getCell(i))) {
-								projectReportSignatureInfo.setAgreedEndDate(sheet.getRow(13).getCell(i).getDateCellValue());
-							}
-						}
+						projectReportSignatureInfo.setConsultant(sheet.getRow(13).getCell(i).toString());
 					}
 					if(sheet.getRow(14).getCell(i) != null) {
-						projectReportSignatureInfo.setConsultant(sheet.getRow(14).getCell(i).toString());
+						projectReportSignatureInfo.setSelfCalibrationOpinion(sheet.getRow(14).getCell(i).toString());
 					}
 					if(sheet.getRow(15).getCell(i) != null) {
-						projectReportSignatureInfo.setSelfCalibrationOpinion(sheet.getRow(15).getCell(i).toString());
-					}
-					if(sheet.getRow(16).getCell(i) != null) {
-						projectReportSignatureInfo.setReviewOpinion(sheet.getRow(16).getCell(i).toString());
+						projectReportSignatureInfo.setReviewOpinion(sheet.getRow(15).getCell(i).toString());
 					}
-					if(sheet.getRow(17).getCell(i) != null) {
+					/*if(sheet.getRow(17).getCell(i) != null) {
 						if(sheet.getRow(17).getCell(i).getCellType()==0) {
 							if (HSSFDateUtil.isCellDateFormatted(sheet.getRow(17).getCell(i))) {
 								projectReportSignatureInfo.setReviewDate(sheet.getRow(17).getCell(i).getDateCellValue());
@@ -261,116 +261,132 @@ public class ImportExcelNew {
 								projectReportSignatureInfo.setStartAuditDate(sheet.getRow(21).getCell(i).getDateCellValue());
 							}
 						}
+					}*/
+					if(sheet.getRow(16).getCell(i) != null) {
+						projectReportSignatureInfo.setProjectScaleContentScope(sheet.getRow(16).getCell(i).toString());
 					}
-					if(sheet.getRow(22).getCell(i) != null) {
-						projectReportSignatureInfo.setProjectScaleContentScope(sheet.getRow(22).getCell(i).toString());
-					}
-					if(sheet.getRow(23).getCell(i) != null) {
-						projectReportSignatureInfo.setMainContentsOfProject(sheet.getRow(23).getCell(i).toString());
+					if(sheet.getRow(17).getCell(i) != null) {
+						projectReportSignatureInfo.setMainContentsOfProject(sheet.getRow(17).getCell(i).toString());
 					}
-					if(sheet.getRow(24).getCell(i) != null) {
-						projectReportSignatureInfo.setTotalContractPrice(sheet.getRow(24).getCell(i).toString());
+					if(sheet.getRow(18).getCell(i) != null) {
+						projectReportSignatureInfo.setTotalContractPrice(sheet.getRow(18).getCell(i).toString());
 					}
-					if(sheet.getRow(25).getCell(i) != null) {
-						if(sheet.getRow(25).getCell(i).getCellType()==0) {
-							if (HSSFDateUtil.isCellDateFormatted(sheet.getRow(25).getCell(i))) {
-								projectReportSignatureInfo.setContractStartDate(sheet.getRow(25).getCell(i).getDateCellValue());
+					if(sheet.getRow(19).getCell(i) != null) {
+						if(sheet.getRow(19).getCell(i).getCellType()==0) {
+							if (HSSFDateUtil.isCellDateFormatted(sheet.getRow(19).getCell(i))) {
+								projectReportSignatureInfo.setContractStartDate(sheet.getRow(19).getCell(i).getDateCellValue());
 							}
 						}
 					}
-					if(sheet.getRow(26).getCell(i) != null) {
-						if(sheet.getRow(26).getCell(i).getCellType()==0) {
-							if (HSSFDateUtil.isCellDateFormatted(sheet.getRow(26).getCell(i))) {
-								projectReportSignatureInfo.setContractEndDate(sheet.getRow(26).getCell(i).getDateCellValue());
+					if(sheet.getRow(20).getCell(i) != null) {
+						if(sheet.getRow(20).getCell(i).getCellType()==0) {
+							if (HSSFDateUtil.isCellDateFormatted(sheet.getRow(20).getCell(i))) {
+								projectReportSignatureInfo.setContractEndDate(sheet.getRow(20).getCell(i).getDateCellValue());
 							}
 						}
 					}
-					if(sheet.getRow(27).getCell(i) != null) {
-						if(sheet.getRow(27).getCell(i).getCellType()==0) {
-							if (HSSFDateUtil.isCellDateFormatted(sheet.getRow(27).getCell(i))) {
-								projectReportSignatureInfo.setActualStartDate(sheet.getRow(27).getCell(i).getDateCellValue());
+					if(sheet.getRow(21).getCell(i) != null) {
+						if(sheet.getRow(21).getCell(i).getCellType()==0) {
+							if (HSSFDateUtil.isCellDateFormatted(sheet.getRow(21).getCell(i))) {
+								projectReportSignatureInfo.setActualStartDate(sheet.getRow(21).getCell(i).getDateCellValue());
 							}
 						}
 					}
-					if(sheet.getRow(28).getCell(i) != null) {
-						if(sheet.getRow(28).getCell(i).getCellType()==0) {
-							if (HSSFDateUtil.isCellDateFormatted(sheet.getRow(28).getCell(i))) {
-								projectReportSignatureInfo.setActualEndDate(sheet.getRow(28).getCell(i).getDateCellValue());
+					if(sheet.getRow(22).getCell(i) != null) {
+						if(sheet.getRow(22).getCell(i).getCellType()==0) {
+							if (HSSFDateUtil.isCellDateFormatted(sheet.getRow(22).getCell(i))) {
+								projectReportSignatureInfo.setActualEndDate(sheet.getRow(22).getCell(i).getDateCellValue());
 							}
 						}
 					}
-					if(sheet.getRow(29).getCell(i) != null) {
-						if(sheet.getRow(29).getCell(i).getCellType()==0) {
-							if (HSSFDateUtil.isCellDateFormatted(sheet.getRow(29).getCell(i))) {
-								projectReportSignatureInfo.setCompletionAcceptanceDate(sheet.getRow(29).getCell(i).getDateCellValue());
+					if(sheet.getRow(23).getCell(i) != null) {
+						if(sheet.getRow(23).getCell(i).getCellType()==0) {
+							if (HSSFDateUtil.isCellDateFormatted(sheet.getRow(23).getCell(i))) {
+								projectReportSignatureInfo.setCompletionAcceptanceDate(sheet.getRow(23).getCell(i).getDateCellValue());
 							}
 						}
 					}
+					if(sheet.getRow(24).getCell(i) != null) {
+						projectReportSignatureInfo.setDesignUnit(sheet.getRow(24).getCell(i).toString());
+					}
+					if(sheet.getRow(25).getCell(i) != null) {
+						projectReportSignatureInfo.setConstructionControlUnit(sheet.getRow(25).getCell(i).toString());
+					}
+					if(sheet.getRow(26).getCell(i) != null) {
+						projectReportSignatureInfo.setFollowUpAuditUnit(sheet.getRow(26).getCell(i).toString());
+					}
+
+					if(sheet.getRow(27).getCell(i) != null) {
+						projectReportSignatureInfo.setContractName(sheet.getRow(27).getCell(i).toString());
+					}
+					if(sheet.getRow(28).getCell(i) != null) {
+						projectReportSignatureInfo.setContractDetails(sheet.getRow(28).getCell(i).toString());
+					}
+					if(sheet.getRow(29).getCell(i) != null) {
+						projectReportSignatureInfo.setContractDate(sheet.getRow(29).getCell(i).toString());
+					}
+
+
+
 					if(sheet.getRow(30).getCell(i) != null) {
-						projectReportSignatureInfo.setDesignUnit(sheet.getRow(30).getCell(i).toString());
+						projectReportSignatureInfo.setEngineeringDesignChangeOrder(sheet.getRow(30).getCell(i).toString());
 					}
 					if(sheet.getRow(31).getCell(i) != null) {
-						projectReportSignatureInfo.setConstructionControlUnit(sheet.getRow(31).getCell(i).toString());
+						projectReportSignatureInfo.setConfirmationSheetOfQuantities(sheet.getRow(31).getCell(i).toString());
 					}
 					if(sheet.getRow(32).getCell(i) != null) {
-						projectReportSignatureInfo.setFollowUpAuditUnit(sheet.getRow(32).getCell(i).toString());
+						projectReportSignatureInfo.setProjectVisa(sheet.getRow(32).getCell(i).toString());
 					}
+
 					if(sheet.getRow(33).getCell(i) != null) {
-						projectReportSignatureInfo.setEngineeringDesignChangeOrder(sheet.getRow(33).getCell(i).toString());
+						projectReportSignatureInfo.setQualityPriceConfirmationOfEngineeringMaterials(sheet.getRow(33).getCell(i).toString());
 					}
 					if(sheet.getRow(34).getCell(i) != null) {
-						projectReportSignatureInfo.setConfirmationSheetOfQuantities(sheet.getRow(34).getCell(i).toString());
+						projectReportSignatureInfo.setListmaterialsEquipmentByA(sheet.getRow(34).getCell(i).toString());
 					}
 					if(sheet.getRow(35).getCell(i) != null) {
-						projectReportSignatureInfo.setProjectVisa(sheet.getRow(35).getCell(i).toString());
+						projectReportSignatureInfo.setProjectRewardAndDamages(sheet.getRow(35).getCell(i).toString());
 					}
+
+
 					if(sheet.getRow(36).getCell(i) != null) {
-						projectReportSignatureInfo.setQualityPriceConfirmationOfEngineeringMaterials(sheet.getRow(36).getCell(i).toString());
+						projectReportSignatureInfo.setCharge(sheet.getRow(36).getCell(i).toString());
 					}
 					if(sheet.getRow(37).getCell(i) != null) {
-						projectReportSignatureInfo.setListmaterialsEquipmentByA(sheet.getRow(37).getCell(i).toString());
+						projectReportSignatureInfo.setTaxes(sheet.getRow(37).getCell(i).toString());
 					}
 					if(sheet.getRow(38).getCell(i) != null) {
-						projectReportSignatureInfo.setProjectRewardAndDamages(sheet.getRow(38).getCell(i).toString());
+						projectReportSignatureInfo.setDurationDifferenceCausesAndResponsibilities(sheet.getRow(38).getCell(i).toString());
 					}
 					if(sheet.getRow(39).getCell(i) != null) {
-						projectReportSignatureInfo.setCharge(sheet.getRow(39).getCell(i).toString());
+						projectReportSignatureInfo.setQualityDifferenceCausesAndResponsibilities(sheet.getRow(39).getCell(i).toString());
 					}
 					if(sheet.getRow(40).getCell(i) != null) {
-						projectReportSignatureInfo.setTaxes(sheet.getRow(40).getCell(i).toString());
+						projectReportSignatureInfo.setOtherContentsAndExpenses(sheet.getRow(40).getCell(i).toString());
 					}
 					if(sheet.getRow(41).getCell(i) != null) {
-						projectReportSignatureInfo.setDurationDifferenceCausesAndResponsibilities(sheet.getRow(41).getCell(i).toString());
+						projectReportSignatureInfo.setProjectCostConsultingContract(sheet.getRow(41).getCell(i).toString());
 					}
 					if(sheet.getRow(42).getCell(i) != null) {
-						projectReportSignatureInfo.setQualityDifferenceCausesAndResponsibilities(sheet.getRow(42).getCell(i).toString());
+						projectReportSignatureInfo.setSettlementPricingBasisDocument(sheet.getRow(42).getCell(i).toString());
 					}
 					if(sheet.getRow(43).getCell(i) != null) {
-						projectReportSignatureInfo.setOtherContentsAndExpenses(sheet.getRow(43).getCell(i).toString());
+						projectReportSignatureInfo.setMaterialsAndEquipmentByA(sheet.getRow(43).getCell(i).toString());
 					}
 					if(sheet.getRow(44).getCell(i) != null) {
-						projectReportSignatureInfo.setProjectCostConsultingContract(sheet.getRow(44).getCell(i).toString());
+						projectReportSignatureInfo.setaMaterialsByB(sheet.getRow(44).getCell(i).toString());
 					}
 					if(sheet.getRow(45).getCell(i) != null) {
-						projectReportSignatureInfo.setSettlementPricingBasisDocument(sheet.getRow(45).getCell(i).toString());
+						projectReportSignatureInfo.setRewardAndPunishmentFees(sheet.getRow(45).getCell(i).toString());
 					}
 					if(sheet.getRow(46).getCell(i) != null) {
-						projectReportSignatureInfo.setMaterialsAndEquipmentByA(sheet.getRow(46).getCell(i).toString());
+						projectReportSignatureInfo.setWaterAndElectricityFeesHandleSituation(sheet.getRow(46).getCell(i).toString());
 					}
 					if(sheet.getRow(47).getCell(i) != null) {
-						projectReportSignatureInfo.setaMaterialsByB(sheet.getRow(47).getCell(i).toString());
+						projectReportSignatureInfo.setConstructionQualityWarrantyDeposit(sheet.getRow(47).getCell(i).toString());
 					}
 					if(sheet.getRow(48).getCell(i) != null) {
-						projectReportSignatureInfo.setRewardAndPunishmentFees(sheet.getRow(48).getCell(i).toString());
-					}
-					if(sheet.getRow(49).getCell(i) != null) {
-						projectReportSignatureInfo.setWaterAndElectricityFeesHandleSituation(sheet.getRow(49).getCell(i).toString());
-					}
-					if(sheet.getRow(50).getCell(i) != null) {
-						projectReportSignatureInfo.setConstructionQualityWarrantyDeposit(sheet.getRow(50).getCell(i).toString());
-					}
-					if(sheet.getRow(51).getCell(i) != null) {
-						projectReportSignatureInfo.setTaxDifferenceCalculationAndProcessing(sheet.getRow(51).getCell(i).toString());
+						projectReportSignatureInfo.setTaxDifferenceCalculationAndProcessing(sheet.getRow(48).getCell(i).toString());
 					}
 					projectReportSignatureInfo.preInsert();
                     list.add(projectReportSignatureInfo);

+ 29 - 1
src/main/java/com/jeeplus/modules/ruralprojectrecords/entity/ProjectReportSignatureInfo.java

@@ -71,6 +71,10 @@ public class ProjectReportSignatureInfo extends ActEntity<ProjectReportSignature
 	private String constructionQualityWarrantyDeposit;//工程质量保修金处理情况
 	private String taxDifferenceCalculationAndProcessing;//税金差额计算处理
 
+	private String contractName;//施工合同名称
+	private String contractDetails;//施工合同内容
+	private String contractDate;//施工合同时间
+
 	public String getProjectReportId() {
 		return projectReportId;
 	}
@@ -486,4 +490,28 @@ public class ProjectReportSignatureInfo extends ActEntity<ProjectReportSignature
 	public void setTaxDifferenceCalculationAndProcessing(String taxDifferenceCalculationAndProcessing) {
 		this.taxDifferenceCalculationAndProcessing = taxDifferenceCalculationAndProcessing;
 	}
-}
+
+	public String getContractName() {
+		return contractName;
+	}
+
+	public void setContractName(String contractName) {
+		this.contractName = contractName;
+	}
+
+	public String getContractDetails() {
+		return contractDetails;
+	}
+
+	public void setContractDetails(String contractDetails) {
+		this.contractDetails = contractDetails;
+	}
+
+	public String getContractDate() {
+		return contractDate;
+	}
+
+	public void setContractDate(String contractDate) {
+		this.contractDate = contractDate;
+	}
+}

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

@@ -1109,7 +1109,7 @@ public class RuralProjectMessageAllService extends CrudService<RuralProjectMessa
     public Page<RuralProjectRecords> findSignaturePage(Page<RuralProjectRecords> page, RuralProjectRecords projectRecords) {
         //设置数据权限
         if(!UserUtils.getUser().isAdmin()) {
-            String dataScopeSql = dataScopeFilterOR(projectRecords.getCurrentUser(), "o", "u", "s", MenuStatusEnum.OVERALL_WORK_RECORD_LIST.getValue());
+            String dataScopeSql = dataScopeFilterOR(projectRecords.getCurrentUser(), "o", "u", "s", MenuStatusEnum.PROJECT_SIGNATURE.getValue());
             projectRecords.getSqlMap().put("dsf", dataScopeSql);
         }
         //查询超期时间天数

+ 139 - 39
src/main/java/com/jeeplus/modules/ruralprojectrecords/service/RuralProjectMessageElectronicSealService.java

@@ -62,6 +62,7 @@ import org.springframework.web.multipart.MultipartFile;
 
 import java.io.File;
 import java.math.BigDecimal;
+import java.text.DecimalFormat;
 import java.text.SimpleDateFormat;
 import java.util.*;
 
@@ -522,6 +523,9 @@ public class RuralProjectMessageElectronicSealService extends CrudService<RuralP
                                 }
                                 //获取真签单的documentId
                                 String documentId = SignaturePostUtil.getDocument(srcFile);
+                                if("".equals(documentId)){
+                                    return "签章文件创建失败";
+                                }
                                 //获取竖版假(空白)签单的documentId
                                 String verticalInvalidDocumentId = SignaturePostUtil.getVerticalInvalidDocument(verticalInvalidFile.getName(),verticalInvalidFile);
                                 if("".equals(verticalInvalidDocumentId)){
@@ -638,6 +642,24 @@ public class RuralProjectMessageElectronicSealService extends CrudService<RuralP
                                         "0",
                                         "待通知",
                                         notifyRole));
+
+                //给苏州质控中的人员发送通知
+                List<User> sztdzys = UserUtils.getByRoleActivityEnname("sztdzy",3,office.getId(),"4",projectApprovalSignature.getCreateBy());
+                for (User sztdzy: sztdzys) {
+                    if(StringUtils.isNotBlank(sztdzy.getId())){
+                        workProjectNotifyService
+                                .save(UtilNotify
+                                        .saveNotify(projectApprovalSignature.getId(),
+                                                sztdzy,
+                                                projectApprovalSignature.getCompany().getId(),
+                                                title,
+                                                content,
+                                                "144",
+                                                "0",
+                                                "待通知",
+                                                notifyRole));
+                    }
+                }
             } else {
                 WorkProjectNotify notify = new WorkProjectNotify();
                 notify.setNotifyId(projectApprovalSignature.getId());
@@ -905,6 +927,7 @@ public class RuralProjectMessageElectronicSealService extends CrudService<RuralP
                     );
 
             List<User> users = new ArrayList<>();
+            List<User> szzks = UserUtils.getByRoleActivityEnname("szzk",3,office.getId(),"4",projectApprovalSignature.getCreateBy());
             List<User> bmzrs = UserUtils.getByRoleActivityEnname("bmzr",2,office.getId(),"4",projectApprovalSignature.getCreateBy());
 
             if (StringUtils.isNotBlank(workActivityMenu.getId())) {
@@ -943,21 +966,21 @@ public class RuralProjectMessageElectronicSealService extends CrudService<RuralP
                 }
                 workProjectNotify.setId("");
             } else {
-                if (bmzrs==null||bmzrs.size()==0){
+                if (szzks==null||szzks.size()==0){
                     throw new Exception("流程审批人不能为空,角色部门负责人下无用户,请联系管理员!");
                 }
                 processType = "reportSignature";
                 variables.put("applyUserId", projectApprovalSignature.getCreateBy().getId());
-                variables.put("bmzrCount",bmzrs.size());
-                variables.put("bmzrList",bmzrs);
-                users.addAll(bmzrs);
+                variables.put("szzkCount",szzks.size());
+                variables.put("szzkList",szzks);
+                users.addAll(szzks);
             }
             List<String> userIds = new ArrayList<>(users.size());
             for (User u : users){
                 userIds.add(u.getId());
                 workProjectNotify.setUser(u);
                 workProjectNotify.setId("");
-                workProjectNotify.setNotifyRole("部门负责人审批");
+                workProjectNotify.setNotifyRole("苏州质控人员审批");
                 workProjectNotifyService.save(workProjectNotify);
                 Map<String,Object> extras = new HashMap<>();
                 extras.put("type","7003");
@@ -988,8 +1011,11 @@ public class RuralProjectMessageElectronicSealService extends CrudService<RuralP
                 workActivityProcess.setCount(1);
                 workActivityProcess.setProcessInstanceId(processInstance.getId());
                 workActivityProcess.setIsApproval("0");
-                workActivityProcessService.save(workActivityProcess);
-                workActivityProcessService.insertAuditsByType(bmzrs,processInstance.getId(),1,1);
+                workActivityProcessService.insert(workActivityProcess);
+                workActivityProcess.setCount(2);
+                workActivityProcessService.insert(workActivityProcess);
+                workActivityProcessService.insertAuditsByType(szzks,processInstance.getId(),1,1);
+                workActivityProcessService.insertAuditsByType(bmzrs,processInstance.getId(),2,0);
             }
             projectApprovalSignature.setProcessInstanceId(processInstance.getId());
             projectApprovalSignature.setStatus(ProjectStatusEnum.IN_APRL.getValue());
@@ -1116,7 +1142,26 @@ public class RuralProjectMessageElectronicSealService extends CrudService<RuralP
                     workActivityProcess.setId("");
                 }
                 // 审核环节
-                if ("bmzr".equals(taskDefKey) && "1".equals(count)) {
+                if ("szzk".equals(taskDefKey) && count.contains("1")) {
+                    taskCount = count;
+                    if ("yes".equals(projectApprovalSignature.getAct().getFlag())) {
+
+                        notifyRole = "部门主任审批审批";
+                        workActivityProcess.setIsApproval("1");
+                        vars.put("pass", true);
+                        vars.put("passs", true);
+                        enname = "bmzr";
+                        vars.put("bmzrList", auditUsers);
+                        vars.put("bmzrCount",auditUsers.size());
+                    } else {
+                        vars.put("pass", false);
+                        vars.put("passs", false);
+                        user = createUser;
+                        notifyRole = "调整报告";
+                        workActivityProcess.setIsApproval("2");
+                    }
+                    break;
+                } else if ("bmzr".equals(taskDefKey) && count.contains("2")) {
                     taskCount = count;
                     if ("yes".equals(projectApprovalSignature.getAct().getFlag())) {
                         workActivityProcess.setIsApproval("1");
@@ -1228,9 +1273,9 @@ public class RuralProjectMessageElectronicSealService extends CrudService<RuralP
                     }
                     break;
                 } else if ("modifyApply".equals(taskDefKey) && "0".equals(count)) {
-                    notifyRole = "部门负责人审批";
+                    notifyRole = "苏州质控审批";
                     taskCount = "0";
-                    enname = "bmzr";
+                    enname = "szzk";
                     workActivityProcess.setCount(0);
                     if("yes".equals(projectApprovalSignature.getAct().getFlag())){
                         workActivityProcess.setIsApproval("1");
@@ -1288,6 +1333,24 @@ public class RuralProjectMessageElectronicSealService extends CrudService<RuralP
                                         "0",
                                         "待通知",
                                         notifyRole));
+                //给苏州质控中的人员发送通知
+                List<User> szzks = UserUtils.getByRoleActivityEnname("szzk",3,office.getId(),"4",projectApprovalSignature.getCreateBy());
+                for (User szzk: szzks) {
+                    if(StringUtils.isNotBlank(szzk.getId())){
+                        workProjectNotifyService
+                                .save(UtilNotify
+                                        .saveNotify(projectApprovalSignature.getId(),
+                                                szzk,
+                                                projectApprovalSignature.getCompany().getId(),
+                                                title,
+                                                content,
+                                                "145",
+                                                "0",
+                                                "待通知",
+                                                notifyRole));
+                    }
+                }
+
             } else {
                 WorkProjectNotify notify = new WorkProjectNotify();
                 notify.setNotifyId(projectApprovalSignature.getId());
@@ -1362,8 +1425,8 @@ public class RuralProjectMessageElectronicSealService extends CrudService<RuralP
                     workProjectNotifyService.save(workProjectNotify);
                 } else {
                     if (StringUtils.isNotBlank(enname)) {//驳回重新申请待办信息
-                        str = "报告号【"+projectReportData.getNumber()+"】报告签章审批重新登记,待审批,项目编号:"+ruralProjectRecords.getProjectId();
-                        titleStr = "报告号【"+projectReportData.getNumber()+"】报告签章审批重新登记,待审批";
+                        str = "报告号【"+projectReportData.getNumber()+"】报告签章审批,待审批,项目编号:"+ruralProjectRecords.getProjectId();
+                        titleStr = "报告号【"+projectReportData.getNumber()+"】报告签章审批,待审批";
                         WorkProjectNotify notify = new WorkProjectNotify();
                         notify.setNotifyId(projectApprovalSignature.getId());
                         userList = workProjectNotifyService.readByNotifyId(notify);
@@ -1743,10 +1806,10 @@ public class RuralProjectMessageElectronicSealService extends CrudService<RuralP
             data.put("auditOpinion","");
         }
         //复核日期
-        if(null != projectReportSignatureInfo && null != projectReportSignatureInfo.getReviewDate()){
+        if(null != projectReportSignatureInfo && null != projectReportSignatureInfo.getAgreedEndDate()){
 
-            data.put("ziDate",dateStr(projectReportSignatureInfo.getReviewDate()));
-            data.put("shenDate",dateStr(projectReportSignatureInfo.getReviewDate()));
+            data.put("ziDate",dateStr(projectReportSignatureInfo.getAgreedEndDate()));
+            data.put("shenDate",dateStr(projectReportSignatureInfo.getAgreedEndDate()));
         }else{
             data.put("ziDate","");
             data.put("shenDate","");
@@ -1787,17 +1850,17 @@ public class RuralProjectMessageElectronicSealService extends CrudService<RuralP
             }
         }
         //咨询报告日期
-        if(null != projectReportSignatureInfo && null != projectReportSignatureInfo.getDateOfConsultationReport()){
-            data.put("projectReportDate",dateStr(projectReportSignatureInfo.getDateOfConsultationReport()));
+        if(null != projectReportSignatureInfo && null != projectReportSignatureInfo.getStampDate()){
+            data.put("projectReportDate",dateStr(projectReportSignatureInfo.getStampDate()));
         }else{
             data.put("projectReportDate","");
         }
 
         //咨询作业期处理
         data.put("consultOperationalPeriod","");
-        if(null != projectReportSignatureInfo && null!= projectReportSignatureInfo.getStartDateOfConsultingOperation() && null != projectReportSignatureInfo.getEndDateOfConsultation()){
-            String startDateStr = dateStr(projectReportSignatureInfo.getStartDateOfConsultingOperation());
-            String endingDateStr = dateStr(projectReportSignatureInfo.getEndDateOfConsultation());
+        if(null != projectReportSignatureInfo && null!= projectReportSignatureInfo.getAgreedStartDate() && null != projectReportSignatureInfo.getAgreedEndDate()){
+            String startDateStr = dateStr(projectReportSignatureInfo.getAgreedStartDate());
+            String endingDateStr = dateStr(projectReportSignatureInfo.getAgreedEndDate());
             data.put("consultOperationalPeriod",startDateStr + "至" + endingDateStr);
         }else{
             data.put("consultOperationalPeriod","");
@@ -1823,14 +1886,19 @@ public class RuralProjectMessageElectronicSealService extends CrudService<RuralP
             data.put("constructionOrganization","");
         }
         //合同签订日期
-        if(null != ruralProjectRecords.getWorkContractInfo() && null != ruralProjectRecords.getWorkContractInfo().getContractDate()){
-            data.put("contractSignedDate",dateStr(ruralProjectRecords.getWorkContractInfo().getContractDate()));
+        if(null != projectReportSignatureInfo && null != projectReportSignatureInfo.getContractDate()){
+            data.put("contractSignedDate",projectReportSignatureInfo.getContractDate());
         }else{
             data.put("contractSignedDate","");
         }
         //合同总价
         if(null != projectReportSignatureInfo && StringUtils.isNotBlank(projectReportSignatureInfo.getTotalContractPrice())){
-            data.put("contractAllMoney",projectReportSignatureInfo.getTotalContractPrice());
+            // 四舍五入
+            BigDecimal value = new BigDecimal(projectReportSignatureInfo.getTotalContractPrice()).setScale(2,BigDecimal.ROUND_HALF_UP);
+            // 不足两位小数补0
+            DecimalFormat decimalFormat = new DecimalFormat("0.00#");
+            String strVal = decimalFormat.format(value);
+            data.put("contractAllMoney",strVal);
         }else{
             data.put("contractAllMoney","");
         }
@@ -1974,19 +2042,34 @@ public class RuralProjectMessageElectronicSealService extends CrudService<RuralP
         }
         //合同金额
         if(null != projectReportSignatureInfo && StringUtils.isNotBlank(projectReportSignatureInfo.getTotalContractPrice())){
-            data.put("contractMoney",projectReportSignatureInfo.getTotalContractPrice());
+            // 四舍五入
+            BigDecimal value = new BigDecimal(projectReportSignatureInfo.getTotalContractPrice()).setScale(2,BigDecimal.ROUND_HALF_UP);
+            // 不足两位小数补0
+            DecimalFormat decimalFormat = new DecimalFormat("0.00#");
+            String strVal = decimalFormat.format(value);
+            data.put("contractMoney",strVal);
         }else{
             data.put("contractMoney","");
         }
         //送审金额
         if(null != projectReportSignatureInfo && StringUtils.isNotBlank(projectReportSignatureInfo.getSubmitFee())){
-            data.put("submitFee",projectReportSignatureInfo.getSubmitFee());
+            // 四舍五入
+            BigDecimal value = new BigDecimal(projectReportSignatureInfo.getSubmitFee()).setScale(2,BigDecimal.ROUND_HALF_UP);
+            // 不足两位小数补0
+            DecimalFormat decimalFormat = new DecimalFormat("0.00#");
+            String strVal = decimalFormat.format(value);
+            data.put("submitFee",strVal);
         }else{
             data.put("submitFee","");
         }
         //审定金额
         if(null != projectReportSignatureInfo && StringUtils.isNotBlank(projectReportSignatureInfo.getAuthorizeFee())){
-            data.put("examineAndApproveFee",projectReportSignatureInfo.getAuthorizeFee());
+            // 四舍五入
+            BigDecimal value = new BigDecimal(projectReportSignatureInfo.getAuthorizeFee()).setScale(2,BigDecimal.ROUND_HALF_UP);
+            // 不足两位小数补0
+            DecimalFormat decimalFormat = new DecimalFormat("0.00#");
+            String strVal = decimalFormat.format(value);
+            data.put("examineAndApproveFee",strVal);
         }else{
             data.put("examineAndApproveFee","");
         }
@@ -1995,7 +2078,12 @@ public class RuralProjectMessageElectronicSealService extends CrudService<RuralP
             BigDecimal submitFee=new BigDecimal(projectReportSignatureInfo.getSubmitFee());
             BigDecimal authorizeFee=new BigDecimal(projectReportSignatureInfo.getAuthorizeFee());
             BigDecimal subtract = submitFee.subtract(authorizeFee);
-            data.put("decreaseAccountingFee",subtract.toString());
+            // 四舍五入
+            BigDecimal value = subtract.setScale(2,BigDecimal.ROUND_HALF_UP);
+            // 不足两位小数补0
+            DecimalFormat decimalFormat = new DecimalFormat("0.00#");
+            String strVal = decimalFormat.format(value);
+            data.put("decreaseAccountingFee",strVal);
         }else{
             data.put("decreaseAccountingFee","");
         }
@@ -2013,13 +2101,23 @@ public class RuralProjectMessageElectronicSealService extends CrudService<RuralP
         }
         //考核费
         if(null != projectReportSignatureInfo && StringUtils.isNotBlank(projectReportSignatureInfo.getConstructionUnitAssessmentFee())){
-            data.put("inspectionFee",projectReportSignatureInfo.getConstructionUnitAssessmentFee());
+            // 四舍五入
+            BigDecimal value = new BigDecimal(projectReportSignatureInfo.getConstructionUnitAssessmentFee()).setScale(2,BigDecimal.ROUND_HALF_UP);
+            // 不足两位小数补0
+            DecimalFormat decimalFormat = new DecimalFormat("0.00#");
+            String strVal = decimalFormat.format(value);
+            data.put("inspectionFee",strVal);
         }else{
             data.put("inspectionFee","");
         }
         //考核后审定金额
         if(null != projectReportSignatureInfo && StringUtils.isNotBlank(projectReportSignatureInfo.getAuthorizeFeeDeductAssessmentFee())){
-            data.put("examineAndApproveInspectionFee",projectReportSignatureInfo.getAuthorizeFeeDeductAssessmentFee());
+            // 四舍五入
+            BigDecimal value = new BigDecimal(projectReportSignatureInfo.getAuthorizeFeeDeductAssessmentFee()).setScale(2,BigDecimal.ROUND_HALF_UP);
+            // 不足两位小数补0
+            DecimalFormat decimalFormat = new DecimalFormat("0.00#");
+            String strVal = decimalFormat.format(value);
+            data.put("examineAndApproveInspectionFee",strVal);
         }else{
             data.put("examineAndApproveInspectionFee","");
         }
@@ -2028,15 +2126,15 @@ public class RuralProjectMessageElectronicSealService extends CrudService<RuralP
                 ruralProjectRecords.getWorkContractInfo().setContractType(DictUtils.getMainDictLabel(String.valueOf(ruralProjectRecords.getWorkContractInfo().getContractTypeDoc()),"contract_info_type",""));
             }
         }
-        //合同金额类别
-        if(null != ruralProjectRecords.getWorkContractInfo() && null != ruralProjectRecords.getWorkContractInfo().getContractType()){
-            data.put("contractType",ruralProjectRecords.getWorkContractInfo().getContractType());
+        //施工合同内容
+        if(null != projectReportSignatureInfo && null != projectReportSignatureInfo.getContractDetails()){
+            data.put("contractType",projectReportSignatureInfo.getContractDetails());
         }else{
             data.put("contractType","");
         }
         //合同名称
-        if(null != ruralProjectRecords.getWorkContractInfo() && null != ruralProjectRecords.getWorkContractInfo().getName()){
-            data.put("contractName",ruralProjectRecords.getWorkContractInfo().getName());
+        if(null != projectReportSignatureInfo && null != projectReportSignatureInfo.getContractName()){
+            data.put("contractName",projectReportSignatureInfo.getContractName());
         }else{
             data.put("contractName","");
         }
@@ -2102,19 +2200,21 @@ public class RuralProjectMessageElectronicSealService extends CrudService<RuralP
         }
         //打印数量
         if(null != projectReportSignatureInfo && StringUtils.isNotBlank(projectReportSignatureInfo.getPrintQuantity())){
-            data.put("printCount",projectReportSignatureInfo.getPrintQuantity());
+            Double printQuantityDouble = Double.parseDouble(projectReportSignatureInfo.getPrintQuantity());
+            Integer printQuantityInteger = printQuantityDouble.intValue();
+            data.put("printCount",printQuantityInteger);
         }else{
             data.put("printCount","");
         }
         //报告编制日期
-        if(null != projectReportSignatureInfo && null != projectReportSignatureInfo.getReportPreparationDate()){
-            data.put("reportStaffingDate",dateStr(projectReportSignatureInfo.getReportPreparationDate()));
+        if(null != projectReportSignatureInfo && null != projectReportSignatureInfo.getStampDate()){
+            data.put("reportStaffingDate",dateStr(projectReportSignatureInfo.getStampDate()));
         }else{
             data.put("reportStaffingDate","");
         }
         //开始审核日期
-        if(null != projectReportSignatureInfo && null != projectReportSignatureInfo.getStartAuditDate()){
-            data.put("auditBeginDate",dateStr(projectReportSignatureInfo.getStartAuditDate()));
+        if(null != projectReportSignatureInfo && null != projectReportSignatureInfo.getAgreedStartDate()){
+            data.put("auditBeginDate",dateStr(projectReportSignatureInfo.getAgreedStartDate()));
         }else{
             data.put("auditBeginDate","");
         }

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

@@ -4207,8 +4207,8 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
                     principalLocation.setDocumentId(documentList.get(0));
                     //principalLocation.setPage(0);
                     principalLocation.setRectType("SEAL_CORPORATE");
-                    principalLocation.setKeyword("项目负责人");
-                    principalLocation.setKeywordIndex(3);
+                    principalLocation.setKeyword("项目负责人");
+                    principalLocation.setKeywordIndex(1);
                     /*principalLocation.setOffsetX(0.7759);
                     principalLocation.setOffsetY(0.1934);*/
                     principalLocations.add(principalLocation);
@@ -4228,7 +4228,7 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
                     principalLocationSign.setDocumentId(documentList.get(0));
                     //principalLocation.setPage(0);
                     principalLocationSign.setRectType("SEAL_CORPORATE");
-                    principalLocationSign.setKeyword("项目负责人署名");
+                    principalLocationSign.setKeyword("项目负责人署名");
                     principalLocationSign.setKeywordIndex(1);
                     /*principalLocation.setOffsetX(0.7759);
                     principalLocation.setOffsetY(0.1934);*/
@@ -4249,7 +4249,7 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
                     principalLocationSignFirst.setDocumentId(documentList.get(0));
                     //principalLocation.setPage(0);
                     principalLocationSignFirst.setRectType("SEAL_CORPORATE");
-                    principalLocationSignFirst.setKeyword("项目负责人签名");
+                    principalLocationSignFirst.setKeyword("造价工程师:");
                     principalLocationSignFirst.setKeywordIndex(1);
                     /*principalLocation.setOffsetX(0.7759);
                     principalLocation.setOffsetY(0.1934);*/
@@ -4261,7 +4261,7 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
         }
 
         //查询咨询员信息
-        if(null != projectReportSignatureInfo && StringUtils.isNotBlank(projectReportSignatureInfo.getConsultant())){
+        /*if(null != projectReportSignatureInfo && StringUtils.isNotBlank(projectReportSignatureInfo.getConsultant())){
             User user = UserUtils.get(projectReportSignatureInfo.getConsultant());
             if(null != user) {
                 //获取成员印章id信息
@@ -4281,14 +4281,14 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
                     principalLocation.setRectType("SEAL_CORPORATE");
                     principalLocation.setKeyword("专业咨询员");
                     principalLocation.setKeywordIndex(2);
-                    /*principalLocation.setOffsetX(0.7759);
-                    principalLocation.setOffsetY(0.1934);*/
+                    *//*principalLocation.setOffsetX(0.7759);
+                    principalLocation.setOffsetY(0.1934);*//*
                     principalLocations.add(principalLocation);
                     actionUser.setLocations(principalLocations);
                     actions.add(actionUser);
                 }
             }
-        }
+        }*/
 
         //总经理
         User technologyPrincipalUser = UserUtils.getByLoginName("陈红星");
@@ -4308,8 +4308,8 @@ public class RuralProjectMessageService extends CrudService<RuralProjectMessageD
                 principalLocation.setDocumentId(documentList.get(0));
                 //principalLocation.setPage(0);
                 principalLocation.setRectType("SEAL_CORPORATE");
-                principalLocation.setKeyword("技术负责人");
-                principalLocation.setKeywordIndex(2);
+                principalLocation.setKeyword("技术负责人");
+                principalLocation.setKeywordIndex(1);
                 /*principalLocation.setOffsetX(0.7518);
                 principalLocation.setOffsetY(0.1642);*/
                 principalLocations.add(principalLocation);

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

@@ -492,7 +492,7 @@ public class RuralProjectMessageElectronicSealController extends BaseController
     }
 
     /**
-     * 保存审定单签章送审信息
+     * 保存报告签章送审信息
      */
     @RequestMapping(value = "reportSignatureSave")
     public String reportSignatureSave(RuralProjectRecords projectRecords, RedirectAttributes redirectAttributes) {
@@ -540,6 +540,17 @@ public class RuralProjectMessageElectronicSealController extends BaseController
                 projectRecords.getAct().setComment("重新申请");
             }
             List<User> users = UserUtils.getByProssType(projectRecords.getProcessInstanceId(),1);
+            if ("szzk".equals(taskDefKey)){
+                users = UserUtils.getByProssType(projectRecords.getProcessInstanceId(),2);
+                if (users==null )
+                    users = UserUtils.getByRoleActivityEnname("bmzr",2,projectRecords.getOffice().getId(),"2",projectRecords.getCreateBy());
+            }else  if ("bmzr".equals(taskDefKey)){
+                users = UserUtils.getByProssType(projectRecords.getProcessInstanceId(),2);
+                if (users==null )
+                    users = UserUtils.getByRoleActivityEnname("bmzr",2,projectRecords.getOffice().getId(),"2",projectRecords.getCreateBy());
+            }else if ("modifyApply".equals(taskDefKey)){
+                users = UserUtils.getByProssType(projectRecords.getProcessInstanceId(),1);
+            }
             String flag = projectRecords.getAct().getFlag();
             if ("yes".equals(flag) && (users==null || users.size()==0)){
                 addMessage(redirectAttributes, "审批失败,审批人为空,请联系管理员!");

+ 3 - 1
src/main/java/com/jeeplus/modules/tools/utils/SignaturePostUtil.java

@@ -1,6 +1,7 @@
 package com.jeeplus.modules.tools.utils;
 
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
 import com.google.gson.Gson;
 import com.google.gson.reflect.TypeToken;
 import com.jeeplus.common.config.Global;
@@ -588,7 +589,8 @@ public class SignaturePostUtil {
         if("0".equals(code)){
             String resultStr = userSealStrMap.get("result").toString();
             //获取成员印章信息列表
-            List <SealUserInfo> userSealList =new Gson().fromJson(resultStr, new TypeToken<List<SealUserInfo>>() {}.getType());
+            List<SealUserInfo> userSealList = (List<SealUserInfo>) JSONArray.parseArray(resultStr, SealUserInfo.class);
+            //ZList <SealUserInfo> userSealList =new Gson().fromJson(resultStr, new TypeToken<List<SealUserInfo>>() {}.getType());
             if(userSealList.size()>0){
                 //如果需要判定得印章名称不为空则进行精确印章处理
                 if(StringUtils.isNotBlank(sealName)){

+ 7 - 4
src/main/java/com/jeeplus/modules/workprojectnotify/web/WorkProjectNotifyController.java

@@ -1341,9 +1341,8 @@ public class WorkProjectNotifyController extends BaseController {
 					}
 				} else if (workProjectNotify.getType().equals("145")) {    //合同管理new
 					RuralProjectRecords ruralProjectRecords = ruralProjectMessageElectronicSealService.getProjectReportSignatureById(workProjectNotify.getNotifyId());
+					ProjectReportSignature projectApprovalSignature = ruralProjectMessageElectronicSealService.getProjectReportSignature(ruralProjectRecords.getId());
 					if (ruralProjectRecords != null && StringUtils.isNotBlank(ruralProjectRecords.getId())) {
-						//根据项目id查询对应的审定单数据状态是否是已经被送审或者 是否存在值
-						ProjectReportSignature projectApprovalSignature = ruralProjectMessageElectronicSealService.getProjectReportSignature(ruralProjectRecords.getId());
 
 						ruralProjectRecordsService.queryProjectDetail(ruralProjectRecords);
 						ProjectPlanInfo projectPlanInfo = new ProjectPlanInfo();
@@ -1382,7 +1381,7 @@ public class WorkProjectNotifyController extends BaseController {
 							break;
 						}
 					}
-
+					Act act = getByAct(projectApprovalSignature.getProcessInstanceId());
 					model.addAttribute("engineeringInfo",engineeringInfos);
 					model.addAttribute("processInstanceId", ruralProjectRecords.getProcessInstanceId());
 					model.addAttribute("projectRecords", ruralProjectRecords);
@@ -1392,7 +1391,11 @@ public class WorkProjectNotifyController extends BaseController {
 						//审核模板标识
 						model.addAttribute("identification", "ruralprojectrecords");
 						model.addAttribute("identificationName","项目登记审核意见");
-						return "modules/ruralprojectrecords/electronicSeal/ruralProjectRecordsReportSignatureAudit";
+						if("szzk".equals(act.getTaskDefKey())){
+							return "modules/ruralprojectrecords/electronicSeal/ruralProjectRecordsReportSignatureSzzkAudit";
+						}else{
+							return "modules/ruralprojectrecords/electronicSeal/ruralProjectRecordsReportSignatureAudit";
+						}
 					} else if (workProjectNotify.getRemarks().contains("重新申请") && !"1".equals(workProjectNotify.getStatus())) {
 						//查询工程类型信息
 						ProjectEngineeringInfo engineeringInfo=engineeringService.get(ruralProjectRecords.getEngineeringType());

File diff suppressed because it is too large
+ 397 - 6412
src/main/resources/freemarker/projectSignature.ftl


+ 12 - 3
src/main/resources/mappings/modules/ruralprojectrecords/RuralProjectMessageElectronicSealDao.xml

@@ -55,7 +55,10 @@
 			a.reward_and_punishment_fees as "reward_and_punishment_fees",
 			a.water_and_electricity_fees_handle_situation as "water_and_electricity_fees_handle_situation",
 			a.construction_quality_warranty_deposit as "construction_quality_warranty_deposit",
-			a.tax_difference_calculation_and_processing as "tax_difference_calculation_and_processing"
+			a.tax_difference_calculation_and_processing as "tax_difference_calculation_and_processing",
+			a.contract_name as "contractName",
+			a.contract_details as "contractDetails",
+			a.contract_date as "contractDate"
 	</sql>
 
 
@@ -120,7 +123,10 @@
 			reward_and_punishment_fees,
 			water_and_electricity_fees_handle_situation,
 			construction_quality_warranty_deposit,
-			tax_difference_calculation_and_processing
+			tax_difference_calculation_and_processing,
+			contract_name,
+			contract_details,
+			contract_date
 		)values
 		<foreach collection="list" item="item" separator=",">
 			(
@@ -176,7 +182,10 @@
 			#{item.rewardAndPunishmentFees},
 			#{item.waterAndElectricityFeesHandleSituation},
 			#{item.constructionQualityWarrantyDeposit},
-			#{item.taxDifferenceCalculationAndProcessing}
+			#{item.taxDifferenceCalculationAndProcessing},
+			#{item.contractName},
+			#{item.contractDetails},
+			#{item.contractDate}
 			)
 		</foreach>
 	</insert>

二進制
src/main/webapp/dot/签章导入数据模板.xlsx


+ 20 - 10
src/main/webapp/static/oss/ossupload.js

@@ -747,7 +747,7 @@ function multitestCollectionCollect (ossClient, storeAs, file,attachmentId,attac
                     }else{
                         str = str +'<a href="javascript:location.href=\''+realPath+'/a/workfullmanage/workFullManage/downLoadAttach?file=\'+encodeURIComponent(\''+data.url+'\');" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>';
                     }
-                    str = str +'<a href="javascript:void(0)" onclick="deleteFileFromAliyun1(this,\''+realPath+'/a/sys/workattachment/deleteFileFromAliyun?url='+encodeURIComponent(data.url)+'&id='+data.id+'&type=2\',\''+addFile+'\',\''+divId+'\')" class="op-btn op-btn-delete" ><i class="fa fa-trash"></i>&nbsp;删除</a>'+
+                    str = str +'<a href="javascript:void(0)" onclick="deleteFileFromAliyun1(this,\''+realPath+'/sys/workattachment/deleteFileFromAliyun?url='+encodeURIComponent(data.url)+'&id='+data.id+'&type=2\',\''+addFile+'\',\''+divId+'\')" class="op-btn op-btn-delete" ><i class="fa fa-trash"></i>&nbsp;删除</a>'+
                         /*'<a href="javascript:void(0)" onclick="ossCollectingAccessory(this,\''+realPath+'/projectAccessory/projectAccessory/ossCollectAccessory?url='+data.url+'&fileName='+data.attachmentName+'\',\''+addFile+'\',\''+divId+'\')" class="op-btn op-btn-delete" ><i class="fa fa-trash"></i>&nbsp;收藏</a>'+*/
                         '</div>' +
                         '</td>'+
@@ -868,7 +868,7 @@ function multitestCollection (ossClient, storeAs, file,attachmentId,attachmentFl
                     }else{
                         str = str +'<a href="javascript:location.href=\''+realPath+'/a/workfullmanage/workFullManage/downLoadAttach?file=\'+encodeURIComponent(\''+data.url+'\');" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>';
                     }
-                    str = str +'<a href="javascript:void(0)" onclick="deleteFileFromAliyun1(this,\''+realPath+'/a/sys/workattachment/deleteFileFromAliyun?url='+encodeURIComponent(data.url)+'&id='+data.id+'&type=2\',\''+addFile+'\',\''+divId+'\')" class="op-btn op-btn-delete" ><i class="fa fa-trash"></i>&nbsp;删除</a>'+
+                    str = str +'<a href="javascript:void(0)" onclick="deleteFileFromAliyun1(this,\''+realPath+'/sys/workattachment/deleteFileFromAliyun?url='+encodeURIComponent(data.url)+'&id='+data.id+'&type=2\',\''+addFile+'\',\''+divId+'\')" class="op-btn op-btn-delete" ><i class="fa fa-trash"></i>&nbsp;删除</a>'+
                         /*'<a href="javascript:void(0)" onclick="ossCollectingAccessory(this,\''+realPath+'/projectAccessory/projectAccessory/ossCollectAccessory?url='+data.url+'&fileName='+data.attachmentName+'\',\''+addFile+'\',\''+divId+'\')" class="op-btn op-btn-delete" ><i class="fa fa-trash"></i>&nbsp;收藏</a>'+*/
                         '</div>' +
                         '</td>'+
@@ -1186,7 +1186,7 @@ function multitest (ossClient, storeAs, file,attachmentId,attachmentFlag,uploadP
                         str = str +'<a href="javascript:location.href=\''+realPath+'/a/workfullmanage/workFullManage/downLoadAttach?file=\'+encodeURIComponent(\''+data.url+'\');" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>';
                     }
                     /*str = str + '<a href="javascript:void(0)" onclick="ossCollectingAccessory(this,\''+realPath+'/projectAccessory/projectAccessory/saveCollectAccessory?url='+data.url+'&fileName='+data.attachmentName+'\',\''+addFile+'\',\''+data.createBy+'\')" class="op-btn op-btn-delete" style="background-color: #FFB800"><i class="layui-icon layui-icon-rate"></i>&nbsp;收藏</a>'+*/
-                    str = str + '<a href="javascript:void(0)" onclick="deleteFileFromAliyun1(this,\''+realPath+'/a/sys/workattachment/deleteFileFromAliyun?url='+encodeURIComponent(data.url)+'&id='+data.id+'&type=2\',\''+addFile+'\',\''+divId+'\')" class="op-btn op-btn-delete" ><i class="fa fa-trash"></i>&nbsp;删除</a>'+
+                    str = str + '<a href="javascript:void(0)" onclick="deleteFileFromAliyun1(this,\''+realPath+'/sys/workattachment/deleteFileFromAliyun?url='+encodeURIComponent(data.url)+'&id='+data.id+'&type=2\',\''+addFile+'\',\''+divId+'\')" class="op-btn op-btn-delete" ><i class="fa fa-trash"></i>&nbsp;删除</a>'+
                         '</div>' +
                         '</td>'+
                         '</tr>';
@@ -1307,7 +1307,7 @@ function CollectMultitest (ossClient, storeAs, file,attachmentId,attachmentFlag,
                         str = str +'<a href="javascript:location.href=\''+realPath+'/a/workfullmanage/workFullManage/downLoadAttach?file=\'+encodeURIComponent(\''+data.url+'\');" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>';
                     }
                     /*str = str + '<a href="javascript:void(0)" onclick="ossCollectingAccessory(this,\''+realPath+'/projectAccessory/projectAccessory/saveCollectAccessory?url='+data.url+'&fileName='+data.attachmentName+'\',\''+addFile+'\',\''+data.createBy+'\')" class="op-btn op-btn-delete" style="background-color: #FFB800"><i class="layui-icon layui-icon-rate"></i>&nbsp;收藏</a>'+*/
-                    str = str +  '<a href="javascript:void(0)" onclick="deleteFileFromAliyun1(this,\''+realPath+'/a/sys/workattachment/deleteFileFromAliyun?url='+encodeURIComponent(data.url)+'&id='+data.id+'&type=2\',\''+addFile+'\',\''+divId+'\')" class="op-btn op-btn-delete" ><i class="fa fa-trash"></i>&nbsp;删除</a>'+
+                    str = str +  '<a href="javascript:void(0)" onclick="deleteFileFromAliyun1(this,\''+realPath+'/sys/workattachment/deleteFileFromAliyun?url='+encodeURIComponent(data.url)+'&id='+data.id+'&type=2\',\''+addFile+'\',\''+divId+'\')" class="op-btn op-btn-delete" ><i class="fa fa-trash"></i>&nbsp;删除</a>'+
                         '</div>' +
                         '</td>'+
                         '</tr>';
@@ -1414,7 +1414,7 @@ function multitestWorkOrder (ossClient, storeAs, file,attachmentId,attachmentFla
                         str = str +'<a href="javascript:location.href=\''+realPath+'/a/workfullmanage/workFullManage/downLoadAttach?file=\'+encodeURIComponent(\''+data.url+'\');" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>';
                     }
                     str = str +
-                        '<a href="javascript:void(0)" onclick="deleteFileFromAliyun1(this,\''+realPath+'/a/sys/workattachment/deleteFileFromAliyun?url='+encodeURIComponent(data.url)+'&id='+data.id+'&type=2\',\''+addFile+'\',\''+divId+'\')" class="op-btn op-btn-delete" ><i class="fa fa-trash"></i>&nbsp;删除</a>'+
+                        '<a href="javascript:void(0)" onclick="deleteFileFromAliyun1(this,\''+realPath+'/sys/workattachment/deleteFileFromAliyun?url='+encodeURIComponent(data.url)+'&id='+data.id+'&type=2\',\''+addFile+'\',\''+divId+'\')" class="op-btn op-btn-delete" ><i class="fa fa-trash"></i>&nbsp;删除</a>'+
                         '</div>' +
                         '</td>'+
                         '</tr>';
@@ -1600,7 +1600,7 @@ function multitestRecordsReported (ossClient, storeAs, file,attachmentId,attachm
                         str = str +'<a href="javascript:location.href=\''+realPath+'/a/workfullmanage/workFullManage/downLoadAttach?file=\'+encodeURIComponent(\''+data.url+'\');" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>';
                     }
                     /*str = str + '<a href="javascript:void(0)" onclick="ossCollectingAccessory(this,\''+realPath+'/projectAccessory/projectAccessory/saveCollectAccessory?url='+data.url+'&fileName='+data.attachmentName+'\',\''+addFile+'\',\''+data.createBy+'\')" class="op-btn op-btn-delete" style="background-color: #FFB800"><i class="layui-icon layui-icon-rate"></i>&nbsp;收藏</a>'+*/
-                    str = str + '<a href="javascript:void(0)" onclick="deleteFileFromAliyun1(this,\''+realPath+'/a/sys/workattachment/deleteFileFromAliyun?url='+encodeURIComponent(data.url)+'&id='+data.id+'&type=2\',\''+addFile+'\',\''+divId+'\')" class="op-btn op-btn-delete" ><i class="fa fa-trash"></i>&nbsp;删除</a>'+
+                    str = str + '<a href="javascript:void(0)" onclick="deleteFileFromAliyun1(this,\''+realPath+'/sys/workattachment/deleteFileFromAliyun?url='+encodeURIComponent(data.url)+'&id='+data.id+'&type=2\',\''+addFile+'\',\''+divId+'\')" class="op-btn op-btn-delete" ><i class="fa fa-trash"></i>&nbsp;删除</a>'+
                         '</div>' +
                         '</td>'+
                         '</tr>';
@@ -1735,7 +1735,7 @@ function multitestOnProcessAccessory (ossClient, storeAs, file,attachmentId,atta
                         str = str +'<a href="javascript:location.href=\''+realPath+'/a/workfullmanage/workFullManage/downLoadAttach?file=\'+encodeURIComponent(\''+data.url+'\');" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>';
                     }
                    /* str = str + '<a href="javascript:void(0)" onclick="ossCollectingAccessory(this,\''+realPath+'/projectAccessory/projectAccessory/saveCollectAccessory?url='+data.url+'&fileName='+data.attachmentName+'\',\''+addFile+'\',\''+data.createBy+'\')" class="op-btn op-btn-delete" style="background-color: #FFB800"><i class="layui-icon layui-icon-rate"></i>&nbsp;收藏</a>'+*/
-                    str = str + '<a href="javascript:void(0)" onclick="deleteFileFromAliyun1(this,\''+realPath+'/a/sys/workattachment/deleteFileFromAliyun?url='+encodeURIComponent(data.url)+'&id='+data.id+'&type=2\',\''+addFile+'\',\''+divId+'\')" class="op-btn op-btn-delete" ><i class="fa fa-trash"></i>&nbsp;删除</a>'+
+                    str = str + '<a href="javascript:void(0)" onclick="deleteFileFromAliyun1(this,\''+realPath+'/sys/workattachment/deleteFileFromAliyun?url='+encodeURIComponent(data.url)+'&id='+data.id+'&type=2\',\''+addFile+'\',\''+divId+'\')" class="op-btn op-btn-delete" ><i class="fa fa-trash"></i>&nbsp;删除</a>'+
                         '</div>' +
                         '</td>'+
                         '</tr>';
@@ -2026,9 +2026,19 @@ function deleteFileFromAliyun1(obj,deleteUrl,addFile,divId){
     console.log(fileDiv);
     console.log("---------------------------------");*/
     $("#"+fileDiv).val("");
-    parent.layer.msg('删除成功',{icon:1});
-    $(obj).parent().parent().parent().remove();
-    $("#"+addFile).hide();
+    $.ajax({
+        type:"post",
+        url:deleteUrl,
+        success:function(data){
+            if(data.str){
+                parent.layer.msg('删除成功',{icon:1});
+                $(obj).parent().parent().parent().remove();
+                $("#"+addFile).hide();
+            }else {
+                parent.layer.msg('删除失败',{icon:2});
+            }
+        }
+    });
 }
 function fileCollectAccessory(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,size, cpt) {
     file.name.replace(" ","")

+ 2 - 2
src/main/webapp/webpage/include/head.jsp

@@ -98,7 +98,7 @@
         {
              document.write('<script src="http://gosspublic.alicdn.com/aliyun-oss-sdk-4.4.4.min.js"><\/script>');
             document.write('<script src="${ctxStatic}/bos/node_modules/@baiducloud/sdk/dist/baidubce-sdk.bundle.min.js"><\/script>');
-            document.write('<script type="text/javascript" src="${ctxStatic}/oss/ossupload.js?6"><\/script>');
+            document.write('<script type="text/javascript" src="${ctxStatic}/oss/ossupload.js?7"><\/script>');
             /*document.write('<script type="text/javascript" src="${ctxStatic}/bos/bosupload.js"><\/script>');*/
         }
     }
@@ -106,7 +106,7 @@
     {
          document.write('<script src="http://gosspublic.alicdn.com/aliyun-oss-sdk-4.4.4.min.js"><\/script>');
         document.write('<script src="${ctxStatic}/bos/node_modules/@baiducloud/sdk/dist/baidubce-sdk.bundle.min.js"><\/script>');
-        document.write('<script type="text/javascript" src="${ctxStatic}/oss/ossupload.js?6"><\/script>');
+        document.write('<script type="text/javascript" src="${ctxStatic}/oss/ossupload.js?7"><\/script>');
         /*document.write('<script type="text/javascript" src="${ctxStatic}/bos/bosupload.js"><\/script>');*/
     }
 

+ 2 - 2
src/main/webapp/webpage/modules/ruralprojectrecords/electronicSeal/ruralProjectRecordsReportSignatureForm.jsp

@@ -573,11 +573,11 @@
             var files = $("#attachment_file")[0].files;
             var length = $("#file_attachment").find("tr").length ;
             if(length>0){
-                top.layer.msg("已上传审定单,审定单文件有且只能存在一条", {icon: 0});
+                top.layer.msg("已上传报告签章文件,报告签章文件有且只能存在一条", {icon: 0});
                 return;
             }
             if(files.length>1){
-                top.layer.msg("只能够上传一个审定单签章文件", {icon: 0});
+                top.layer.msg("只能够上传一个报告签章文件", {icon: 0});
                 return;
             }
             for(var i = 0;i<files.length;i++) {

+ 623 - 0
src/main/webapp/webpage/modules/ruralprojectrecords/electronicSeal/ruralProjectRecordsReportSignatureSzzkAudit.jsp

@@ -0,0 +1,623 @@
+<%@ page contentType="text/html;charset=UTF-8" %>
+<%@ include file="/webpage/include/taglib.jsp"%>
+<html>
+<head>
+	<title>项目审批管理</title>
+	<meta name="decorator" content="default"/>
+	<script type="text/javascript" src="${ctxStatic}/helloweba_editable-select/jquery.editable-select.min.js"></script>
+	<script type="text/javascript" src="${ctxStatic}/iCheck/icheck.min.js"></script>
+	<script type="text/javascript" src="${ctxStatic}/layui/layuidown.js"></script>
+	<script src="${ctxStatic}/common/html/js/script.js"></script>
+	<link rel='stylesheet' type="text/css" href="${ctxStatic}/layui/layuidown.css"/>
+	<link rel='stylesheet' type="text/css" href="${ctxStatic}/helloweba_editable-select/jquery.editable-select.min.css"/>
+
+	<script type="text/javascript">
+		var validateForm;
+		function doSubmit(obj){//回调函数,在编辑和保存动作时,供openDialog调用提交表单。
+            if(validateForm.form()){
+				var ss= document.getElementById("iframe").contentWindow.document.getElementById("opinion").value
+				$("#opinion").val(ss);
+                if(obj == 1) {
+					var length = $("#file_attachment").find("tr").length ;
+					if(length == 0){
+						top.layer.msg("请上传报告签章附件", {icon: 0});
+						return;
+					}
+                    $("#flag").val("yes");
+                }else {
+                    if(obj == 2){
+                        $("#flag").val("no1");
+					}else {
+                        $("#flag").val("no2");
+					}
+                }
+                $("#inputForm").submit();
+                return true;
+            }
+
+		  return false;
+		}
+		$(document).ready(function() {
+
+			var tt = $("#contractNum").val();
+			if (tt == null || tt === "") {
+				$("#divv").hide();
+				$("#divv2").show();
+				$("#divv3").hide();
+				setTimeout(function () {
+					var tt = $("#workClientLinkmanList").find("tr").eq(0).find("td").eq(1).text().trim();
+					$("#clientName").val(tt);
+				},100);
+			}else{
+				$("#divv2").hide();
+			}
+
+			validateForm = $("#inputForm").validate({
+				submitHandler: function(form){
+					loading('正在提交,请稍等...');
+					form.submit();
+				},
+				errorContainer: "#messageBox",
+				errorPlacement: function(error, element) {
+					$("#messageBox").text("输入有误,请先更正。");
+					if (element.is(":checkbox")||element.is(":radio")||element.parent().is(".input-append")){
+						error.appendTo(element.parent().parent());
+					} else {
+						error.insertAfter(element);
+					}
+				}
+			});
+
+			var contractNum = $("#contractNum").val();
+			if (contractNum == null || contractNum === "") {
+				$("#div1").hide();
+				$("#div3").hide();
+				setTimeout(function () {
+					var tt = $("#workClientLinkmanList").find("tr").eq(0).find("td").eq(1).text().trim();
+					$("#clientName").val(tt);
+				},100);
+			}
+
+			var contractInformation='${projectRecords.workContractInfo.contractInformation}'
+			if(contractInformation == "1"){
+				$("#c2").show();
+				$("#c1").hide();
+			}else{
+				$("#c2").hide();
+				$("#c1").show();
+			}
+
+			$("#attachment_btn").click(function () {
+				$("#attachment_file").click();
+			});
+		});
+
+		function insertTitle(tValue){
+			$("#flagFile").val(false);
+			var files = $("#attachment_file")[0].files;
+			var length = $("#file_attachment").find("tr").length ;
+			if(length>1){
+				top.layer.msg("报告文件最多只能存在两条", {icon: 0});
+				return;
+			}
+			if(files.length>1){
+				top.layer.msg("一次只能上传一个报告文件", {icon: 0});
+				return;
+			}
+			for(var i = 0;i<files.length;i++) {
+				var file = files[i];
+				var attachTypes = "doc,docx";
+				var suffixResult = 0;
+				var fileName = file.name.lastIndexOf(".");//获取到文件名开始到最后一个“.”的长度。
+				var fileNameLength = file.name.length;//获取到文件名长度
+				var suffix = file.name.substring(fileName + 1, fileNameLength);//截取后缀名
+				suffix = suffix.toLowerCase();//后缀名转换小写
+				attachTypes = attachTypes.toLowerCase();
+				var attachTypeList = attachTypes.split(",");
+				for (var x in attachTypeList) {
+					if(attachTypeList[x] == suffix){
+						suffixResult = 1;
+						break;
+					}
+				}
+				if(suffixResult == 0 ){
+					top.layer.msg("上传附件只能为:"+attachTypes+" 类型文件", {icon: 0});
+					return false;
+				}
+
+				var attachmentId = $("#id").val();
+				var attachmentFlag = "145";
+				/*console.log(file);*/
+				var timestamp=new Date().getTime();
+
+				var storeAs = "projectRecords";
+				var uploadPath="http://gangwan-app.oss-cn-hangzhou.aliyuncs.com/"+storeAs;/*将这段字符串存到数据库即可*/
+				var divId = "_attachment";
+				$("#addFile"+divId).show();
+				multipartUploadWithSts(storeAs, file,attachmentId,attachmentFlag,uploadPath,divId,0);}
+		}
+
+        function addFile() {
+            $("#attachment_file").click();
+        }
+
+        function addRow(list, idx, tpl, row){
+            // var idx1 = $("#workClientLinkmanList tr").length;
+            bornTemplete(list, idx, tpl, row, idx);
+        }
+
+        function bornTemplete(list, idx, tpl, row, idx1){
+            $(list).append(Mustache.render(tpl, {
+                idx: idx, delBtn: true, row: row,
+                order:idx1 + 1
+            }));
+            $(list+idx).find("select").each(function(){
+                $(this).val($(this).attr("data-value"));
+            });
+            $(list+idx).find("input[type='checkbox'], input[type='radio']").each(function(){
+                var ss = $(this).attr("data-value").split(',');
+                for (var i=0; i<ss.length; i++){
+                    if($(this).val() == ss[i]){
+                        $(this).attr("checked","checked");
+                    }
+                }
+            });
+        }
+	</script>
+</head>
+<body >
+<div class="single-form">
+	<div class="container">
+		<form:form id="inputForm" modelAttribute="projectRecords" enctype="multipart/form-data" action="${ctx}/ruralProject/electronicSeal/reportSignatureSaveAudit" method="post" class="form-horizontal layui-form">
+		<form:hidden path="id"/>
+		<form:hidden path="home"/>
+		<form:hidden path="act.taskId"/>
+		<form:hidden path="act.taskName"/>
+		<form:hidden id="taskDefKey" path="act.taskDefKey"/>
+		<form:hidden path="act.procInsId"/>
+		<form:hidden path="act.procDefId"/>
+		<form:hidden path="processInstanceId"/>
+		<form:hidden id="flag" path="act.flag"/>
+		<input type="hidden" id="opinion" name="act.comment" value="" maxlength="255">
+		<c:set var="status" value="${projectRecords.act.status}" />
+
+			<div class="form-group layui-row first">
+				<div class="form-group-label"><h2>项目合同信息</h2></div>
+				<div id="div1">
+					<div class="layui-item layui-col-sm12 lw6">
+						<label class="layui-form-label">合同编号:</label>
+						<div class="layui-input-block">
+							<input htmlEscape="false" id="contractNum"  readonly="true" class="form-control layui-input" value="${projectRecords.workContractInfo.contractNum}"/>
+						</div>
+					</div>
+					<div class="layui-item layui-col-sm6 lw6">
+						<label class="layui-form-label">合同名称:</label>
+						<div class="layui-input-block">
+							<input htmlEscape="false"  readonly="true" class="form-control layui-input" value="${projectRecords.workContractInfo.name}"/>
+						</div>
+					</div>
+					<div class="layui-item layui-col-sm6 lw6" id="c1">
+						<label class="layui-form-label double-line">合同金额(元):</label>
+						<div class="layui-input-block">
+							<input htmlEscape="false"  readonly="true" class="form-control layui-input" value="<fmt:formatNumber value="${projectRecords.workContractInfo.contractPrice}" pattern="#,##0.00#"/>"/>
+						</div>
+					</div>
+					<div class="layui-item layui-col-sm6 lw6" id="c2" style="display: none">
+						<label class="layui-form-label">费率描述:</label>
+						<div class="layui-input-block">
+							<input htmlEscape="false"  readonly="true" id="otherDetails"  class="form-control layui-input" value="${projectRecords.workContractInfo.otherDetails}"/>
+						</div>
+					</div>
+					<div class="layui-item layui-col-sm6 lw6">
+						<label class="layui-form-label">委托方:</label>
+						<div class="layui-input-block">
+							<input htmlEscape="false" id="clientName" readonly="true" class="form-control layui-input" value="${projectRecords.workContractInfo.client.name}"/>
+						</div>
+					</div>
+				</div>
+				<div id="divv2">
+					<div class="layui-item layui-col-sm6 lw6">
+						<label class="layui-form-label">无合同</label>
+					</div>
+				</div>
+				<div id="div3">
+					<div class="layui-item layui-col-sm6 lw6">
+						<label class="layui-form-label">合同类别:</label>
+						<div class="layui-input-block">
+							<input htmlEscape="false"  readonly="true" style="background-color: #f1f1f1" class="form-control layui-input" value="${fns:getMainDictLabel(projectRecords.workContractInfo.contractTypeDoc, 'contract_info_type', '')}"/>
+<%--							<input htmlEscape="false"  readonly="true" class="form-control layui-input" value="${projectRecords.workContractInfo.constructionProjectTypeStr}"/>--%>
+						</div>
+					</div>
+				</div>
+			</div>
+
+
+			<div class="form-group layui-row first">
+				<div class="form-group-label"><h2>项目基础信息</h2></div>
+				<div class="layui-item layui-col-sm6 lw6">
+					<label class="layui-form-label">报告号:</label>
+					<div class="layui-input-block">
+						<input htmlEscape="false"  readonly="true" class="form-control layui-input" style="background-color: #f1f1f1" value="${projectRecords.projectReportNumber}"/>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6 lw6">
+					<label class="layui-form-label">项目名称:</label>
+					<div class="layui-input-block">
+						<input htmlEscape="false"  readonly="true" class="form-control layui-input" style="background-color: #f1f1f1" value="${projectRecords.projectName}"/>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6 lw6">
+					<label class="layui-form-label">项目编号:</label>
+					<div class="layui-input-block">
+						<div class="input-group">
+							<form:input path="projectId" htmlEscape="false"  readonly="true" class="form-control layui-input" cssStyle="background-color: #f1f1f1"/>
+							<span class="input-group-btn">
+                                <label class="form-status"><c:choose><c:when test="${not empty projectRecords.projectStatus}">${fns:getDictLabel(projectRecords.projectStatus, 'rural_project_audit_state', '')}</c:when><c:otherwise>新添</c:otherwise></c:choose></label>
+                             </span>
+						</div>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6 lw6">
+					<label class="layui-form-label">项目所在地:</label>
+					<div class="layui-input-block">
+						<input htmlEscape="false" style="background-color: #f1f1f1" readonly="true" class="form-control layui-input" value="${projectRecords.province}-${projectRecords.city}-${projectRecords.county}"/>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6 lw6">
+					<label class="layui-form-label">投资性质:</label>
+					<div class="layui-input-block">
+						<c:if test="${projectRecords.projectProperties==null}">
+							<input htmlEscape="false" style="background-color: #f1f1f1" readonly="true" class="form-control layui-input"/>
+						</c:if>
+						<c:forEach  items="${fns:getMainDictList('project_properties')}" var="v">
+							<c:if test="${v.value==projectRecords.projectProperties}">
+								<input htmlEscape="false" style="background-color: #f1f1f1" readonly="true" class="form-control layui-input" value="${v.label}"/>
+							</c:if>
+						</c:forEach>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6 lw6">
+					<label class="layui-form-label">建设地点:</label>
+					<div class="layui-input-block">
+						<input htmlEscape="false" style="background-color: #f1f1f1"  readonly="true" class="form-control layui-input" value="${projectRecords.projectSite}"/>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6 lw6">
+					<label class="layui-form-label">创建人:</label>
+					<div class="layui-input-block">
+						<input htmlEscape="false" style="background-color: #f1f1f1" readonly="true" class="form-control layui-input" value="${projectRecords.createBy.name}"/>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6 lw6">
+					<label class="layui-form-label">项目责任人:</label>
+					<div class="layui-input-block">
+						<input htmlEscape="false" style="background-color: #f1f1f1" readonly="true" class="form-control layui-input" value="${projectRecords.leaderNameStr}"/>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6 lw6">
+					<label class="layui-form-label">所属部门:</label>
+					<div class="layui-input-block">
+						<input htmlEscape="false" style="background-color: #f1f1f1" readonly="true" id="officeName" class="form-control layui-input" value="${projectRecords.officeName}"/>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6 lw6">
+					<label class="layui-form-label">项目负责人:</label>
+					<div class="layui-input-block">
+						<input htmlEscape="false" style="background-color: #f1f1f1" readonly="true" class="form-control layui-input" value="${projectRecords.projectMasterName}"/>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6 lw6">
+					<label class="layui-form-label">工程类型:</label>
+					<div class="layui-input-block">
+						<form:select path="engineeringType" disabled="true" style="background-color: #f1f1f1"  class="form-control simple-select">
+							<form:options items="${engineeringInfo}" itemLabel="engineeringName" itemValue="id" htmlEscape="false"/>
+						</form:select>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6 lw6">
+					<label class="layui-form-label">项目等级:</label>
+					<div class="layui-input-block">
+						<c:forEach items="${fns:getMainDictListOnProjectAdvent('attachment_project_grade')}" var="v">
+							<input type="radio" disabled name="submitMoney" id="submitMoney" value="${v.value}" title="${v.label}" <c:if test="${projectRecords.submitMoney==v.value}">checked</c:if>>
+						</c:forEach>
+						<p style="color: red;font-size: 12px;">200万以上部队或政府项目及500万以上其它项目为A级,其余为B级</p>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6 lw6">
+					<label class="layui-form-label double-line">送审规模(万元):</label>
+					<div class="layui-input-block">
+						<form:input path="submitScale" readonly="true" style="background-color: #f1f1f1" id="submitScale" maxlength="12" htmlEscape="false" placeholder="请输入送审规模" class="form-control layui-input number"/>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6 lw6">
+					<label class="layui-form-label double-line">工作开始日期:</label>
+					<div class="layui-input-block">
+						<input class="laydate-icondate form-control layui-input layer-date ash"  style="background-color: #f1f1f1" readonly="true" id="startDate" name="startDate" value="<fmt:formatDate value="${projectRecords.startDate}" pattern="yyyy-MM-dd"/>">
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6 lw6">
+					<label class="layui-form-label double-line">工作结束日期:</label>
+					<div class="layui-input-block">
+						<input class="laydate-icondate form-control layui-input layer-date "  style="background-color: #f1f1f1" readonly="true" id="endingDate" name="endingDate" value="<fmt:formatDate value="${projectRecords.endingDate}" pattern="yyyy-MM-dd"/>">
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6 lw6">
+					<label class="layui-form-label">创建日期:</label>
+					<div class="layui-input-block">
+						<input htmlEscape="false"  style="background-color: #f1f1f1" readonly="true" class="form-control layui-input" value="<fmt:formatDate value="${projectRecords.createDate}" pattern="yyyy-MM-dd"/>"/>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6 lw7">
+					<label class="layui-form-label">项目类别:</label>
+					<div class="layui-input-block">
+						<input htmlEscape="false" readonly="true"  style="background-color: #f1f1f1" class="form-control layui-input" value="${projectRecords.attachmentProjectSort}"/>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6 lw6 with-textarea">
+					<label class="layui-form-label">工程概况:</label>
+					<div class="layui-input-block">
+						<textarea htmlEscape="false" rows="4" readonly="true"  style="background-color: #f1f1f1" maxlength="1000" class="form-control" >${projectRecords.projectDesc}</textarea>
+					</div>
+				</div>
+				<div class="layui-item layui-col-sm6 lw6 with-textarea">
+					<label class="layui-form-label">备注:</label>
+					<div class="layui-input-block">
+						<textarea htmlEscape="false" rows="4" readonly="true" maxlength="1000"  style="background-color: #f1f1f1" class="form-control" >${projectRecords.remarks}</textarea>
+					</div>
+				</div>
+			</div>
+
+
+			<div class="form-group layui-row">
+				<div class="form-group-label"><h2>委托方联系人信息</h2></div>
+				<div class="layui-item layui-col-xs12 form-table-container" >
+					<table id="contentTable" class="table table-bordered table-condensed no-bottom-margin details">
+						<thead>
+						<tr>
+							<th class="hide"></th>
+							<th width="25%">委托方</th>
+							<th width="25%">联系人姓名</th>
+							<th width="25%">联系方式1</th>
+							<th width="25%">联系方式2</th>
+						</tr>
+						</thead>
+						<tbody id="workClientLinkmanList">
+						<c:forEach items="${projectRecords.workClientLinkmanList}" var="info" varStatus="index">
+							<tr>
+								<td >
+										${info.clientId.name}
+								</td>
+								<td>
+										${info.name}
+								</td>
+								<td>
+										${info.linkPhone}
+								</td>
+								<td>
+										${info.linkMobile}
+								</td>
+							</tr>
+						</c:forEach>
+						</tbody>
+					</table>
+				</div>
+			</div>
+
+			<div class="form-group layui-row">
+				<div class="form-group-label"><h2>施工方信息</h2></div>
+				<div class="layui-item layui-col-xs12 form-table-container" >
+					<table id="contentTable1" class="table table-bordered table-condensed no-bottom-margin details">
+						<thead>
+						<tr>
+							<th class="hide"></th>
+							<th width="25%">施工方单位名称</th>
+							<th width="25%">联系人姓名</th>
+							<th width="25%">联系方式1</th>
+							<th width="25%">联系方式2</th>
+						</tr>
+						</thead>
+						<tbody id="workConstructionLinkmanList">
+						<c:forEach items="${projectRecords.workConstructionLinkmanList}" var="info" varStatus="index">
+							<tr>
+								<td >
+										${info.clientId.name}
+								</td>
+								<td>
+										${info.name}
+								</td>
+								<td>
+										${info.linkPhone}
+								</td>
+								<td>
+										${info.linkMobile}
+								</td>
+							</tr>
+						</c:forEach>
+						</tbody>
+					</table>
+				</div>
+			</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>
+				</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="180px">操作</th>
+						</tr>
+						</thead>
+						<tbody id="file_attachment">
+						<c:forEach items="${projectRecords.workAttachments}" var = "workClientAttachment" varStatus="status">
+							<tr>
+									<%-- <td>${status.index + 1}</td>--%>
+								<c:choose>
+									<c:when test="${projectRecords.uploadMode == 2}">
+										<c:choose>
+											<c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpg')
+                                                           or fn:containsIgnoreCase(workClientAttachment.attachmentName,'png')
+                                                           or fn:containsIgnoreCase(workClientAttachment.attachmentName,'gif')
+                                                           or fn:containsIgnoreCase(workClientAttachment.attachmentName,'bmp')
+                                                           or fn:containsIgnoreCase(workClientAttachment.attachmentName,'jpeg')}">
+												<td><img src="${workClientAttachment.temporaryUrl}" width="50" height="50" onclick="openDialogView('预览','${ctx}/sys/picturepreview/picturePreview?url=${workClientAttachment.temporaryUrl}','90%','90%')" alt="${workClientAttachment.attachmentName}">
+											</c:when>
+											<c:otherwise>
+												<c:choose>
+													<c:when test="${fn:containsIgnoreCase(workClientAttachment.attachmentName,'pdf')}">
+														<td><a class="attention-info" href="javascript:void(0)" onclick="preview('预览','${workClientAttachment.temporaryUrl}','90%','90%','1')">${workClientAttachment.attachmentName}</a></td>
+													</c:when>
+													<c:otherwise>
+														<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="preview('预览','${workClientAttachment.url}','90%','90%','1')">${workClientAttachment.attachmentName}</a></td>
+													</c:when>
+													<c:otherwise>
+														<c:choose>
+															<c:when test="${workReimbursement.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" >
+										<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: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>
+
+	</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 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="${processInstanceId}"/>
+					<act:histoicFlow procInsId="${processInstanceId}"/>
+				</div>
+			</div>
+	</div>
+</div>
+</body>
+</html>

+ 4 - 1
src/main/webapp/webpage/modules/ruralprojectrecords/electronicSeal/ruralProjectRecordsReportSignatureView.jsp

@@ -1213,7 +1213,10 @@
                                 <td class="op-td">
                                     <div class="op-btn-box" >
                                         <a href="javascript:location.href='${ctx}/workfullmanage/workFullManage/downLoadAttach?file='+encodeURIComponent('${workClientAttachment.url}');" class="op-btn op-btn-download"><i class="fa fa-download"></i>&nbsp;下载</a>
-                                        <a href="javascript:location.href='${ctx}/ruralProject/signatureCallBack/downLoadReportAttach?contractId='+'${projectRecords.reportSignatureContractId}'" class="op-btn  op-btn-download layui-bg-orange">报告签章下载</a>
+                                        <c:if test="${status.index == 0}">
+                                            <a href="javascript:location.href='${ctx}/ruralProject/signatureCallBack/downLoadReportAttach?contractId='+'${projectRecords.reportSignatureContractId}'" class="op-btn  op-btn-download layui-bg-orange">报告签章下载</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>--%>

+ 26 - 24
src/main/webapp/webpage/modules/ruralprojectrecords/ruralporjectmessage/electronicSeal/ruralProjectMessageElectronicSealList.jsp

@@ -1190,17 +1190,6 @@
 								xml+="<a href=\"#\" onclick=\"openDialogre('修改审定单签章申请', '${ctx}/ruralProject/electronicSeal/approvalForm?id=" + d.id + "','95%', '95%','','送审,关闭')\" class=\"layui-btn layui-btn-xs layui-bg-green\" > 修改审定单签章申请</a>";
 							}else if(d.approvalSignatureStatus == 4){
 								xml+="<a href=\"javascript:void(0)\" onclick=\"openDialogreAudit('修改审定单签章申请', '${ctx}/ruralProject/electronicSeal/approvalModify?id=" + d.id + "','95%', '95%','')\" class=\"layui-btn layui-btn-xs layui-bg-green\" > 修改审定单签章申请</a>";
-							}else if(d.approvalSignatureStatus == 5){
-								//上传审定单进行签章
-								<%--<shiro:hasPermission name="ruralProject:ruralProjectMessage:importApprovalFile">
-								if(d.signatureFlag != "1"){
-									xml+="<a href=\"javascript:void(0)\" onclick=\"openDialogreByImportFile('上传审定单签章', '${ctx}/ruralProject/ruralProjectMessage/skipImportApprovalWord?id=" + d.id + "&visitType=1','500px', '300px','','导入,关闭')\" class=\"layui-btn layui-btn-xs layui-bg-blue\" > 审定单签章</a>";
-								}else{
-									xml+="<a href=\"${ctx}/ruralProject/signatureCallBack/downLoadAttach?contractId="+ d.signatureContractId +"\" class=\"layui-btn  layui-btn-xs layui-bg-orange\">审定单签章下载</a>"
-								}
-
-								</shiro:hasPermission>--%>
-								xml+="<a href=\"${ctx}/ruralProject/signatureCallBack/downLoadAttach?contractId="+ d.signatureContractId +"\" class=\"layui-btn  layui-btn-xs layui-bg-orange\">审定单签章下载</a>"
 							}
 
 							if(d.reportSignatureStatus == 0){
@@ -1211,19 +1200,6 @@
 								xml+="<a href=\"#\" onclick=\"openDialogre('修改报告签章申请', '${ctx}/ruralProject/electronicSeal/reportSignatureForm?id=" + d.id + "','95%', '95%','','送审,关闭')\" class=\"layui-btn layui-btn-xs layui-bg-green\" > 修改报告签章申请</a>";
 							}else if(d.reportSignatureStatus == 4){
 								xml+="<a href=\"javascript:void(0)\" onclick=\"openDialogreAudit('修改报告签章申请', '${ctx}/ruralProject/electronicSeal/reportSignatureModify?id=" + d.id + "','95%', '95%','')\" class=\"layui-btn layui-btn-xs layui-bg-green\" > 修改报告签章申请</a>";
-							}else if(d.reportSignatureStatus == 5){
-								//上传审定单进行签章
-								<%--<shiro:hasPermission name="ruralProject:ruralProjectMessage:importReportFile">
-								if(d.reportSignatureFlag != "1"){
-									xml+="<a href=\"javascript:void(0)\" onclick=\"openDialogreByReportImportFile('上传报告签章', '${ctx}/ruralProject/ruralProjectMessage/skipImportReportWord?id=" + d.id + "&visitType=1','500px', '300px','','导入,关闭')\" class=\"layui-btn layui-btn-xs layui-bg-blue\" > 报告签章</a>";
-								}else{
-									xml+="<a href=\"${ctx}/ruralProject/signatureCallBack/downLoadReportAttach?contractId="+ d.reportSignatureContractId +"\" class=\"layui-btn  layui-btn-xs layui-bg-orange\">报告签章下载</a>"
-								}
-
-								//自动生成电子签章报告(在有报告的前提下可使用,没有报告信息则不进行展示该按钮)
-								//xml+="<a href=\"${ctx}/ruralProject/electronicSeal/downloadMassControl?id="+ d.pidId +"\" onclick=\"return confirmx('确认要自动生成报告签章吗?', this.href)\" class=\"layui-btn  layui-btn-xs\" > 自动生成报告签章</a>";
-								</shiro:hasPermission>--%>
-								xml+="<a href=\"${ctx}/ruralProject/signatureCallBack/downLoadReportAttach?contractId="+ d.reportSignatureContractId +"\" class=\"layui-btn  layui-btn-xs layui-bg-orange\">报告签章下载</a>"
 							}
 
 							if(d.prsiId != null && d.prsiId != undefined && d.prsiId != ""){
@@ -1239,6 +1215,32 @@
 							}
 
 						}
+						if(d.approvalSignatureStatus == 5){
+							//上传审定单进行签章
+							<%--<shiro:hasPermission name="ruralProject:ruralProjectMessage:importApprovalFile">
+                            if(d.signatureFlag != "1"){
+                                xml+="<a href=\"javascript:void(0)\" onclick=\"openDialogreByImportFile('上传审定单签章', '${ctx}/ruralProject/ruralProjectMessage/skipImportApprovalWord?id=" + d.id + "&visitType=1','500px', '300px','','导入,关闭')\" class=\"layui-btn layui-btn-xs layui-bg-blue\" > 审定单签章</a>";
+                            }else{
+                                xml+="<a href=\"${ctx}/ruralProject/signatureCallBack/downLoadAttach?contractId="+ d.signatureContractId +"\" class=\"layui-btn  layui-btn-xs layui-bg-orange\">审定单签章下载</a>"
+                            }
+
+                            </shiro:hasPermission>--%>
+							xml+="<a href=\"${ctx}/ruralProject/signatureCallBack/downLoadAttach?contractId="+ d.signatureContractId +"\" class=\"layui-btn  layui-btn-xs layui-bg-orange\">审定单签章下载</a>"
+						}
+						if(d.reportSignatureStatus == 5){
+							//上传审定单进行签章
+							<%--<shiro:hasPermission name="ruralProject:ruralProjectMessage:importReportFile">
+                            if(d.reportSignatureFlag != "1"){
+                                xml+="<a href=\"javascript:void(0)\" onclick=\"openDialogreByReportImportFile('上传报告签章', '${ctx}/ruralProject/ruralProjectMessage/skipImportReportWord?id=" + d.id + "&visitType=1','500px', '300px','','导入,关闭')\" class=\"layui-btn layui-btn-xs layui-bg-blue\" > 报告签章</a>";
+                            }else{
+                                xml+="<a href=\"${ctx}/ruralProject/signatureCallBack/downLoadReportAttach?contractId="+ d.reportSignatureContractId +"\" class=\"layui-btn  layui-btn-xs layui-bg-orange\">报告签章下载</a>"
+                            }
+
+                            //自动生成电子签章报告(在有报告的前提下可使用,没有报告信息则不进行展示该按钮)
+                            //xml+="<a href=\"${ctx}/ruralProject/electronicSeal/downloadMassControl?id="+ d.pidId +"\" onclick=\"return confirmx('确认要自动生成报告签章吗?', this.href)\" class=\"layui-btn  layui-btn-xs\" > 自动生成报告签章</a>";
+                            </shiro:hasPermission>--%>
+							xml+="<a href=\"${ctx}/ruralProject/signatureCallBack/downLoadReportAttach?contractId="+ d.reportSignatureContractId +"\" class=\"layui-btn  layui-btn-xs layui-bg-orange\">报告签章下载</a>"
+						}
 						xml+="</div>";
 						return[xml].join('');
 					}}