소스 검색

fix 有签章数据的人才签章

river 4 년 전
부모
커밋
f0dbc1f5ce
1개의 변경된 파일11개의 추가작업 그리고 12개의 파일을 삭제
  1. 11 12
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ContractServiceImpl.java

+ 11 - 12
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ContractServiceImpl.java

@@ -496,7 +496,7 @@ public class ContractServiceImpl implements ContractService, InitializingBean {
 		} else {
 			params.put("paymentcalender", calenders.stream().map(cal -> cal.getPaymentMonth().toString()).collect(Collectors.joining("月,")) + "月");
 		}*/
-		
+
 		params.put("paymentcalender", "一次性");
 
 		params.put("isShowVisualSeal", true);
@@ -1259,15 +1259,6 @@ public class ContractServiceImpl implements ContractService, InitializingBean {
 		Integer workOrderId = null;
 		List<SysUserTsign> sysUserTsigns = new ArrayList<>();
 		for (SysUser user : users) {
-			SysUserTsign sysUserTsign = sysUserTsignService.get(user.getId());
-			if (sysUserTsign == null) {
-				try {
-					sysUserTsign = register(user.getId(), user.getRealName(), user.getIdCardNo(), user.getPhone());
-				} catch (Exception e) {
-					logger.error("用户电子签章注册失败", e);
-					throw new BizException(user.getRealName() + "电子签章注册失败");
-				}
-			}
 			for (CirculationUser circulationUser : financialDto.getCirculationUsers()) {
 				if (workOrderId == null) {
 					workOrderId = circulationUser.getWorkOrder();
@@ -1279,9 +1270,17 @@ public class ContractServiceImpl implements ContractService, InitializingBean {
 				if (!executor.getUserId().equals(user.getId())) continue;
 				executor.setRealName(user.getRealName());
 			}
+			SysUserTsign sysUserTsign = sysUserTsignService.get(user.getId());
+			if (sysUserTsign == null) {
+				try {
+					sysUserTsign = register(user.getId(), user.getRealName(), user.getIdCardNo(), user.getPhone());
+				} catch (Exception e) {
+					logger.error("用户电子签章注册失败", e);
+					continue;
+				}
+			}
 			sysUserTsigns.add(sysUserTsign);
 		}
-		financialDto.setSysUserTsigns(sysUserTsigns);
 
 		Date date = new Date();
 
@@ -1319,7 +1318,7 @@ public class ContractServiceImpl implements ContractService, InitializingBean {
 			logger.error("生成签章协议失败", e);
 		}
 
-		for (SysUserTsign sysUserTsign : financialDto.getSysUserTsigns()) {
+		for (SysUserTsign sysUserTsign : sysUserTsigns) {
 			eSealPlugin.userSign(sysUserTsign.getAccountId(), sysUserTsign.getSealData(), sysUserTsign.getUserId().toString(), srcPdfPath, srcPdfPath);
 		}