| | |
| | | validateApprover(req.getApproverType(), req.getApproverDeptIds(), req.getApproverGroupId(), req.getMemberIds()); |
| | | MpPassLocalUnit e = new MpPassLocalUnit(); |
| | | e.setUnitName(req.getUnitName().trim()); |
| | | e.setRemark(trimToNull(req.getRemark())); |
| | | e.setRemark(trimToEmpty(req.getRemark())); |
| | | e.setApproverType(req.getApproverType()); |
| | | applyApproverColumns(e, req.getApproverType(), req.getApproverDeptIds(), req.getApproverGroupId()); |
| | | mpPassLocalUnitMapper.insert(e); |
| | |
| | | validateApprover(req.getApproverType(), req.getApproverDeptIds(), req.getApproverGroupId(), req.getMemberIds()); |
| | | mpPassLocalUnitMemberMapper.deletePhysicalByUnitId(e.getId()); |
| | | e.setUnitName(req.getUnitName().trim()); |
| | | e.setRemark(trimToNull(req.getRemark())); |
| | | e.setRemark(trimToEmpty(req.getRemark())); |
| | | e.setApproverType(req.getApproverType()); |
| | | applyApproverColumns(e, req.getApproverType(), req.getApproverDeptIds(), req.getApproverGroupId()); |
| | | mpPassLocalUnitMapper.updateById(e); |
| | |
| | | } |
| | | |
| | | private void validateEmployees(List<Long> mpUserIds) { |
| | | List<String> disabledNames = new ArrayList<>(); |
| | | for (Long id : mpUserIds) { |
| | | if (id == null || id <= 0) { |
| | | continue; |
| | |
| | | throw new BizException(BizErrorCode.AUTH_INVALID_CREDENTIALS, "仅可选择员工: " + id); |
| | | } |
| | | if (u.getStatus() != null && u.getStatus() == 0) { |
| | | throw new BizException(BizErrorCode.AUTH_FORBIDDEN, "员工已禁用: " + id); |
| | | disabledNames.add(firstNonBlank(trimToNull(u.getNickName()), trimToNull(u.getMobile()), String.valueOf(id))); |
| | | } |
| | | } |
| | | if (!disabledNames.isEmpty()) { |
| | | throw new BizException(BizErrorCode.AUTH_FORBIDDEN, "以下员工已禁用,请移除后重试:" + String.join("、", disabledNames)); |
| | | } |
| | | } |
| | | |
| | | @SafeVarargs |
| | | private static String firstNonBlank(String... values) { |
| | | if (values == null) { |
| | | return null; |
| | | } |
| | | for (String value : values) { |
| | | if (StringUtils.hasText(value)) { |
| | | return value.trim(); |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | private void saveMembers(Long unitId, List<Long> memberIds) { |
| | |
| | | String t = s.trim(); |
| | | return t.isEmpty() ? null : t; |
| | | } |
| | | |
| | | private static String trimToEmpty(String s) { |
| | | return s == null ? "" : s.trim(); |
| | | } |
| | | } |