完成了质量管理-检验方案

main
86158 2 weeks ago
parent c9a94d10c9
commit 8c05d91a72

@ -1,5 +1,6 @@
package cn.iocoder.yudao.module.mes.controller.admin.zjitem; package cn.iocoder.yudao.module.mes.controller.admin.zjitem;
import cn.iocoder.yudao.module.mes.dal.dataobject.deviceledger.DeviceLedgerDO;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -79,6 +80,14 @@ public class ZjItemController {
return success(BeanUtils.toBean(pageResult, ZjItemRespVO.class)); return success(BeanUtils.toBean(pageResult, ZjItemRespVO.class));
} }
@GetMapping("/list")
@Operation(summary = "获得检验项目列表")
@PreAuthorize("@ss.hasPermission('mes:zj-item:query')")
public CommonResult<List<ZjItemDO>> getZjItemList() {
List<ZjItemDO> zjItemDOList = zjItemService.getZjItemList();
return success(zjItemDOList);
}
@GetMapping("/export-excel") @GetMapping("/export-excel")
@Operation(summary = "导出质量管理-检验项目 Excel") @Operation(summary = "导出质量管理-检验项目 Excel")
@PreAuthorize("@ss.hasPermission('mes:zj-item:export')") @PreAuthorize("@ss.hasPermission('mes:zj-item:export')")

@ -1,5 +1,8 @@
package cn.iocoder.yudao.module.mes.controller.admin.zjschema; package cn.iocoder.yudao.module.mes.controller.admin.zjschema;
import cn.iocoder.yudao.module.mes.controller.admin.zjitem.vo.ZjItemRespVO;
import cn.iocoder.yudao.module.mes.dal.dataobject.zjitem.ZjItemDO;
import cn.iocoder.yudao.module.mes.service.zjitem.ZjItemService;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -13,6 +16,7 @@ import javax.validation.*;
import javax.servlet.http.*; import javax.servlet.http.*;
import java.util.*; import java.util.*;
import java.io.IOException; import java.io.IOException;
import java.util.stream.Collectors;
import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageResult;
@ -37,6 +41,8 @@ public class ZjSchemaController {
@Resource @Resource
private ZjSchemaService zjSchemaService; private ZjSchemaService zjSchemaService;
@Resource
private ZjItemService zjitemService;
@PostMapping("/create") @PostMapping("/create")
@Operation(summary = "创建检验方案") @Operation(summary = "创建检验方案")
@ -92,4 +98,35 @@ public class ZjSchemaController {
BeanUtils.toBean(list, ZjSchemaRespVO.class)); BeanUtils.toBean(list, ZjSchemaRespVO.class));
} }
@GetMapping("/getItemList")
@Operation(summary = "获得检验方案关联的项目列表")
@Parameter(name = "id", description = "检验方案编号", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('mes:zj-schema:query')")
public CommonResult<List<ZjItemRespVO>> getItemList(@RequestParam("id") Long id) {
// 1. 查询检验方案主记录
ZjSchemaDO zjSchema = zjSchemaService.getZjSchema(id);
if (zjSchema == null) {
return success(Collections.emptyList()); // 或抛出业务异常,根据项目规范调整
}
// 2. 解析item字段处理空值和空字符串
String itemStr = zjSchema.getItem();
if (itemStr == null || itemStr.trim().isEmpty()) {
return success(Collections.emptyList());
}
// 3. 分割字符串并转换为Long类型的项目ID列表
List<Long> itemIds = Arrays.stream(itemStr.split(","))
.map(String::trim) // 去除空格
.filter(str -> !str.isEmpty()) // 过滤空字符串
.map(Long::valueOf) // 转换为Long
.collect(Collectors.toList());
// 4. 查询所有关联的项目信息请根据实际项目调整Service方法
List<ZjItemDO> itemList = zjitemService.getItemsByIds(itemIds);
// 5. 转换为VO并返回
return success(BeanUtils.toBean(itemList, ZjItemRespVO.class));
}
} }

@ -28,7 +28,7 @@ public class ZjSchemaPageReqVO extends PageParam {
private String sampleMethod; private String sampleMethod;
@Schema(description = "值") @Schema(description = "值")
private Long val; private String val;
@Schema(description = "关联项目") @Schema(description = "关联项目")
private String item; private String item;

@ -1,5 +1,8 @@
package cn.iocoder.yudao.module.mes.controller.admin.zjschema.vo; package cn.iocoder.yudao.module.mes.controller.admin.zjschema.vo;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
@ -12,8 +15,13 @@ import com.alibaba.excel.annotation.*;
@ExcelIgnoreUnannotated @ExcelIgnoreUnannotated
public class ZjSchemaRespVO { public class ZjSchemaRespVO {
@Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18846")
@ExcelProperty("ID")
private Long id;
@Schema(description = "类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") @Schema(description = "类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
@ExcelProperty("类型") @ExcelProperty(value = "类型", converter = DictConvert.class)
@DictFormat("mes_zj_schema_type")
private String type; private String type;
@Schema(description = "名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") @Schema(description = "名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
@ -25,12 +33,13 @@ public class ZjSchemaRespVO {
private String remark; private String remark;
@Schema(description = "抽检方式") @Schema(description = "抽检方式")
@ExcelProperty("抽检方式") @ExcelProperty(value = "抽检方式", converter = DictConvert.class)
@DictFormat("mes_zj_schema_sample_method")
private String sampleMethod; private String sampleMethod;
@Schema(description = "值") @Schema(description = "值")
@ExcelProperty("值") @ExcelProperty("值")
private Long val; private String val;
@Schema(description = "关联项目") @Schema(description = "关联项目")
@ExcelProperty("关联项目") @ExcelProperty("关联项目")
@ -38,6 +47,7 @@ public class ZjSchemaRespVO {
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("创建时间") @ExcelProperty("创建时间")
@ColumnWidth(20)
private LocalDateTime createTime; private LocalDateTime createTime;
} }

@ -28,7 +28,7 @@ public class ZjSchemaSaveReqVO {
private String sampleMethod; private String sampleMethod;
@Schema(description = "值") @Schema(description = "值")
private Long val; private String val;
@Schema(description = "关联项目") @Schema(description = "关联项目")
private String item; private String item;

@ -46,7 +46,7 @@ public class ZjSchemaDO extends BaseDO {
/** /**
* *
*/ */
private Long val; private String val;
/** /**
* *
*/ */

@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.mes.service.zjitem;
import java.util.*; import java.util.*;
import javax.validation.*; import javax.validation.*;
import cn.iocoder.yudao.module.mes.controller.admin.zjitem.vo.*; import cn.iocoder.yudao.module.mes.controller.admin.zjitem.vo.*;
import cn.iocoder.yudao.module.mes.dal.dataobject.deviceledger.DeviceLedgerDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.zjitem.ZjItemDO; import cn.iocoder.yudao.module.mes.dal.dataobject.zjitem.ZjItemDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.pojo.PageParam;
@ -52,4 +53,14 @@ public interface ZjItemService {
*/ */
PageResult<ZjItemDO> getZjItemPage(ZjItemPageReqVO pageReqVO); PageResult<ZjItemDO> getZjItemPage(ZjItemPageReqVO pageReqVO);
List<ZjItemDO> getZjItemList();
/**
* ID
*
* @param ids ID
* @return
*/
List<ZjItemDO> getItemsByIds(Collection<Long> ids);
} }

@ -1,5 +1,7 @@
package cn.iocoder.yudao.module.mes.service.zjitem; package cn.iocoder.yudao.module.mes.service.zjitem;
import cn.iocoder.yudao.module.mes.dal.dataobject.deviceledger.DeviceLedgerDO;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -71,4 +73,22 @@ public class ZjItemServiceImpl implements ZjItemService {
return zjItemMapper.selectPage(pageReqVO); return zjItemMapper.selectPage(pageReqVO);
} }
@Override
public List<ZjItemDO> getZjItemList() {
return zjItemMapper.selectList();
}
@Override
public List<ZjItemDO> getItemsByIds(Collection<Long> ids) {
// 1. 空值校验如果传入的ID列表为空直接返回空列表
if (ids == null || ids.isEmpty()) {
return Collections.emptyList();
}
// 2. 使用MyBatis-Plus的in查询批量获取项目记录
LambdaQueryWrapper<ZjItemDO> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(ZjItemDO::getId, ids);
// 3. 返回查询结果
return zjItemMapper.selectList(queryWrapper);
}
} }
Loading…
Cancel
Save