Prechádzať zdrojové kódy

fix: 医院拜访科室支持精细化-NPE异常

lixuesong 1 rok pred
rodič
commit
99c160d2c7

+ 6 - 3
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmUserSignServiceImpl.java

@@ -698,13 +698,16 @@ public class WmUserSignServiceImpl extends ServiceImpl<WmUserSignMapper, WmUserS
 				// 医院拜访限制科室个数
 				if (StrUtil.equals(taskTypeTemplate.getTaskTypeId(), "5")) {
 					Map<String, Object> detail = taskTypeTemplate.getDetail();
+					int numberLimit = 1;
 					if (CollUtil.isNotEmpty(detail)) {
-						int numberLimit = (int) detail.getOrDefault("numberLimit", 1);
-						// 拜访科室个数和numberLimit 取最小值
-						minDeptmentLimit = Math.min(numberLimit, userSignDetail.getDepartment().length);
+						numberLimit = (int) detail.getOrDefault("numberLimit", 1);
 					}
+
 					List<Map<String, Object>> signDetailDetail = userSignDetail.getDetail();
 					if (CollUtil.isNotEmpty(signDetailDetail)) {
+						// 模板配置的numberLimit 和 实际传参的拜访科室个数 取最小值
+						minDeptmentLimit = Math.min(numberLimit, signDetailDetail.size());
+
 						List<String> departmentList = new ArrayList<>(signDetailDetail.size());
 						for (Map<String, Object> detailMap : signDetailDetail) {
 							String departmentName = (String) detailMap.get("departmentName");