代码提交

This commit is contained in:
itcast 2025-12-22 17:50:58 +08:00
parent cf547a0424
commit 5603db4730
3 changed files with 54 additions and 22 deletions

View File

@ -443,10 +443,12 @@ public class DevMergeServiceImpl implements DevMergeService {
} }
// 2. 过滤null元素 // 2. 过滤null元素
list = list.stream().filter(Objects::nonNull).collect(Collectors.toList()); list = list.stream().filter(Objects::nonNull)
.filter(item-> StringUtils.hasText(item.getProfession()) || isCoreFieldHasValue(item))
.collect(Collectors.toList());
// 2.1 过滤装备类目都没选择的数据 // 2.1 过滤装备类目都没选择的数据
list = list.stream().filter(item -> StringUtils.isNotBlank(item.getProfession())).collect(Collectors.toList()); //list = list.stream().filter(item -> StringUtils.isNotBlank(item.getProfession())).collect(Collectors.toList());
// 3. 再次检查过滤后是否有有效数据 // 3. 再次检查过滤后是否有有效数据
if (list.isEmpty()) { if (list.isEmpty()) {
@ -463,21 +465,21 @@ public class DevMergeServiceImpl implements DevMergeService {
// 2. 批量校验DTO字段合法性JSR-303 // 2. 批量校验DTO字段合法性JSR-303
List<String> errorMessages = new ArrayList<>(); List<String> errorMessages = new ArrayList<>();
for (int i = 0; i < list.size(); i++) { // for (int i = 0; i < list.size(); i++) {
EquipmentImportDTO item = list.get(i); // EquipmentImportDTO item = list.get(i);
Set<ConstraintViolation<EquipmentImportDTO>> violations = validator.validate(item); // Set<ConstraintViolation<EquipmentImportDTO>> violations = validator.validate(item);
if (!violations.isEmpty()) { // if (!violations.isEmpty()) {
StringBuilder sb = new StringBuilder(); // StringBuilder sb = new StringBuilder();
sb.append("").append(i + 1).append("行数据错误:"); // 行号从1开始方便用户定位 // sb.append("").append(i + 1).append("行数据错误:"); // 行号从1开始方便用户定位
for (ConstraintViolation<EquipmentImportDTO> violation : violations) { // for (ConstraintViolation<EquipmentImportDTO> violation : violations) {
sb.append(violation.getMessage()).append(""); // sb.append(violation.getMessage()).append("");
} // }
errorMessages.add(sb.toString()); // errorMessages.add(sb.toString());
} // }
} // }
if (!errorMessages.isEmpty()) { // if (!errorMessages.isEmpty()) {
return AjaxResult.error("导入失败,存在以下错误:" + String.join(" ", errorMessages)); // return AjaxResult.error("导入失败,存在以下错误:" + String.join(" ", errorMessages));
} // }
// 4. 遍历数据进行最终校验和导入 // 4. 遍历数据进行最终校验和导入
for (int i = 0; i < list.size(); i++) { for (int i = 0; i < list.size(); i++) {
@ -1153,4 +1155,21 @@ public class DevMergeServiceImpl implements DevMergeService {
return typePropertiesMap; return typePropertiesMap;
} }
private boolean isCoreFieldHasValue(EquipmentImportDTO item){
return StringUtils.hasText(item.getEquipmentName())
|| StringUtils.hasText(item.getSpecification())
|| item.getOriginalValue() != null
|| StringUtils.hasText(item.getManufacturer())
|| item.getProductionDate() != null
|| item.getNextMaintenanceDate() != null
|| StringUtils.hasText(item.getOriginalCode())
|| item.getMaxServiceYears() != null
|| StringUtils.hasText(item.getUnit())
|| item.getPurchaseDate() != null;
}
} }

View File

@ -352,12 +352,13 @@ public class RepairServiceImpl implements RepairService {
if ("装备".equals(toBeRepair.getType())) { if ("装备".equals(toBeRepair.getType())) {
ToBeRepair bean1 = mapper.selectMaDevInfoByTypeIdAndCode(toBeRepair); ToBeRepair bean1 = mapper.selectMaDevInfoByTypeIdAndCode(toBeRepair);
if (bean1 == null || !"5".equals(bean1.getStatus())) { if (bean1 == null || !"5".equals(bean1.getStatus())) {
throw new RuntimeException(toBeRepair.getCode() + "编码设备已经处理过"); return AjaxResult.error(toBeRepair.getCode() + "编码设备已经处理过",AjaxResult.class);
} }
} else if ("工具".equals(toBeRepair.getType())) { } else if ("工具".equals(toBeRepair.getType())) {
ToBeRepair bean1 = mapper.selectByTypeIdAndCode(toBeRepair); ToBeRepair bean1 = mapper.selectByTypeIdAndCode(toBeRepair);
if (bean1 == null || !"2".equals(bean1.getStatus())) { if (bean1 == null || !"2".equals(bean1.getStatus())) {
throw new RuntimeException(toBeRepair.getCode() + "编码设备已经处理过"); return AjaxResult.error(toBeRepair.getCode() + "编码设备已经处理过",AjaxResult.class);
} }
} }
} else if ("数量管理".equals(toBeRepair.getManageMode())) { } else if ("数量管理".equals(toBeRepair.getManageMode())) {
@ -365,7 +366,7 @@ public class RepairServiceImpl implements RepairService {
//todo 目前数量管理的设备都是工具 //todo 目前数量管理的设备都是工具
ToBeRepair bean1 = mapper.selectByTypeIdAndCode(toBeRepair); ToBeRepair bean1 = mapper.selectByTypeIdAndCode(toBeRepair);
if (bean1 == null || bean1.getRepairNum().compareTo(toBeRepair.getRepairNum()) < 0) { if (bean1 == null || bean1.getRepairNum().compareTo(toBeRepair.getRepairNum()) < 0) {
throw new RuntimeException(toBeRepair.getTypeModelName() + "剩余维修设备数量不足"); return AjaxResult.error(toBeRepair.getTypeModelName() + "剩余维修设备数量不足",AjaxResult.class);
} }
} }
if (!StringHelper.isNullOrEmptyString(toBeRepair.getAuditStatus())) { if (!StringHelper.isNullOrEmptyString(toBeRepair.getAuditStatus())) {

View File

@ -346,8 +346,20 @@
LEFT JOIN tool_ledger tl on tl.id=od.ma_id LEFT JOIN tool_ledger tl on tl.id=od.ma_id
LEFT JOIN tool_type tt ON tl.type_id = tt.type_id LEFT JOIN tool_type tt ON tl.type_id = tt.type_id
LEFT JOIN tool_type tt1 ON tt1.type_id = tt.parent_id LEFT JOIN tool_type tt1 ON tt1.type_id = tt.parent_id
where od.devType=#{status} <where>
od.devType=#{status}
AND tl.type_id = #{typeId} AND tl.type_id = #{typeId}
and od.real_num is NOT null
<if test="keyWord != null and keyWord != ''">
AND (
tl.tool_code LIKE CONCAT('%', #{keyWord}, '%')
OR tt.type_name LIKE CONCAT('%', #{keyWord}, '%')
OR tt1.type_name LIKE CONCAT('%', #{keyWord}, '%')
OR oi.pro_name LIKE CONCAT('%', #{keyWord}, '%')
OR od.real_num =#{keyWord}
)
</if>
</where>
</select> </select>
<insert id="insertDevInfoProperties"> <insert id="insertDevInfoProperties">