fix: 法规符合性评估库搜素SQL问题
This commit is contained in:
@@ -170,6 +170,8 @@ public class ResultCommon {
|
|||||||
public static final String ASSESS_DELETE_ERROR = "assess.delete.error";
|
public static final String ASSESS_DELETE_ERROR = "assess.delete.error";
|
||||||
//项目中有评估中的数据时,不允许删除
|
//项目中有评估中的数据时,不允许删除
|
||||||
public static final String ASSESS_DELETE_ERROR2 = "assess.delete.error2";
|
public static final String ASSESS_DELETE_ERROR2 = "assess.delete.error2";
|
||||||
|
//法规符合性排查流程有正在进行中的流程,不允许删除
|
||||||
|
public static final String SCC_DELETE_STANDARD_ERROR = "scc.delete.standard.error";
|
||||||
|
|
||||||
// 流程已分发,禁止驳回
|
// 流程已分发,禁止驳回
|
||||||
public static final String PROCESS_ALREADY_DISTRIBUTED = "process.already.distributed";
|
public static final String PROCESS_ALREADY_DISTRIBUTED = "process.already.distributed";
|
||||||
|
|||||||
+31
-1
@@ -15,8 +15,10 @@ import com.jero.common.util.MessageUtils;
|
|||||||
import com.jero.common.util.ZipUtil;
|
import com.jero.common.util.ZipUtil;
|
||||||
import com.jero.common.util.obs.ObsBootUtil;
|
import com.jero.common.util.obs.ObsBootUtil;
|
||||||
import com.jero.modules.activiti.common.ActivitiCommon;
|
import com.jero.modules.activiti.common.ActivitiCommon;
|
||||||
|
import com.jero.modules.activiti.entity.ProcessAll;
|
||||||
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
import com.jero.modules.activiti.entity.ProcessApprovalRecord;
|
||||||
import com.jero.modules.activiti.entity.ProcessNode;
|
import com.jero.modules.activiti.entity.ProcessNode;
|
||||||
|
import com.jero.modules.activiti.enums.FinishFlagEnum;
|
||||||
import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
import com.jero.modules.activiti.enums.ProcessTypeEnum;
|
||||||
import com.jero.modules.activiti.process.common.enums.ProcessType;
|
import com.jero.modules.activiti.process.common.enums.ProcessType;
|
||||||
import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
|
import com.jero.modules.activiti.process.common.service.ActFlowCommonService;
|
||||||
@@ -35,6 +37,7 @@ import com.jero.modules.activiti.process.standardComplianceCheck.entity.vo.Witho
|
|||||||
import com.jero.modules.activiti.process.standardComplianceCheck.mapper.ProcessStandardComplianceCheckMapper;
|
import com.jero.modules.activiti.process.standardComplianceCheck.mapper.ProcessStandardComplianceCheckMapper;
|
||||||
import com.jero.modules.activiti.process.standardComplianceCheck.service.IProcessStandardComplianceCheckDetailService;
|
import com.jero.modules.activiti.process.standardComplianceCheck.service.IProcessStandardComplianceCheckDetailService;
|
||||||
import com.jero.modules.activiti.process.standardComplianceCheck.service.IProcessStandardComplianceCheckService;
|
import com.jero.modules.activiti.process.standardComplianceCheck.service.IProcessStandardComplianceCheckService;
|
||||||
|
import com.jero.modules.activiti.service.ProcessAllService;
|
||||||
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
|
import com.jero.modules.activiti.service.ProcessApprovalRecordService;
|
||||||
import com.jero.modules.activiti.service.ProcessNodeLinkService;
|
import com.jero.modules.activiti.service.ProcessNodeLinkService;
|
||||||
import com.jero.modules.activiti.service.ProcessNodeService;
|
import com.jero.modules.activiti.service.ProcessNodeService;
|
||||||
@@ -43,6 +46,7 @@ import com.jero.modules.laws.common.service.impl.LawsCommonServiceImpl;
|
|||||||
import com.jero.modules.laws.documenttool.entity.LawsDocumentSplit;
|
import com.jero.modules.laws.documenttool.entity.LawsDocumentSplit;
|
||||||
import com.jero.modules.laws.documenttool.mapper.DocumentSplitMapper;
|
import com.jero.modules.laws.documenttool.mapper.DocumentSplitMapper;
|
||||||
import com.jero.modules.laws.enterprise.util.BeanCopyUtils;
|
import com.jero.modules.laws.enterprise.util.BeanCopyUtils;
|
||||||
|
import com.jero.modules.laws.standard.service.DoNotSplitStandardProvider;
|
||||||
import com.jero.modules.laws.utils.ExcelExportUtilPro;
|
import com.jero.modules.laws.utils.ExcelExportUtilPro;
|
||||||
import com.jero.modules.oss.entity.OSSFile;
|
import com.jero.modules.oss.entity.OSSFile;
|
||||||
import com.jero.modules.oss.service.IOSSFileService;
|
import com.jero.modules.oss.service.IOSSFileService;
|
||||||
@@ -95,7 +99,7 @@ import static com.jero.modules.activiti.process.standardComplianceCheck.common.P
|
|||||||
@Service
|
@Service
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<ProcessStandardComplianceCheckMapper, ProcessStandardComplianceCheck>
|
public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<ProcessStandardComplianceCheckMapper, ProcessStandardComplianceCheck>
|
||||||
implements IProcessStandardComplianceCheckService {
|
implements IProcessStandardComplianceCheckService, DoNotSplitStandardProvider {
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private IProcessHandleService processHandleService;
|
private IProcessHandleService processHandleService;
|
||||||
@@ -127,6 +131,8 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
|
|||||||
private ProcessNodeService processNodeService;
|
private ProcessNodeService processNodeService;
|
||||||
@Resource
|
@Resource
|
||||||
private ProcessApprovalRecordService approvalRecordService;
|
private ProcessApprovalRecordService approvalRecordService;
|
||||||
|
@Resource
|
||||||
|
private ProcessAllService paService;
|
||||||
|
|
||||||
@Value("${jero.path.exportExcelTempPath}")
|
@Value("${jero.path.exportExcelTempPath}")
|
||||||
private String exportExcelTempPath;
|
private String exportExcelTempPath;
|
||||||
@@ -1047,6 +1053,30 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
|
|||||||
}
|
}
|
||||||
return modelExcelVOList;
|
return modelExcelVOList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<String> getDoNotDeleteStandardIdList() {
|
||||||
|
List<ProcessStandardComplianceCheck> list = list();
|
||||||
|
List<ProcessStandardComplianceCheck> collect =
|
||||||
|
list.stream().filter(e -> StrUtil.isNotBlank(e.getStandardId())).collect(Collectors.toList());
|
||||||
|
// 去流程主表判断对应的流程是否已经结束
|
||||||
|
List<String> prcIdList = collect.stream().map(ProcessStandardComplianceCheck::getProcessInstanceId)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
LambdaQueryWrapper<ProcessAll> wrapper = new LambdaQueryWrapper<>();
|
||||||
|
wrapper.in(ProcessAll::getProcessInstanceId, prcIdList);
|
||||||
|
wrapper.eq(ProcessAll::getPrcStatus, FinishFlagEnum.INCOMPLETE.getValue());
|
||||||
|
// 未完成的流程
|
||||||
|
List<ProcessAll> incompleteList = paService.list(wrapper);
|
||||||
|
return collect.stream().filter(e -> incompleteList.stream()
|
||||||
|
.noneMatch(i -> i.getProcessInstanceId().equals(e.getProcessInstanceId())))
|
||||||
|
.map(ProcessStandardComplianceCheck::getStandardId)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getResultCommon() {
|
||||||
|
return ResultCommon.SCC_DELETE_STANDARD_ERROR;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+12
-17
@@ -18,23 +18,18 @@
|
|||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<select id="queryByPage" resultType="com.jero.modules.assessmentLibrary.entity.LawsConformityAssessmentLibrary">
|
<select id="queryByPage" resultType="com.jero.modules.assessmentLibrary.entity.LawsConformityAssessmentLibrary">
|
||||||
SELECT cs.id,
|
select *
|
||||||
cs.standard_id,
|
from (select cs.id,
|
||||||
sub.standard_number,
|
cs.standard_id,
|
||||||
sub.standard_name,
|
IF(cs.standard_id IS NOT NULL, d.standard_number, cs.standard_number) AS standard_number,
|
||||||
lms.country AS applicableMarket,
|
IF(cs.standard_id IS NOT NULL, d.standard_name, cs.standard_name) AS standard_name,
|
||||||
cs.valuation_time
|
lms.country as applicableMarket,
|
||||||
FROM laws_conformity_assessment_library cs
|
cs.valuation_time,
|
||||||
LEFT JOIN (
|
cs.create_time
|
||||||
SELECT
|
from laws_conformity_assessment_library cs
|
||||||
COALESCE(d.standard_number, cs.standard_number) AS standard_number,
|
left join laws_domestic_standard as d on d.id = cs.standard_id
|
||||||
COALESCE(d.standard_name, cs.standard_name) AS standard_name,
|
left join laws_market_standard as lms on lms.id = cs.applicable_market) as t
|
||||||
cs.standard_id
|
${ew.customSqlSegment}
|
||||||
FROM laws_conformity_assessment_library cs
|
|
||||||
LEFT JOIN laws_domestic_standard d ON d.id = cs.standard_id
|
|
||||||
) AS sub ON sub.standard_id = cs.standard_id
|
|
||||||
LEFT JOIN laws_market_standard lms ON lms.id = cs.applicable_market
|
|
||||||
${ew.customSqlSegment}
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="detail"
|
<select id="detail"
|
||||||
|
|||||||
+6
-6
@@ -81,25 +81,25 @@ public class LawsConformityAssessmentLibraryServiceImpl extends ServiceImpl<Laws
|
|||||||
QueryWrapper<LawsConformityAssessmentLibrary> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<LawsConformityAssessmentLibrary> queryWrapper = new QueryWrapper<>();
|
||||||
Page<LawsConformityAssessmentLibrary> page = new Page<>(pageNo, pageSize);
|
Page<LawsConformityAssessmentLibrary> page = new Page<>(pageNo, pageSize);
|
||||||
queryWrapper.like(StringUtils.isNotBlank(lawsConformityAssessmentLibrary.getStandardNumber()),
|
queryWrapper.like(StringUtils.isNotBlank(lawsConformityAssessmentLibrary.getStandardNumber()),
|
||||||
"sub.standard_number", lawsConformityAssessmentLibrary.getStandardNumber());
|
"standard_number", lawsConformityAssessmentLibrary.getStandardNumber());
|
||||||
queryWrapper.like(StringUtils.isNotBlank(lawsConformityAssessmentLibrary.getStandardName()),
|
queryWrapper.like(StringUtils.isNotBlank(lawsConformityAssessmentLibrary.getStandardName()),
|
||||||
"sub.standard_name", lawsConformityAssessmentLibrary.getStandardName());
|
"standard_name", lawsConformityAssessmentLibrary.getStandardName());
|
||||||
String applicableMarkets = lawsConformityAssessmentLibrary.getApplicableMarket();
|
String applicableMarkets = lawsConformityAssessmentLibrary.getApplicableMarket();
|
||||||
if (StringUtils.isNotBlank(applicableMarkets)) {
|
if (StringUtils.isNotBlank(applicableMarkets)) {
|
||||||
String[] split = applicableMarkets.split(",");
|
String[] split = applicableMarkets.split(",");
|
||||||
for (String splitStr : split) {
|
for (String splitStr : split) {
|
||||||
queryWrapper.like("lms.country", splitStr);
|
queryWrapper.like("country", splitStr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (StringUtils.isNotBlank(lawsConformityAssessmentLibrary.getSelections())) {
|
if (StringUtils.isNotBlank(lawsConformityAssessmentLibrary.getSelections())) {
|
||||||
queryWrapper.in("cs.id", Arrays.asList(lawsConformityAssessmentLibrary.getSelections().split(",")));
|
queryWrapper.in("id", Arrays.asList(lawsConformityAssessmentLibrary.getSelections().split(",")));
|
||||||
}
|
}
|
||||||
queryWrapper.between(lawsConformityAssessmentLibrary.getValuationTime() != null,
|
queryWrapper.between(lawsConformityAssessmentLibrary.getValuationTime() != null,
|
||||||
"valuation_time", lawsConformityAssessmentLibrary.getStartValuationTime(), lawsConformityAssessmentLibrary.getEndValuationTime());
|
"valuation_time", lawsConformityAssessmentLibrary.getStartValuationTime(), lawsConformityAssessmentLibrary.getEndValuationTime());
|
||||||
queryWrapper.orderByDesc("cs.create_time");
|
queryWrapper.orderByDesc("create_time");
|
||||||
if (noAdminAuth()) {
|
if (noAdminAuth()) {
|
||||||
String userId = UserUtils.getUserId();
|
String userId = UserUtils.getUserId();
|
||||||
queryWrapper.like("cs.all_approval_user", userId);
|
queryWrapper.like("all_approval_user", userId);
|
||||||
}
|
}
|
||||||
return lawsConformityAssessmentLibraryMapper.queryByPage(page, queryWrapper);
|
return lawsConformityAssessmentLibraryMapper.queryByPage(page, queryWrapper);
|
||||||
}
|
}
|
||||||
|
|||||||
+13
-6
@@ -11,6 +11,7 @@ import com.jero.modules.compare.service.ISarFileCompareInfoService;
|
|||||||
import com.jero.modules.laws.common.constant.FieldCommon;
|
import com.jero.modules.laws.common.constant.FieldCommon;
|
||||||
import com.jero.modules.laws.common.service.ILawsCommonService;
|
import com.jero.modules.laws.common.service.ILawsCommonService;
|
||||||
import com.jero.modules.laws.standard.service.ILawsNodeRelationService;
|
import com.jero.modules.laws.standard.service.ILawsNodeRelationService;
|
||||||
|
import com.jero.modules.laws.standard.util.StandardUtil;
|
||||||
import com.jero.modules.personal.service.ILawsStandardCollectionService;
|
import com.jero.modules.personal.service.ILawsStandardCollectionService;
|
||||||
import com.jero.modules.split.service.ISarFileSplitInfoService;
|
import com.jero.modules.split.service.ISarFileSplitInfoService;
|
||||||
import com.jero.modules.tag.entity.LawsTag;
|
import com.jero.modules.tag.entity.LawsTag;
|
||||||
@@ -26,6 +27,7 @@ import org.springframework.web.multipart.MultipartFile;
|
|||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@@ -53,6 +55,9 @@ public class LawsDomesticController {
|
|||||||
@Resource
|
@Resource
|
||||||
private ISarFileCompareInfoService compareInfoService;
|
private ISarFileCompareInfoService compareInfoService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private StandardUtil standardUtil;
|
||||||
|
|
||||||
private static final String MODULE_VALUE = TableNameEnum.DOMESTIC_REGULATIONS.getValue();
|
private static final String MODULE_VALUE = TableNameEnum.DOMESTIC_REGULATIONS.getValue();
|
||||||
|
|
||||||
@AutoLog(value = "国内法规标准-分页列表查询")
|
@AutoLog(value = "国内法规标准-分页列表查询")
|
||||||
@@ -147,12 +152,14 @@ public class LawsDomesticController {
|
|||||||
public Result<String> deleteByIdsAndModule(@RequestBody @ApiParam(name = "ids", value = "主键(多个用逗号分隔)") Map<String,Object> parameterMap) {
|
public Result<String> deleteByIdsAndModule(@RequestBody @ApiParam(name = "ids", value = "主键(多个用逗号分隔)") Map<String,Object> parameterMap) {
|
||||||
// 删除校验
|
// 删除校验
|
||||||
// processFbEntryChangeService.delCheck((String) parameterMap.get("ids"));
|
// processFbEntryChangeService.delCheck((String) parameterMap.get("ids"));
|
||||||
//删除标准时同步删除这个标准的收藏数据
|
standardUtil.validDeleteStandard(Collections.singletonList((String) parameterMap.get("ids")));
|
||||||
lawsStandardCollectionService.deleteByStandardId((String) parameterMap.get("ids"));
|
// //删除标准时同步删除这个标准的收藏数据
|
||||||
// 删除标准时同步删除比对和拆分的相关数据
|
// lawsStandardCollectionService.deleteByStandardId((String) parameterMap.get("ids"));
|
||||||
splitInfoService.deleteByStandardId((String) parameterMap.get("ids"));
|
// // 删除标准时同步删除比对和拆分的相关数据
|
||||||
compareInfoService.deleteByStandardId((String) parameterMap.get("ids"));
|
// splitInfoService.deleteByStandardId((String) parameterMap.get("ids"));
|
||||||
return Result.OK(lawsCommonService.deleteByIdsAndModule((String) parameterMap.get("ids"), MODULE_VALUE));
|
// compareInfoService.deleteByStandardId((String) parameterMap.get("ids"));
|
||||||
|
// return Result.OK(lawsCommonService.deleteByIdsAndModule((String) parameterMap.get("ids"), MODULE_VALUE));
|
||||||
|
return Result.OK();
|
||||||
}
|
}
|
||||||
|
|
||||||
@AutoLog(value = "国内法规标准-配置标准")
|
@AutoLog(value = "国内法规标准-配置标准")
|
||||||
|
|||||||
+11
@@ -0,0 +1,11 @@
|
|||||||
|
package com.jero.modules.laws.standard.service;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface DoNotSplitStandardProvider {
|
||||||
|
|
||||||
|
List<String> getDoNotDeleteStandardIdList();
|
||||||
|
|
||||||
|
String getResultCommon();
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,46 @@
|
|||||||
|
package com.jero.modules.laws.standard.util;
|
||||||
|
|
||||||
|
import com.jero.common.exception.JeroBootException;
|
||||||
|
import com.jero.modules.laws.standard.service.DoNotSplitStandardProvider;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
public class StandardUtil {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private List<DoNotSplitStandardProvider> providers;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 判断是否可以删除
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public void validDeleteStandard(List<String> needDelStandardIdList) {
|
||||||
|
// 将需要删除的标准ID转换为HashSet以快速查找
|
||||||
|
HashSet<String> strings = new HashSet<>(needDelStandardIdList);
|
||||||
|
|
||||||
|
for (DoNotSplitStandardProvider provider : providers) {
|
||||||
|
List<String> data = provider.getDoNotDeleteStandardIdList();
|
||||||
|
|
||||||
|
// 提前退出如果没有禁止删除的ID
|
||||||
|
if (data.isEmpty()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 将禁止删除的ID也转换为Set,这样可以更高效地检查交集
|
||||||
|
Set<String> doNotDeleteSet = new HashSet<>(data);
|
||||||
|
|
||||||
|
// 检查交集,如果存在,则抛出异常
|
||||||
|
for (String id : strings) {
|
||||||
|
if (doNotDeleteSet.contains(id)) {
|
||||||
|
throw new JeroBootException(provider.getResultCommon());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -76,4 +76,5 @@ assess.delete.error=\u672A\u7B26\u5408\u9879\u4E2D\u6709\u6574\u6539\u4E2D\u3001
|
|||||||
assess.delete.error2=\u9879\u76EE\u4E2D\u6709\u8BC4\u4F30\u4E2D\u7684\u6570\u636E\u65F6\uFF0C\u4E0D\u5141\u8BB8\u5220\u9664
|
assess.delete.error2=\u9879\u76EE\u4E2D\u6709\u8BC4\u4F30\u4E2D\u7684\u6570\u636E\u65F6\uFF0C\u4E0D\u5141\u8BB8\u5220\u9664
|
||||||
new.en.standard.number.conflict=\u8BE5\u65B0\u4F01\u6807\u7F16\u53F7\u4E0E\u5DF2\u5B58\u5728\u7684\u4F01\u6807\u7F16\u53F7\u91CD\u590D\uFF0C\u8BF7\u91CD\u65B0\u4FEE\u6539\u63D0\u4EA4
|
new.en.standard.number.conflict=\u8BE5\u65B0\u4F01\u6807\u7F16\u53F7\u4E0E\u5DF2\u5B58\u5728\u7684\u4F01\u6807\u7F16\u53F7\u91CD\u590D\uFF0C\u8BF7\u91CD\u65B0\u4FEE\u6539\u63D0\u4EA4
|
||||||
zip_root_one_excel=\u538B\u7F29\u5305\u6839\u76EE\u5F55\u4E0B\u4EC5\u80FD\u5B58\u5728\u4E00\u4E2Aexcel\u4E3A\u5BFC\u5165\u6570\u636E
|
zip_root_one_excel=\u538B\u7F29\u5305\u6839\u76EE\u5F55\u4E0B\u4EC5\u80FD\u5B58\u5728\u4E00\u4E2Aexcel\u4E3A\u5BFC\u5165\u6570\u636E
|
||||||
message.no.exists.standard=\u6807\u51C6\u4E0D\u5B58\u5728\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458
|
message.no.exists.standard=\u6807\u51C6\u4E0D\u5B58\u5728\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458
|
||||||
|
scc.delete.standard.error=\u6CD5\u89C4\u7B26\u5408\u6027\u6392\u67E5\u6D41\u7A0B\u6709\u6B63\u5728\u8FDB\u884C\u4E2D\u7684\u6D41\u7A0B\uFF0C\u4E0D\u5141\u8BB8\u5220\u9664
|
||||||
|
|||||||
@@ -85,3 +85,4 @@ process.already.distributed=The process has been distributed, do not reject!
|
|||||||
process.not.countersignature=It is not a countersign node task!
|
process.not.countersignature=It is not a countersign node task!
|
||||||
zip_root_one_excel=The zip file contains more than one excel file
|
zip_root_one_excel=The zip file contains more than one excel file
|
||||||
message.no.exists.standard=The standard does not exist
|
message.no.exists.standard=The standard does not exist
|
||||||
|
scc.delete.standard.error=The standard has been used by the Standard Compliance Check Process, can not delete
|
||||||
@@ -84,3 +84,4 @@ process.already.distributed=\u6D41\u7A0B\u5DF2\u5206\u53D1,\u7981\u6B62\u9A73\u5
|
|||||||
process.not.countersignature=\u4E0D\u662F\u4F1A\u7B7E\u8282\u70B9\u4EFB\u52A1!
|
process.not.countersignature=\u4E0D\u662F\u4F1A\u7B7E\u8282\u70B9\u4EFB\u52A1!
|
||||||
zip_root_one_excel=\u538B\u7F29\u5305\u6839\u76EE\u5F55\u4E0B\u4EC5\u80FD\u5B58\u5728\u4E00\u4E2Aexcel\u4E3A\u5BFC\u5165\u6570\u636E
|
zip_root_one_excel=\u538B\u7F29\u5305\u6839\u76EE\u5F55\u4E0B\u4EC5\u80FD\u5B58\u5728\u4E00\u4E2Aexcel\u4E3A\u5BFC\u5165\u6570\u636E
|
||||||
message.no.exists.standard=\u6807\u51C6\u4E0D\u5B58\u5728\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458
|
message.no.exists.standard=\u6807\u51C6\u4E0D\u5B58\u5728\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458
|
||||||
|
scc.delete.standard.error=\u6CD5\u89C4\u7B26\u5408\u6027\u6392\u67E5\u6D41\u7A0B\u6709\u6B63\u5728\u8FDB\u884C\u4E2D\u7684\u6D41\u7A0B\uFF0C\u4E0D\u5141\u8BB8\u5220\u9664
|
||||||
|
|||||||
Reference in New Issue
Block a user