| | |
| | | } |
| | | |
| | | /** |
| | | * 导入应收费用管理数据 |
| | | * 导入应收费用管理数据(包含明细数据) |
| | | * |
| | | * @param receivableFeeList 应收费用管理数据列表 |
| | | * @param updateSupport 是否更新支持,如果已存在,则进行更新数据 |
| | | * @param receivableFeeList 应收费用管理数据列表(包含明细数据) |
| | | * @param operName 操作用户 |
| | | * @return 结果 |
| | | */ |
| | | @Override |
| | | public String importReceivableFee(List<ReceivableFeeManagement> receivableFeeList, Boolean updateSupport, String operName) { |
| | | public String importReceivableFee(List<ReceivableFeeManagement> receivableFeeList, String operName) { |
| | | if (receivableFeeList == null || receivableFeeList.isEmpty()) { |
| | | return "导入用户数据不能为空!"; |
| | | return "导入数据不能为空!"; |
| | | } |
| | | int successNum = 0; |
| | | int failureNum = 0; |
| | |
| | | |
| | | for (ReceivableFeeManagement receivableFee : receivableFeeList) { |
| | | try { |
| | | // 验证系统编号是否唯一 |
| | | ReceivableFeeManagement checkFee = new ReceivableFeeManagement(); |
| | | checkFee.setSystemNo(receivableFee.getSystemNo()); |
| | | List<ReceivableFeeManagement> existingFees = selectReceivableFeeManagementList(checkFee); |
| | | // 自动生成系统编号(和新增功能一样) |
| | | String noByKey = systemDataNoService.getNoByKey(SystemDataNoEnum.YS); |
| | | receivableFee.setSystemNo(noByKey); |
| | | |
| | | if (!existingFees.isEmpty()) { |
| | | // 存在重复记录 |
| | | if (updateSupport) { |
| | | // 更新支持,进行更新操作 |
| | | ReceivableFeeManagement existingFee = existingFees.get(0); |
| | | receivableFee.setId(existingFee.getId()); |
| | | receivableFee.setUpdateTime(DateUtils.getNowDate()); |
| | | receivableFee.setUpdateBy(operName); |
| | | updateReceivableFeeManagement(receivableFee); |
| | | successNum++; |
| | | successMsg.append("<br/>" + successNum + ". 系统编号 " + receivableFee.getSystemNo() + " 更新成功"); |
| | | } else { |
| | | failureNum++; |
| | | failureMsg.append("<br/>" + failureNum + ". 系统编号 " + receivableFee.getSystemNo() + " 已存在"); |
| | | } |
| | | } else { |
| | | // 新增记录 |
| | | // 设置创建时间和创建人 |
| | | receivableFee.setCreateTime(DateUtils.getNowDate()); |
| | | receivableFee.setCreateBy(operName); |
| | | insertReceivableFeeManagement(receivableFee); |
| | | |
| | | // 计算应收金额字符串描述 |
| | | if (receivableFee.getReceivableFeeDetailList() != null && !receivableFee.getReceivableFeeDetailList().isEmpty()) { |
| | | String receivableAmountStr = calculateReceivableAmountStr(receivableFee.getReceivableFeeDetailList()); |
| | | receivableFee.setReceivableAmountStr(receivableAmountStr); |
| | | } |
| | | |
| | | // 新增记录(不做存在性判断) |
| | | int result = insertReceivableFeeManagement(receivableFee); |
| | | |
| | | if (result > 0) { |
| | | successNum++; |
| | | successMsg.append("<br/>" + successNum + ". 系统编号 " + receivableFee.getSystemNo() + " 导入成功"); |
| | | } else { |
| | | failureNum++; |
| | | failureMsg.append("<br/>" + failureNum + ". 系统编号 " + receivableFee.getSystemNo() + " 导入失败"); |
| | | } |
| | | } catch (Exception e) { |
| | | failureNum++; |
| | | String msg = "<br/>" + failureNum + ". 系统编号 " + receivableFee.getSystemNo() + " 导入失败:"; |
| | | String msg = "<br/>" + failureNum + ". 系统编号 " + (receivableFee.getSystemNo() != null ? receivableFee.getSystemNo() : "未知") + " 导入失败:"; |
| | | failureMsg.append(msg + e.getMessage()); |
| | | logger.error(msg, e); |
| | | } |