Commit 6a8a1676 authored by huyuchen's avatar huyuchen

huych-电子档案批量导入第四次提交

parent 8db181df
...@@ -39,55 +39,55 @@ public class ArchiveDownloadFeedbackVO implements Serializable { ...@@ -39,55 +39,55 @@ public class ArchiveDownloadFeedbackVO implements Serializable {
/** /**
* 项目名称 * 项目名称
*/ */
@ExcelProperty(value = "项目名称", index = 3) @ExcelProperty(value = "项目名称", index = 2)
@Schema(description = "项目名称") @Schema(description = "项目名称")
private String deptName; private String deptName;
/** /**
* 客户名称 * 客户名称
*/ */
@ExcelProperty(value = "客户名称", index = 4) @ExcelProperty(value = "客户名称", index = 3)
@Schema(description = "客户名称") @Schema(description = "客户名称")
private String customerName; private String customerName;
/** /**
* 资料类型 * 资料类型
*/ */
@ExcelProperty(value = "资料类型", index = 5) @ExcelProperty(value = "资料类型", index = 4)
@Schema(description = "资料类型") @Schema(description = "资料类型")
private String materialType; private String materialType;
/** /**
* 资料类型 * 资料类型
*/ */
@ExcelProperty(value = "档案所在地", index = 6) @ExcelProperty(value = "档案所在地", index = 5)
@Schema(description = "档案所在地") @Schema(description = "档案所在地")
private String fileAddress; private String fileAddress;
/** /**
* 项目编码 * 项目编码
*/ */
@ExcelProperty(value = "项目编码", index = 7) @ExcelProperty(value = "项目编码", index = 6)
@Schema(description = "项目编码") @Schema(description = "项目编码")
private String deptNo; private String deptNo;
/** /**
* 客户编码 * 客户编码
*/ */
@ExcelProperty(value = "客户编码", index = 8) @ExcelProperty(value = "客户编码", index = 7)
@Schema(description = "客户编码") @Schema(description = "客户编码")
private String customerCode; private String customerCode;
/** /**
* 下载状态(成功/失败) * 下载状态(成功/失败)
*/ */
@ExcelProperty(value = "下载状态", index = 9) @ExcelProperty(value = "下载状态", index = 8)
@Schema(description = "下载状态") @Schema(description = "下载状态")
private String downloadStatus; private String downloadStatus;
/** /**
* 失败原因 * 失败原因
*/ */
@ExcelProperty(value = "失败原因", index = 10) @ExcelProperty(value = "失败原因", index = 9)
@Schema(description = "失败原因") @Schema(description = "失败原因")
private String failReason; private String failReason;
} }
......
...@@ -268,11 +268,12 @@ public class ElectronicArchiveImportServiceImpl implements ElectronicArchiveImpo ...@@ -268,11 +268,12 @@ public class ElectronicArchiveImportServiceImpl implements ElectronicArchiveImpo
detail.setStatus(ArchiveConstants.DETAIL_STATUS_DISABLED); detail.setStatus(ArchiveConstants.DETAIL_STATUS_DISABLED);
detail.setDeleteFlag(CommonConstants.ZERO_STRING); detail.setDeleteFlag(CommonConstants.ZERO_STRING);
// 设置档案所在地(需要从empInfo中获取) // 设置档案所在地(需要从empInfo中获取)
detail.setFileProvince(empInfo.getFileProvince()); detail.setFileProvince(empInfo.getFileProvince());
detail.setFileCity(empInfo.getFileCity()); detail.setFileCity(empInfo.getFileCity());
detail.setFileTown(empInfo.getFileTown()); detail.setFileTown(empInfo.getFileTown());
detailService.save(detail); detail.setFileAddress(buildFileAddress(empInfo.getFileProvince(), empInfo.getFileCity(), empInfo.getFileTown()));
detailService.save(detail);
} }
successList.add(data); successList.add(data);
...@@ -1128,6 +1129,7 @@ public class ElectronicArchiveImportServiceImpl implements ElectronicArchiveImpo ...@@ -1128,6 +1129,7 @@ public class ElectronicArchiveImportServiceImpl implements ElectronicArchiveImpo
detail.setFileProvince(empInfo.getFileProvince()); detail.setFileProvince(empInfo.getFileProvince());
detail.setFileCity(empInfo.getFileCity()); detail.setFileCity(empInfo.getFileCity());
detail.setFileTown(empInfo.getFileTown()); detail.setFileTown(empInfo.getFileTown());
detail.setFileAddress(buildFileAddress(empInfo.getFileProvince(), empInfo.getFileCity(), empInfo.getFileTown()));
detailService.save(detail); detailService.save(detail);
} else { } else {
// 存在则更新资料类型(追加) // 存在则更新资料类型(追加)
...@@ -1276,12 +1278,13 @@ public class ElectronicArchiveImportServiceImpl implements ElectronicArchiveImpo ...@@ -1276,12 +1278,13 @@ public class ElectronicArchiveImportServiceImpl implements ElectronicArchiveImpo
detail.setMaterialType(materialType); detail.setMaterialType(materialType);
detail.setStatus(ArchiveConstants.DETAIL_STATUS_ENABLED); detail.setStatus(ArchiveConstants.DETAIL_STATUS_ENABLED);
detail.setDeleteFlag(CommonConstants.ZERO_STRING); detail.setDeleteFlag(CommonConstants.ZERO_STRING);
detail.setFileProvince(empInfo.getFileProvince()); detail.setFileProvince(empInfo.getFileProvince());
detail.setFileCity(empInfo.getFileCity()); detail.setFileCity(empInfo.getFileCity());
detail.setFileTown(empInfo.getFileTown()); detail.setFileTown(empInfo.getFileTown());
detailService.save(detail); detail.setFileAddress(buildFileAddress(empInfo.getFileProvince(), empInfo.getFileCity(), empInfo.getFileTown()));
detailService.save(detail);
} else { } else {
// 存在则更新资料类型(追加) // 存在则更新资料类型(追加)
Set<String> existTypes = new HashSet<>(); Set<String> existTypes = new HashSet<>();
if (StrUtil.isNotBlank(detail.getMaterialType())) { if (StrUtil.isNotBlank(detail.getMaterialType())) {
...@@ -1348,5 +1351,52 @@ public class ElectronicArchiveImportServiceImpl implements ElectronicArchiveImpo ...@@ -1348,5 +1351,52 @@ public class ElectronicArchiveImportServiceImpl implements ElectronicArchiveImpo
return R.failed("处理失败:" + e.getMessage()); return R.failed("处理失败:" + e.getMessage());
} }
} }
/**
* 构建档案所在地地址字符串
* 格式:安徽省/合肥市 或 安徽省/合肥市/庐阳区
*
* @param provinceCode 省代码
* @param cityCode 市代码
* @param townCode 区代码
* @return 档案所在地地址字符串
*/
private String buildFileAddress(Integer provinceCode, Integer cityCode, Integer townCode) {
if (provinceCode == null) {
return "";
}
StringBuilder address = new StringBuilder();
// 获取省名称
String provinceName = (String) RedisUtil.redis.opsForValue().get(CacheConstants.AREA_LABEL + provinceCode);
if (StrUtil.isNotBlank(provinceName)) {
address.append(provinceName);
}
// 获取市名称
if (Common.isNotNull(cityCode)) {
String cityName = (String) RedisUtil.redis.opsForValue().get(CacheConstants.AREA_LABEL + cityCode);
if (StrUtil.isNotBlank(cityName)) {
if (address.length() > 0) {
address.append("/");
}
address.append(cityName);
}
}
// 获取区名称(如果存在)
if (Common.isNotNull(townCode)) {
String townName = (String) RedisUtil.redis.opsForValue().get(CacheConstants.AREA_LABEL + townCode);
if (StrUtil.isNotBlank(townName)) {
if (address.length() > 0) {
address.append("/");
}
address.append(townName);
}
}
return address.toString();
}
} }
...@@ -236,7 +236,7 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic ...@@ -236,7 +236,7 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic
} catch (Exception e) { } catch (Exception e) {
log.error("处理下载请求失败,姓名:{},身份证:{},项目编码:{}", log.error("处理下载请求失败,姓名:{},身份证:{},项目编码:{}",
request.getEmpName(), request.getEmpIdcard(), request.getDeptNo(), e); request.getEmpName(), request.getEmpIdcard(), request.getDeptNo(), e);
feedbackList.add(createFeedbackVO(request, "系统异常:" + e.getMessage())); feedbackList.add(createFeedbackVO(request, "系统异常:" + e.getMessage(),null));
} }
} }
...@@ -330,11 +330,6 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic ...@@ -330,11 +330,6 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic
List<ArchiveDownloadFeedbackVO> feedbackList, List<ArchiveDownloadFeedbackVO> feedbackList,
boolean isCheck, boolean isCheck,
List<String> deptNoList) { List<String> deptNoList) {
//项目权限校验
if (isCheck && !deptNoList.contains(request.getDeptNo())) {
feedbackList.add(createFeedbackVO(request, "没有该项目的权限"));
return;
}
// 1. 根据姓名、身份证、项目编码、项目名称查询电子档案明细 // 1. 根据姓名、身份证、项目编码、项目名称查询电子档案明细
LambdaQueryWrapper<TElectronicArchiveDetail> wrapper = Wrappers.<TElectronicArchiveDetail>lambdaQuery() LambdaQueryWrapper<TElectronicArchiveDetail> wrapper = Wrappers.<TElectronicArchiveDetail>lambdaQuery()
...@@ -350,10 +345,16 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic ...@@ -350,10 +345,16 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic
// 查询档案明细 // 查询档案明细
TElectronicArchiveDetail detail = baseMapper.selectOne(wrapper); TElectronicArchiveDetail detail = baseMapper.selectOne(wrapper);
//项目权限校验
if (isCheck && !deptNoList.contains(request.getDeptNo())) {
feedbackList.add(createFeedbackVO(request, "没有该项目的权限",detail));
return;
}
// 2. 如果未找到档案,添加失败反馈 // 2. 如果未找到档案,添加失败反馈
if (Common.isEmpty(detail)) { if (Common.isEmpty(detail)) {
feedbackList.add(createFeedbackVO(request, "没找到这个人和项目对应的信息")); feedbackList.add(createFeedbackVO(request, "没找到这个人和项目对应的信息",detail));
return; return;
} }
...@@ -369,7 +370,7 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic ...@@ -369,7 +370,7 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic
.eq(TAttaInfo::getStatus, ArchiveConstants.ATTA_STATUS_ENABLED)); .eq(TAttaInfo::getStatus, ArchiveConstants.ATTA_STATUS_ENABLED));
if (CollUtil.isEmpty(allAttaList)) { if (CollUtil.isEmpty(allAttaList)) {
feedbackList.add(createFeedbackVO(request, "该人员在此项目下没有可用的附件")); feedbackList.add(createFeedbackVO(request, "该人员在此项目下没有可用的附件", detail));
return; return;
} }
...@@ -406,14 +407,14 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic ...@@ -406,14 +407,14 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic
feedbackRequest.setDeptNo(request.getDeptNo()); feedbackRequest.setDeptNo(request.getDeptNo());
feedbackRequest.setDeptName(request.getDeptName()); feedbackRequest.setDeptName(request.getDeptName());
feedbackRequest.setMaterialType("全部资料类型"); feedbackRequest.setMaterialType("全部资料类型");
feedbackList.add(createSuccessFeedbackVO(feedbackRequest)); feedbackList.add(createSuccessFeedbackVO(feedbackRequest,detail));
} else { } else {
// 下载指定资料类型 // 下载指定资料类型
// 检查资料类型是否匹配(支持多个资料类型,用逗号分隔) // 检查资料类型是否匹配(支持多个资料类型,用逗号分隔)
if (StrUtil.isBlank(detail.getMaterialType()) || if (StrUtil.isBlank(detail.getMaterialType()) ||
!detail.getMaterialType().contains(request.getMaterialType())) { !detail.getMaterialType().contains(request.getMaterialType())) {
feedbackList.add(createFeedbackVO(request, "该人员在此项目下没有【" + request.getMaterialType() + "】类型的资料")); feedbackList.add(createFeedbackVO(request, "该人员在此项目下没有【" + request.getMaterialType() + "】类型的资料",detail));
return; return;
} }
...@@ -426,7 +427,7 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic ...@@ -426,7 +427,7 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic
// 如果没有附件,添加失败反馈 // 如果没有附件,添加失败反馈
if (CollUtil.isEmpty(attaList)) { if (CollUtil.isEmpty(attaList)) {
feedbackList.add(createFeedbackVO(request, "该资料类型下没有可用的附件")); feedbackList.add(createFeedbackVO(request, "该资料类型下没有可用的附件",detail));
return; return;
} }
...@@ -449,7 +450,7 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic ...@@ -449,7 +450,7 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic
downloadInfo.setMaterialType(request.getMaterialType()); downloadInfo.setMaterialType(request.getMaterialType());
// 添加成功的反馈(状态暂时为"处理中",实际下载完成后更新) // 添加成功的反馈(状态暂时为"处理中",实际下载完成后更新)
feedbackList.add(createSuccessFeedbackVO(request)); feedbackList.add(createSuccessFeedbackVO(request,detail));
} }
} }
...@@ -526,13 +527,19 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic ...@@ -526,13 +527,19 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic
* @param failReason 失败原因 * @param failReason 失败原因
* @return 反馈VO * @return 反馈VO
*/ */
private ArchiveDownloadFeedbackVO createFeedbackVO(ArchiveBatchDownloadRequestVO request, String failReason) { private ArchiveDownloadFeedbackVO createFeedbackVO(ArchiveBatchDownloadRequestVO request, String failReason
,TElectronicArchiveDetail detail) {
ArchiveDownloadFeedbackVO feedback = new ArchiveDownloadFeedbackVO(); ArchiveDownloadFeedbackVO feedback = new ArchiveDownloadFeedbackVO();
feedback.setEmpName(request.getEmpName()); feedback.setEmpName(request.getEmpName());
feedback.setEmpIdcard(request.getEmpIdcard()); feedback.setEmpIdcard(request.getEmpIdcard());
feedback.setDeptNo(request.getDeptNo()); feedback.setDeptNo(request.getDeptNo());
feedback.setDeptName(request.getDeptName()); feedback.setDeptName(request.getDeptName());
feedback.setMaterialType(request.getMaterialType()); feedback.setMaterialType(request.getMaterialType());
if (Common.isNotNull(detail)) {
feedback.setCustomerCode(detail.getCustomerCode());
feedback.setCustomerName(detail.getCustomerName());
feedback.setFileAddress(detail.getFileAddress());
}
feedback.setDownloadStatus("失败"); feedback.setDownloadStatus("失败");
feedback.setFailReason(failReason); feedback.setFailReason(failReason);
return feedback; return feedback;
...@@ -544,13 +551,18 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic ...@@ -544,13 +551,18 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic
* @param request 请求VO * @param request 请求VO
* @return 反馈VO * @return 反馈VO
*/ */
private ArchiveDownloadFeedbackVO createSuccessFeedbackVO(ArchiveBatchDownloadRequestVO request) { private ArchiveDownloadFeedbackVO createSuccessFeedbackVO(ArchiveBatchDownloadRequestVO request,TElectronicArchiveDetail detail) {
ArchiveDownloadFeedbackVO feedback = new ArchiveDownloadFeedbackVO(); ArchiveDownloadFeedbackVO feedback = new ArchiveDownloadFeedbackVO();
feedback.setEmpName(request.getEmpName()); feedback.setEmpName(request.getEmpName());
feedback.setEmpIdcard(request.getEmpIdcard()); feedback.setEmpIdcard(request.getEmpIdcard());
feedback.setDeptNo(request.getDeptNo()); feedback.setDeptNo(request.getDeptNo());
feedback.setDeptName(request.getDeptName()); feedback.setDeptName(request.getDeptName());
feedback.setMaterialType(request.getMaterialType()); feedback.setMaterialType(request.getMaterialType());
if (Common.isNotNull(detail)) {
feedback.setCustomerCode(detail.getCustomerCode());
feedback.setCustomerName(detail.getCustomerName());
feedback.setFileAddress(detail.getFileAddress());
}
feedback.setDownloadStatus("处理中"); feedback.setDownloadStatus("处理中");
feedback.setFailReason(""); feedback.setFailReason("");
return feedback; return feedback;
...@@ -950,6 +962,9 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic ...@@ -950,6 +962,9 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic
feedback.setDeptNo("未知"); feedback.setDeptNo("未知");
feedback.setDeptName("未知"); feedback.setDeptName("未知");
feedback.setMaterialType(request.getMaterialTypes() != null ? String.join(",", request.getMaterialTypes()) : ""); feedback.setMaterialType(request.getMaterialTypes() != null ? String.join(",", request.getMaterialTypes()) : "");
feedback.setCustomerCode("");
feedback.setCustomerName("");
feedback.setFileAddress("");
feedback.setDownloadStatus("失败"); feedback.setDownloadStatus("失败");
feedback.setFailReason(failReason); feedback.setFailReason(failReason);
return feedback; return feedback;
...@@ -965,15 +980,18 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic ...@@ -965,15 +980,18 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic
* @return 反馈VO * @return 反馈VO
*/ */
private ArchiveDownloadFeedbackVO createSelectedExportFeedbackVOWithDetail(TElectronicArchiveDetail detail, private ArchiveDownloadFeedbackVO createSelectedExportFeedbackVOWithDetail(TElectronicArchiveDetail detail,
TElectronicArchiveTask task, TElectronicArchiveTask task,
String materialType, String materialType,
String failReason) { String failReason) {
ArchiveDownloadFeedbackVO feedback = new ArchiveDownloadFeedbackVO(); ArchiveDownloadFeedbackVO feedback = new ArchiveDownloadFeedbackVO();
feedback.setEmpName(detail.getEmpName()); feedback.setEmpName(detail.getEmpName());
feedback.setEmpIdcard(detail.getEmpIdcard()); feedback.setEmpIdcard(detail.getEmpIdcard());
feedback.setDeptNo(detail.getDeptNo()); feedback.setDeptNo(detail.getDeptNo());
feedback.setDeptName(detail.getDeptName()); feedback.setDeptName(detail.getDeptName());
feedback.setMaterialType(materialType); feedback.setMaterialType(materialType);
feedback.setCustomerCode(detail.getCustomerCode());
feedback.setCustomerName(detail.getCustomerName());
feedback.setFileAddress(detail.getFileAddress());
feedback.setDownloadStatus("失败"); feedback.setDownloadStatus("失败");
feedback.setFailReason(failReason); feedback.setFailReason(failReason);
return feedback; return feedback;
...@@ -988,14 +1006,17 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic ...@@ -988,14 +1006,17 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic
* @return 反馈VO * @return 反馈VO
*/ */
private ArchiveDownloadFeedbackVO createSelectedExportSuccessFeedbackVO(TElectronicArchiveDetail detail, private ArchiveDownloadFeedbackVO createSelectedExportSuccessFeedbackVO(TElectronicArchiveDetail detail,
TElectronicArchiveTask task, TElectronicArchiveTask task,
String materialType) { String materialType) {
ArchiveDownloadFeedbackVO feedback = new ArchiveDownloadFeedbackVO(); ArchiveDownloadFeedbackVO feedback = new ArchiveDownloadFeedbackVO();
feedback.setEmpName(detail.getEmpName()); feedback.setEmpName(detail.getEmpName());
feedback.setEmpIdcard(detail.getEmpIdcard()); feedback.setEmpIdcard(detail.getEmpIdcard());
feedback.setDeptNo(detail.getDeptNo()); feedback.setDeptNo(detail.getDeptNo());
feedback.setDeptName(detail.getDeptName()); feedback.setDeptName(detail.getDeptName());
feedback.setMaterialType(materialType); feedback.setMaterialType(materialType);
feedback.setCustomerCode(detail.getCustomerCode());
feedback.setCustomerName(detail.getCustomerName());
feedback.setFileAddress(detail.getFileAddress());
feedback.setDownloadStatus("处理中"); feedback.setDownloadStatus("处理中");
feedback.setFailReason(""); feedback.setFailReason("");
return feedback; return feedback;
...@@ -1216,6 +1237,9 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic ...@@ -1216,6 +1237,9 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic
feedback.setDeptNo(detail.getDeptNo()); feedback.setDeptNo(detail.getDeptNo());
feedback.setDeptName(detail.getDeptName()); feedback.setDeptName(detail.getDeptName());
feedback.setMaterialType(detail.getMaterialType()); feedback.setMaterialType(detail.getMaterialType());
feedback.setCustomerCode(detail.getCustomerCode());
feedback.setCustomerName(detail.getCustomerName());
feedback.setFileAddress(detail.getFileAddress());
feedback.setDownloadStatus("失败"); feedback.setDownloadStatus("失败");
feedback.setFailReason(failReason); feedback.setFailReason(failReason);
return feedback; return feedback;
...@@ -1236,6 +1260,9 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic ...@@ -1236,6 +1260,9 @@ public class TElectronicArchiveDetailServiceImpl extends ServiceImpl<TElectronic
feedback.setDeptNo(detail.getDeptNo()); feedback.setDeptNo(detail.getDeptNo());
feedback.setDeptName(detail.getDeptName()); feedback.setDeptName(detail.getDeptName());
feedback.setMaterialType(String.join(",", materialTypes)); feedback.setMaterialType(String.join(",", materialTypes));
feedback.setCustomerCode(detail.getCustomerCode());
feedback.setCustomerName(detail.getCustomerName());
feedback.setFileAddress(detail.getFileAddress());
feedback.setDownloadStatus("处理中"); feedback.setDownloadStatus("处理中");
feedback.setFailReason(""); feedback.setFailReason("");
return feedback; return feedback;
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
<result property="createTime" column="CREATE_TIME"/> <result property="createTime" column="CREATE_TIME"/>
<result property="updateBy" column="UPDATE_BY"/> <result property="updateBy" column="UPDATE_BY"/>
<result property="updateTime" column="UPDATE_TIME"/> <result property="updateTime" column="UPDATE_TIME"/>
<result property="fileAddress" column="FILE_ADRESS"/> <result property="fileAddress" column="FILE_ADDRESS"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
a.ID, a.ID,
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
a.CREATE_TIME, a.CREATE_TIME,
a.UPDATE_BY, a.UPDATE_BY,
a.UPDATE_TIME, a.UPDATE_TIME,
a.FILE_ADRESS a.FILE_ADDRESS
</sql> </sql>
<sql id="tElectronicArchiveDetail_where"> <sql id="tElectronicArchiveDetail_where">
<if test="tElectronicArchiveDetail != null"> <if test="tElectronicArchiveDetail != null">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment