检验模版

liweidong
liweidong-hj 3 weeks ago
parent df2ce272b7
commit e7432d334c
  1. 3
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/InspectionTemplateVO.java
  2. 24
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsProModelServiceImpl.java
  3. 12
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionTemplateController.java
  4. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/InspectionTemplateMapper.java
  5. 5
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/InspectionTemplateMapper.xml
  6. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IInspectionTemplateService.java
  7. 88
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/InspectionTemplateServiceImpl.java

@ -32,4 +32,7 @@ public class InspectionTemplateVO extends InspectionTemplate {
@Schema(description = "明细List")
private List<RelInsTemplateItem> detailList;
@Schema(description = "子集")
List<InspectionTemplateVO> children;
}

@ -375,30 +375,6 @@ public class DsProModelServiceImpl extends BaseServiceImpl<DsProModelMapper, DsP
return true;
}
// @Override
// public List<DsProModelVO> getModelList() {
// List<DsProModelVO> dsProModelVOList = proModelMapper.selectDsProModelAll();
// if(CollectionUtils.isEmpty(dsProModelVOList)){
// return List.of();
// }
// for (DsProModelVO dsProModelVO : dsProModelVOList) {
// if (dsProModelVO.getPlatingType() != null) {
// try {
// BasicClazz basicClazz = basicClazzService.getById(dsProModelVO.getPlatingType());
// if (basicClazz != null) {
// dsProModelVO.setPlatingTypeStr(basicClazz.getName());
// }
// } catch (Exception e) {
// log.error("查询电镀类型失败, platingType: {}", dsProModelVO.getPlatingType(), e);
// }
// }
// }
//
// //然后想根据镀种分类做成二级结构platingType
//
//
// return null;
// }
@Override
public List<DsProModelVO> getModelList() {

@ -31,6 +31,7 @@ import org.springblade.desk.basic.constant.BaseRequest;
import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.basic.util.QueryUtils;
import org.springblade.desk.basic.util.RequestUtil;
import org.springblade.desk.dashboard.pojo.vo.DsProModelVO;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.InspectionTemplateExcel;
import org.springblade.desk.quality.pojo.entity.InspectionTemplate;
@ -153,6 +154,17 @@ public class InspectionTemplateController extends BladeController {
return R.data(pagesVO);
}
/**
* 检验模板
*/
@GetMapping("/getInspectionTemplateList")
@ApiOperationSupport(order = 1)
@Operation(summary = "所有检验模版", description = "")
public R<List<InspectionTemplateVO>> getInspectionTemplateList() {
List<InspectionTemplateVO> inspectionTemplateVOList = service.getInspectionTemplateList();
return R.data(inspectionTemplateVOList);
}
/**
* [检验模板] page分页

@ -40,4 +40,6 @@ public interface InspectionTemplateMapper extends BaseMapper<InspectionTemplate>
List<InspectionTemplateExcel> exportInspectionTemplate(@Param("ew") Wrapper<InspectionTemplate> queryWrapper);
List<InspectionTemplate> listSearch(IPage page, @Param("q") InspectionTemplateSearch search);
List<InspectionTemplateVO> selectAll();
}

@ -58,4 +58,9 @@
AND t.UPDATE_TIME &lt;= #{q.updateTimeEnd}
</if>
</select>
<select id="selectAll" resultType="org.springblade.desk.quality.pojo.vo.InspectionTemplateVO">
SELECT *
FROM QA_INSPECTION_TEMPLATE
WHERE is_deleted = 0
</select>
</mapper>

@ -46,4 +46,6 @@ public interface IInspectionTemplateService extends BaseService<InspectionTempla
void setVOValue(InspectionTemplateVO vo);
IPage<InspectionTemplate> listSearch(IPage<InspectionTemplate> page, InspectionTemplateSearch search);
List<InspectionTemplateVO> getInspectionTemplateList();
}

@ -5,6 +5,7 @@ package org.springblade.desk.quality.service.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import jakarta.annotation.Resource;
import lombok.AllArgsConstructor;
import lombok.Data;
@ -13,7 +14,9 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.tool.api.R;
import org.springblade.desk.basic.pojo.entity.BasicClazz;
import org.springblade.desk.basic.util.QueryUtils;
import org.springblade.desk.dashboard.pojo.vo.DsProModelVO;
import org.springblade.desk.quality.excel.InspectionTemplateExcel;
import org.springblade.desk.quality.mapper.InspectionTemplateMapper;
import org.springblade.desk.quality.pojo.entity.InspectionTemplate;
@ -26,7 +29,12 @@ import org.springblade.system.feign.IDictClient;
import org.springblade.system.feign.IUserClient;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
/**
* [检验模板] 服务实现类
@ -80,4 +88,84 @@ public class InspectionTemplateServiceImpl extends BaseServiceImpl<InspectionTem
public IPage<InspectionTemplate> listSearch(IPage<InspectionTemplate> page, InspectionTemplateSearch search) {
return page.setRecords(baseMapper.listSearch(page, search));
}
@Override
public List<InspectionTemplateVO> getInspectionTemplateList() {
List<InspectionTemplateVO> inspectionTemplateVOList = baseMapper.selectAll();
if (CollectionUtils.isEmpty(inspectionTemplateVOList)) {
return List.of();
}
// 1. 按照类别分类构建二级结构(包括category为null的情况)
Map<String, List<InspectionTemplateVO>> groupByCategory = inspectionTemplateVOList.stream()
.collect(Collectors.groupingBy(vo -> vo.getCategory() == null ? "null" : vo.getCategory()));
// 2. 构建二级结构的返回列表
List<InspectionTemplateVO> result = new ArrayList<>();
for (Map.Entry<String, List<InspectionTemplateVO>> entry : groupByCategory.entrySet()) {
String categoryKey = entry.getKey();
List<InspectionTemplateVO> children = entry.getValue();
if (CollectionUtils.isNotEmpty(children)) {
// 创建父节点(类别分类)
InspectionTemplateVO parent = new InspectionTemplateVO();
// 判断是否为null的分类
if ("null".equals(categoryKey)) {
parent.setCategory(null);
parent.setCategoryName("未分类");
} else {
parent.setCategory(categoryKey);
}
parent.setChildren(children);
result.add(parent);
}
}
// 3. 设置类别名称
for (InspectionTemplateVO vo : result) {
if (vo.getCategory() != null) {
try {
R<String> dicR = dictClient.getValue("InspectionTemplate-Category", vo.getCategory());
if (dicR != null && dicR.getData() != null) {
vo.setCategoryName(dicR.getData());
}
} catch (Exception e) {
log.error("查询类别名称失败, category: {}", vo.getCategory(), e);
}
}
}
// 4. 按英文部分排序
result.sort((o1, o2) -> {
String str1 = o1.getCategoryName();
String str2 = o2.getCategoryName();
if ("未分类".equals(str1)) return 1;
if ("未分类".equals(str2)) return -1;
String english1 = extractEnglishPrefix(str1);
String english2 = extractEnglishPrefix(str2);
if (english1 == null && english2 == null) return 0;
if (english1 == null) return 1;
if (english2 == null) return -1;
return english1.compareTo(english2);
});
return result;
}
// 辅助方法:提取英文前缀
private String extractEnglishPrefix(String str) {
if (str == null) return null;
Matcher matcher = Pattern.compile("^([A-Za-z]+)").matcher(str);
if (matcher.find()) {
return matcher.group(1);
}
return str;
}
}

Loading…
Cancel
Save