槽液管理曲线,生产质量检验硬度详细实体类

liweidong
pangyang 1 month ago
parent 413db2e5a1
commit 4776d87971
  1. 3
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/vo/ProduceMonitorSlotListVO.java
  2. 86
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/WorkPlanThicknessDetail.java
  3. 2
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/LiquidTankWaveVO.java
  4. 26
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/WorkPlanItemThicknessVO.java
  5. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/StorageMonitoringServiceImpl.java
  6. 54
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/InspectionTaskController.java
  7. 6
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/LiquidTankTaskCopyController.java
  8. 70
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/LiquidTankWaveController.java
  9. 6
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/ReviewSheetMapper.xml
  10. 42
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/WorkPlanItemThicknessMapper.java
  11. 40
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/WorkPlanItemThicknessMapper.xml
  12. 33
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IWorkPlanItemThicknessService.java
  13. 54
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/WorkPlanItemThicknessServiceImpl.java
  14. 32
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/wrapper/WorkPlanItemThicknessWrapper.java

@ -54,4 +54,7 @@ public class ProduceMonitorSlotListVO {
@Schema(description = "作业计划ID")
private Long wpId;
@Schema(description = "是否显示右边按钮 0:不显示 1:显示")
private String isShow;
}

@ -0,0 +1,86 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;
import java.io.Serial;
import java.math.BigDecimal;
import java.time.LocalDate;
/**
* [工序检验项明细,硬度] 实体类
*
* @author Tom Shuo
* @since 2026-01-06
*/
@Data
@TableName("QA_WORK_PLAN_THICKNESS_DETAIL")
@Schema(description = "WorkPlanThicknessDetail Entity对象")
@EqualsAndHashCode(callSuper = true)
public class WorkPlanThicknessDetail extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* [工序检验项]id
*/
public static final String COL_WORK_PLAN_ITEM_ID = "WORK_PLAN_ITEM_ID";
/**
* [工序检验项]id
*/
@Schema(description = "[工序检验项]id")
private Long workPlanItemId;
/**
* 程式编号;
*/
@Schema(description = "程式编号")
private String code;
/**
* 名称1
*/
@Schema(description = "名称1")
private String name1;
/**
* 参数1
*/
@Schema(description = "参数1")
private BigDecimal param1;
/**
* 名称2
*/
@Schema(description = "名称2")
private String name2;
/**
* 参数2
*/
@Schema(description = "参数2")
private BigDecimal param2;
/**
* 名称3
*/
@Schema(description = "名称3")
private String name3;
/**
* 参数3
*/
@Schema(description = "参数3")
private BigDecimal param3;
/**
* 设备编码
*/
@Schema(description = "设备编码")
private String woCode;
/**
* 检测时间
*/
@Schema(description = "检测时间")
private LocalDate checkDate;
}

@ -27,5 +27,7 @@ public class LiquidTankWaveVO extends LiquidTankWave {
@Schema(description = "维护人")
private String updateUserRealName;
private String workCenterName;
private List<LiquidTankWaveDrawSingleVO> waveData = new ArrayList<>();
}

@ -0,0 +1,26 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.desk.quality.pojo.entity.WorkPlanItemDetail;
import org.springblade.desk.quality.pojo.entity.WorkPlanThicknessDetail;
import java.io.Serial;
/**
* [工序检验项明细] 视图实体类
*
* @author Tom Shuo
* @since 2026-01-06
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class WorkPlanItemThicknessVO extends WorkPlanThicknessDetail {
@Serial
private static final long serialVersionUID = 1L;
}

@ -89,7 +89,7 @@ public class StorageMonitoringServiceImpl implements IStorageMonitoringService {
* - 库位ID/任务/库位信息空值校验跳过异常数据
* - 状态未变化时跳过更新减少数据库IO
*/
@Scheduled(cron = "0 * * * * ?") // Spring定时任务注解,cron表达式控制执行频率
// @Scheduled(cron = "0 * * * * ?") // Spring定时任务注解,cron表达式控制执行频率
@Override // 实现IStorageMonitoringService接口的抽象方法
public void monitoringStation() {
// ========== 步骤1:查询所有空闲状态的站点 ==========

@ -35,12 +35,14 @@ import org.springblade.desk.quality.constant.InspectionTaskConst;
import org.springblade.desk.quality.constant.QAModuleConst;
import org.springblade.desk.quality.excel.InspectionTaskExcel;
import org.springblade.desk.quality.pojo.entity.InspectionTask;
import org.springblade.desk.quality.pojo.entity.ReviewSheet;
import org.springblade.desk.quality.pojo.request.InspectionTaskSearch;
import org.springblade.desk.quality.pojo.request.InspectionTaskStartNew;
import org.springblade.desk.quality.pojo.vo.InspectionTaskDetailVO;
import org.springblade.desk.quality.pojo.vo.InspectionTaskListVO;
import org.springblade.desk.quality.pojo.vo.InspectionTaskSubPartVO;
import org.springblade.desk.quality.service.IInspectionTaskService;
import org.springblade.desk.quality.service.IReviewSheetSubService;
import org.springblade.desk.quality.service.InspectionTaskService2;
import org.springblade.desk.quality.wrapper.InspectionTaskDetailWrapper;
import org.springframework.web.bind.annotation.*;
@ -72,7 +74,10 @@ public class InspectionTaskController extends BladeController {
private InspectionTaskService2 service2;
@Resource
private RoleConfig roleConfig;
@Resource
private IWorkPlanService workPlanService;
@Resource
private IMacToolUseService macToolUseService;
/**
* [检验任务] 详情
*/
@ -88,6 +93,29 @@ public class InspectionTaskController extends BladeController {
return R.data(detailDetailVO);
}
@GetMapping("/detailMut")
@ApiOperationSupport(order = 1)
@Operation(summary = "详情", description = "传入inspectionTask")
public R<InspectionTaskDetailVO> detailMut(Long wpId) {
// WorkPlan plan = workPlanService.getById(wpId);
QueryWrapper<InspectionTask> qw = new QueryWrapper<>();
qw.eq("WP_ID", wpId);
List<InspectionTask> list = service.list(qw);
InspectionTask inspectionTask = new InspectionTask();
if(null != list && list.size() > 0){
inspectionTask = list.get(0);
}
InspectionTask detail = service.getOne(Condition.getQueryWrapper(inspectionTask));
InspectionTaskDetailVO detailDetailVO = InspectionTaskDetailWrapper.build().entityVO(detail);
// InspectionTaskListVO detailDetail = service.detailById(inspectionTask);
service.setDetailVOValue(detailDetailVO);
return R.data(detailDetailVO);
}
/**
* [检验任务] 分页
*/
@ -210,23 +238,39 @@ public class InspectionTaskController extends BladeController {
// return service.getSamePlace(id);
// }
@Resource
private IReviewSheetSubService rsSubService;
@GetMapping("/getSameList")
@ApiOperationSupport(order = 7)
@Operation(summary = "查询同槽/同炉", description = "id")
public R getSameList(@Parameter(description = "主键", required = true) @RequestParam Long id) {
QueryWrapper<ReviewSheet> qw = new QueryWrapper<>();
qw.eq("TASK_ID", id);
List<ReviewSheet> listSheet = rsSubService.list(qw);
InspectionTask inspectionTask = new InspectionTask();
inspectionTask.setId(id);
InspectionTask detail = service.getOne(Condition.getQueryWrapper(inspectionTask));
WorkPlan workPlan = workPlanService.getOne(new QueryWrapper<WorkPlan>().lambda().eq(WorkPlan::getId, detail.getWpId()));
List<ProduceMonitorSlotListVO> list = macToolUseService.listSlotInfo(workPlan);
if(null != listSheet && listSheet.size() > 0){
list.forEach(one -> {
one.setIsShow("1");
});
}else{
list.forEach(one -> {
one.setIsShow("0");
});
}
return R.data(list);
// return service.getSamePlace(id);
}
@Resource
private IWorkPlanService workPlanService;
@Resource
private IMacToolUseService macToolUseService;
/**
* [检验任务] 同槽 检验结果应用

@ -24,6 +24,7 @@ import org.springblade.core.secure.BladeUser;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.pojo.entity.WorkTank;
import org.springblade.desk.basic.service.IWorkTankService;
import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.basic.util.RequestUtil;
import org.springblade.desk.basic.constant.BaseCol;
@ -71,6 +72,8 @@ public class LiquidTankTaskCopyController extends BladeController {
@Resource
private ILiquidTankService tankService;
@Resource
private IWorkTankService workTankService;
/**
* [槽液检测任务复制] 详情
@ -191,6 +194,8 @@ public class LiquidTankTaskCopyController extends BladeController {
List<LiquidTank> records = tankService.list(queryWrapper);
if(null != records && records.size()>0){
LiquidTank tank = records.get(0);
WorkTank work = workTankService.getById(tank.getWorkTankId());
copyVO.setWorkTankName(work.getWorkTankCode());
if(1==tank.getJobType()){
String weekly = tank.getJobTypeWeekValue();
List<String> weeks = Arrays.asList(weekly.split(","));
@ -290,6 +295,7 @@ public class LiquidTankTaskCopyController extends BladeController {
.collect(Collectors.toList());
List<LiquidTankTaskCopyVO> vos = voess.stream()
.filter(vo -> vo.getSampleDate() != null)
.sorted(Comparator.comparing(LiquidTankTaskCopyVO::getSampleDate))
.collect(Collectors.toList());

@ -42,10 +42,13 @@ import org.springblade.desk.quality.service.ILiquidTankWaveService;
import org.springblade.desk.quality.service.IRelTankWaveItemService;
import org.springblade.desk.quality.wrapper.LiquidTankTaskCopyWrapper;
import org.springblade.desk.quality.wrapper.LiquidTankWaveWrapper;
import org.springblade.system.feign.IUserClient;
import org.springblade.system.pojo.entity.User;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.time.LocalDate;
import java.util.*;
import java.util.stream.Collectors;
@ -71,6 +74,8 @@ public class LiquidTankWaveController extends BladeController {
private ILiquidTankTaskCopyService copyService;
@Resource
private IRelTankWaveItemService relReportItemService;
@Resource
private IUserClient userClient;
public List<LiquidTankTaskCopyVO> getListByLiquidTankReportId(Long liquidTankReportId) {
@ -102,45 +107,70 @@ public class LiquidTankWaveController extends BladeController {
LiquidTankWave detail = service.getOne(qw);
LiquidTankWaveVO detailVO = LiquidTankWaveWrapper.build().entityVO(detail);
User user = userClient.userInfoById(detailVO.getUpdateUser()).getData();
List<LiquidTankTaskCopyVO> pagesVO = getListByLiquidTankReportId(detailVO.getId());
pagesVO.stream()
.peek(copyService::setVOValue)
.collect(Collectors.toList());
detailVO.setWorkCenterName(pagesVO.get(0).getWcName());
detailVO.setUpdateUserRealName(user.getRealName());
// key 自带排序
// key: [作业槽]id
// value: 任务数据列表
Map<String, LiquidTankTaskCopyVO> latestRecordMap = pagesVO.stream()
.collect(Collectors.groupingBy(
record -> record.getWorkTankId() + "_" + record.getWorkCenterId()+"_"+record.getTestElement()+"_"+record.getSampleDate(),
// 每组内按dateTime降序,取最新的一条
Collectors.collectingAndThen(
Collectors.maxBy(Comparator.comparing(LiquidTankTaskCopy::getCreateTime)),
optional -> optional.orElse(null) // 处理Optional避免空指针
)
));
// 3. 转换为List(如果需要List格式)
// QueryWrapper<LiquidTankTaskCopy> queryWrapper = new QueryWrapper<>();
// queryWrapper.eq(LiquidTankTaskCopy.COL_LIQUID_TANK_WAVE_ID, detailVO.getId())
// queryWrapper.orderByAsc("ID");
// queryWrapper.orderByAsc(LiquidTankTaskCopy.COL_REPEAT_TEST_DATE);
List<LiquidTankTaskCopyVO> lesss = new ArrayList<>(latestRecordMap.values());
//
//
// List<LiquidTankTaskCopyVO> voess = lesss.stream()
// .map(LiquidTankTaskCopyWrapper.build()::entityVO)
// .collect(Collectors.toList());
// List<LiquidTankTaskCopy> pages = copyService.list(queryWrapper);
// List<LiquidTankTaskCopyVO> pagesVO = LiquidTankTaskCopyWrapper.build().listVO(pages);
// IPage<LiquidTankTaskCopyVO> pagesVO = LiquidTankTaskCopyWrapper.build().pageVO(pages);
pagesVO.stream()
.peek(copyService::setVOValue)
List<LiquidTankTaskCopyVO> vos = lesss.stream()
.filter(vo -> vo.getSampleDate() != null)
.sorted(Comparator.comparing(LiquidTankTaskCopyVO::getSampleDate))
.collect(Collectors.toList());
// key 自带排序
// key: [作业槽]id
// value: 任务数据列表
Map<Long, List<LiquidTankTaskCopyVO>> treeMap = new TreeMap<>();
Map<String, List<LiquidTankTaskCopyVO>> treeMap = new TreeMap<>();
// 遍历赋值到treeMap中
pagesVO.forEach(vo -> {
vos.forEach(vo -> {
final Long wtId = vo.getWorkTankId();
final Long wcId = vo.getWorkCenterId();
final String testElement = vo.getTestElement();
final LocalDate date = vo.getSampleDate();
final String keys = wtId + "_" + wcId + "_" + testElement;
// 不包含,新建
if (!treeMap.containsKey(wtId)) {
if (!treeMap.containsKey(keys)) {
List<LiquidTankTaskCopyVO> list = new ArrayList<>();
treeMap.put(wtId, list);
treeMap.put(keys, list);
}
treeMap.get(wtId).add(vo);
treeMap.get(keys).add(vo);
});
// 前端要求匹配对象
// LiquidTankWaveDrawVO allVO = new LiquidTankWaveDrawVO();
// List<LiquidTankWaveDrawSingleVO> allChart = detailVO.getWaveData();
List<LiquidTankWaveDrawSingleVO> allChart = new ArrayList<>();
LiquidTankWaveDrawVO allVO = new LiquidTankWaveDrawVO();
List<LiquidTankWaveDrawSingleVO> allChart = allVO.getWaveData();
// 每个entry一个图表
for (Map.Entry<Long, List<LiquidTankTaskCopyVO>> entry : treeMap.entrySet()) {
Long wtId = entry.getKey();
for (Map.Entry<String, List<LiquidTankTaskCopyVO>> entry : treeMap.entrySet()) {
String key = entry.getKey();
// 数据列表
List<LiquidTankTaskCopyVO> list = entry.getValue();
LiquidTankWaveDrawSingleVO singleChart = new LiquidTankWaveDrawSingleVO();
for (LiquidTankTaskCopyVO one : list) {
singleChart.setWcId(one.getWorkCenterId());
singleChart.setWcName(one.getWcName());
singleChart.setWorkTankId(one.getWorkTankId());
@ -151,6 +181,8 @@ public class LiquidTankWaveController extends BladeController {
singleChart.getMinList().add(one.getTargetValueMin());
singleChart.getTargetList().add(one.getTargetValue());
singleChart.getTestList().add(one.getRepeatTestValue());
singleChart.getTestDateList().add(one.getSampleDate());
singleChart.setId(one.getId());
}
allChart.add(singleChart);
}

@ -67,12 +67,16 @@
<select id="listInit"
resultType="org.springblade.desk.quality.pojo.vo.ReviewSheetInitVO">
SELECT rs.*,
wo.WO_CODE AS woCode
yo.PRODUCT_TYPE as prodTypeName,yo.PART_NAME as prodName,yo.PLATE as platingInfo,
yo.USE_DEPT as needDeptName,yo.PRODUCT_IDENT as prodIdent,wo.MAKE_QTY as poQty,
wo.WO_CODE AS woCode,wo.CARD_NO AS cardNo
FROM QA_REVIEW_SHEET rs
-- 车间作业计划 wp
LEFT JOIN MES_WORK_PLAN wp ON rs.WP_ID = wp.ID
-- 车间订单 wo
LEFT JOIN MES_WORK_ORDER wo ON rs.WO_ID = wo.ID
-- 生产订单 yo
LEFT JOIN MES_YIELD_ORDER yo ON wo.YO_ID = yo.ID
-- 外协厂商 oem
LEFT JOIN BS_OEM oem ON wp.OC_ID = oem.ID
WHERE (

@ -0,0 +1,42 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.mapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.springblade.desk.quality.excel.WorkPlanItemExcel;
import org.springblade.desk.quality.pojo.entity.WorkPlanItem;
import org.springblade.desk.quality.pojo.entity.WorkPlanThicknessDetail;
import org.springblade.desk.quality.pojo.vo.WorkPlanItemThicknessVO;
import org.springblade.desk.quality.pojo.vo.WorkPlanItemVO;
import java.util.List;
/**
* [工序检验项] Mapper 接口
*
* @author Tom Shuo
* @since 2026-01-06
*/
public interface WorkPlanItemThicknessMapper extends BaseMapper<WorkPlanThicknessDetail> {
/**
* 自定义分页
*
* @param page 分页参数
* @param workPlanItem 查询参数
* @return List<WorkPlanItemVO>
*/
List<WorkPlanItemThicknessVO> selectWorkPlanItemPage(IPage page, WorkPlanItemThicknessVO workPlanItem);
/**
* 获取导出数据
*
* @param queryWrapper 查询条件
* @return List<WorkPlanItemExcel>
*/
// List<WorkPlanItemExcel> exportWorkPlanItem(@Param("ew") Wrapper<WorkPlanItem> queryWrapper);
}

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.springblade.desk.quality.mapper.WorkPlanItemThicknessMapper">
<!-- 通用查询映射结果 -->
<resultMap id="workPlanItemResultMap"
type="org.springblade.desk.quality.pojo.entity.WorkPlanThicknessDetail">
<!-- <result column="WP_ID" property="wpId"/>-->
<!-- <result column="CHECK_QTY" property="checkQty"/>-->
<!-- <result column="TEST_QTY" property="testQty"/>-->
<!-- <result column="LOSS_QTY" property="lossQty"/>-->
<!-- <result column="ITEM_CODE" property="itemCode"/>-->
<!-- <result column="ITEM_NAME" property="itemName"/>-->
<!-- <result column="STANDARD_NAME" property="standardName"/>-->
<!-- <result column="CHECK_USER_ID" property="checkUserId"/>-->
<!-- <result column="CHECK_VALUE" property="checkValue"/>-->
<!-- <result column="CHECK_DATE" property="checkDate"/>-->
<!-- <result column="CHECK_RESULT" property="checkResult"/>-->
<!-- <result column="HOUR_QUOTA" property="hourQuota"/>-->
<!-- <result column="HOUR_PREPARE" property="hourPrepare"/>-->
<!-- <result column="TASK_ID" property="taskId"/>-->
<!-- <result column="ITEM_ID" property="itemId"/>-->
<!-- <result column="STANDARD_ID" property="standardId"/>-->
<!-- <result column="TEMPLATE_ID" property="templateId"/>-->
<!-- <result column="SPECIAL_TYPE" property="specialType"/>-->
</resultMap>
<select id="selectWorkPlanItemPage" resultMap="workPlanItemResultMap">
SELECT *
FROM QA_WORK_PLAN_THICKNESS_DETAIL
WHERE is_deleted = 0
</select>
<!-- <select id="exportWorkPlanItem"-->
<!-- resultType="org.springblade.desk.quality.excel.WorkPlanItemExcel">-->
<!-- SELECT *-->
<!-- FROM QA_WORK_PLAN_ITEM ${ew.customSqlSegment}-->
<!-- </select>-->
</mapper>

@ -0,0 +1,33 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.desk.quality.excel.WorkPlanItemDetailExcel;
import org.springblade.desk.quality.pojo.entity.WorkPlanItem;
import org.springblade.desk.quality.pojo.entity.WorkPlanItemDetail;
import org.springblade.desk.quality.pojo.entity.WorkPlanThicknessDetail;
import org.springblade.desk.quality.pojo.vo.WorkPlanItemDetailVO;
import org.springblade.desk.quality.pojo.vo.WorkPlanItemThicknessVO;
import java.util.List;
/**
* [工序检验项明细] 服务类
*
* @author Tom Shuo
* @since 2026-01-06
*/
public interface IWorkPlanItemThicknessService extends BaseService<WorkPlanThicknessDetail> {
/**
* VO
*
* @param vo
*/
void setVOValue(WorkPlanItemThicknessVO vo);
}

@ -0,0 +1,54 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.service.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import jakarta.annotation.Resource;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.desk.dashboard.pojo.entity.DsProcessMeasuringToolEntity;
import org.springblade.desk.dashboard.service.IDsProcessMeasuringToolService;
import org.springblade.desk.quality.excel.WorkPlanItemDetailExcel;
import org.springblade.desk.quality.mapper.WorkPlanItemDetailMapper;
import org.springblade.desk.quality.mapper.WorkPlanItemThicknessMapper;
import org.springblade.desk.quality.pojo.entity.WorkPlanItem;
import org.springblade.desk.quality.pojo.entity.WorkPlanItemDetail;
import org.springblade.desk.quality.pojo.entity.WorkPlanThicknessDetail;
import org.springblade.desk.quality.pojo.vo.WorkPlanItemDetailVO;
import org.springblade.desk.quality.pojo.vo.WorkPlanItemThicknessVO;
import org.springblade.desk.quality.service.IWorkPlanItemDetailService;
import org.springblade.desk.quality.service.IWorkPlanItemThicknessService;
import org.springblade.desk.quality.wrapper.WorkPlanItemDetailWrapper;
import org.springblade.system.feign.IDictClient;
import org.springblade.system.feign.IUserClient;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* [工序检验项明细] 服务实现类
*
* @author Tom Shuo
* @since 2026-01-06
*/
@Service
@Data
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@Slf4j
public class WorkPlanItemThicknessServiceImpl extends BaseServiceImpl<WorkPlanItemThicknessMapper, WorkPlanThicknessDetail>
implements IWorkPlanItemThicknessService {
@Override
public void setVOValue(WorkPlanItemThicknessVO vo) {
}
}

@ -0,0 +1,32 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.wrapper;
import org.springblade.core.mp.support.BaseEntityWrapper;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.desk.quality.pojo.entity.WorkPlanItemDetail;
import org.springblade.desk.quality.pojo.entity.WorkPlanThicknessDetail;
import org.springblade.desk.quality.pojo.vo.WorkPlanItemDetailVO;
import org.springblade.desk.quality.pojo.vo.WorkPlanItemThicknessVO;
import java.util.Objects;
/**
* [工序检验项明细] 包装类,返回视图层所需的字段
*
* @author Tom Shuo
* @since 2026-01-06
*/
public class WorkPlanItemThicknessWrapper extends BaseEntityWrapper<WorkPlanThicknessDetail, WorkPlanItemThicknessVO> {
public static WorkPlanItemThicknessWrapper build() {
return new WorkPlanItemThicknessWrapper();
}
@Override
public WorkPlanItemThicknessVO entityVO(WorkPlanThicknessDetail entity) {
WorkPlanItemThicknessVO VO = Objects.requireNonNull(BeanUtil.copyProperties(entity, WorkPlanItemThicknessVO.class));
return VO;
}
}
Loading…
Cancel
Save