Merge remote-tracking branch 'origin/master'

liweidong
绫Umbrella 1 month ago
commit e70e98b467
  1. 19
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/LiquidTankTaskCopy.java
  2. 13
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/LiquidTankWave.java
  3. 7
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/RelTankWaveItem.java
  4. 3
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/LiquidTankWaveVO.java
  5. 2
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/WorkPlanItemVO.java
  6. 29
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/LiquidTankTaskCopyController.java
  7. 192
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/LiquidTankWaveController.java
  8. 5
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/ILiquidTankTaskCopyService.java
  9. 18
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/InspectionTaskServiceImpl.java
  10. 61
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/LiquidTankTaskCopyServiceImpl.java

@ -14,6 +14,8 @@ import java.io.Serial;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
/** /**
* [槽液检测任务复制] 实体类 * [槽液检测任务复制] 实体类
@ -552,4 +554,21 @@ public class LiquidTankTaskCopy extends BaseEntity {
@Schema(description = "药品计算公式") @Schema(description = "药品计算公式")
private String reportFormulaContent; private String reportFormulaContent;
@Schema(description = "日期数组")
@TableField(exist = false)
private List<LocalDate> testDateList = new ArrayList<>();
@Schema(description = "目标上限")
@TableField(exist = false)
private List<Double> maxList = new ArrayList<>();
@Schema(description = "目标下限")
@TableField(exist = false)
private List<Double> minList = new ArrayList<>();
@Schema(description = "目标值")
@TableField(exist = false)
private List<Double> targetList = new ArrayList<>();
@Schema(description = "复测测量值")
@TableField(exist = false)
private List<Double> testList = new ArrayList<>();
} }

@ -10,6 +10,7 @@ import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity; import org.springblade.core.mp.base.BaseEntity;
import java.io.Serial; import java.io.Serial;
import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
/** /**
@ -31,6 +32,9 @@ public class LiquidTankWave extends BaseEntity {
* [槽液曲线]编码 * [槽液曲线]编码
*/ */
public static final String COL_CODE = "CODE"; public static final String COL_CODE = "CODE";
private static final String COL_WC_ID = "WC_ID";
/** /**
* [槽液曲线]类型 * [槽液曲线]类型
*/ */
@ -56,6 +60,9 @@ public class LiquidTankWave extends BaseEntity {
*/ */
public static final String COL_REMARK = "REMARK"; public static final String COL_REMARK = "REMARK";
//作业中心id
private Long wcId;
/** /**
* [槽液曲线]编码 * [槽液曲线]编码
*/ */
@ -75,12 +82,14 @@ public class LiquidTankWave extends BaseEntity {
* 开始日期 * 开始日期
*/ */
@Schema(description = "开始日期") @Schema(description = "开始日期")
private LocalDateTime startDate; // private LocalDateTime startDate;
private LocalDate createTimeStart;
/** /**
* 结束日期 * 结束日期
*/ */
@Schema(description = "结束日期") @Schema(description = "结束日期")
private LocalDateTime endDate; // private LocalDateTime endDate;
private LocalDate createTimeEnd;
/** /**
* 排序 * 排序
*/ */

@ -64,4 +64,11 @@ public class RelTankWaveItem extends BaseEntity {
*/ */
@Schema(description = "备注") @Schema(description = "备注")
private String remark; private String remark;
private String maxList;
private String minList;
private String targetList;
private String testDateList;
private String testList;
} }

@ -6,6 +6,7 @@ package org.springblade.desk.quality.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.springblade.desk.quality.pojo.entity.LiquidTankTaskCopy;
import org.springblade.desk.quality.pojo.entity.LiquidTankWave; import org.springblade.desk.quality.pojo.entity.LiquidTankWave;
import java.io.Serial; import java.io.Serial;
@ -30,4 +31,6 @@ public class LiquidTankWaveVO extends LiquidTankWave {
private String workCenterName; private String workCenterName;
private List<LiquidTankWaveDrawSingleVO> waveData = new ArrayList<>(); private List<LiquidTankWaveDrawSingleVO> waveData = new ArrayList<>();
private List<LiquidTankTaskCopy> copys = new ArrayList<>();
private List<LiquidTankTaskCopyVO> taskCopys = new ArrayList<>();
} }

@ -36,4 +36,6 @@ public class WorkPlanItemVO extends WorkPlanItem {
// private DsProcessEntity process; // private DsProcessEntity process;
@Schema(description = "wp详情 List") @Schema(description = "wp详情 List")
private List<WorkPlanItemDetailVO> wpItemDetailList; private List<WorkPlanItemDetailVO> wpItemDetailList;
@Schema(description = "硬度详情 List")
private List<WorkPlanItemThicknessVO> thicknessList;
} }

@ -23,7 +23,9 @@ import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.BladeUser; import org.springblade.core.secure.BladeUser;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.pojo.entity.WorkCenter;
import org.springblade.desk.basic.pojo.entity.WorkTank; import org.springblade.desk.basic.pojo.entity.WorkTank;
import org.springblade.desk.basic.service.IWorkCenterService;
import org.springblade.desk.basic.service.IWorkTankService; import org.springblade.desk.basic.service.IWorkTankService;
import org.springblade.desk.basic.util.ExcelExtUtil; import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.basic.util.RequestUtil; import org.springblade.desk.basic.util.RequestUtil;
@ -74,6 +76,8 @@ public class LiquidTankTaskCopyController extends BladeController {
private ILiquidTankService tankService; private ILiquidTankService tankService;
@Resource @Resource
private IWorkTankService workTankService; private IWorkTankService workTankService;
@Resource
private IWorkCenterService centerService;
/** /**
* [槽液检测任务复制] 详情 * [槽液检测任务复制] 详情
@ -265,15 +269,6 @@ public class LiquidTankTaskCopyController extends BladeController {
)); ));
List<LiquidTankTaskCopy> records = service.list(qw); List<LiquidTankTaskCopy> records = service.list(qw);
// List<LiquidTankTaskCopyVO> vos = records.stream()
// .map(LiquidTankTaskCopyWrapper.build()::entityVO)
// .collect(Collectors.toList());
//// IPage<LiquidTankTaskCopy> pages = service.page(Condition.getPage(query), qw);
//// IPage<LiquidTankTaskCopyVO> pagesVO = LiquidTankTaskCopyWrapper.build().pageVO(pages);
// pagesVO.stream()
// .peek(service::setVOValue)
// .collect(Collectors.toList());
Map<String, LiquidTankTaskCopy> latestRecordMap = records.stream() Map<String, LiquidTankTaskCopy> latestRecordMap = records.stream()
.collect(Collectors.groupingBy( .collect(Collectors.groupingBy(
@ -307,9 +302,14 @@ public class LiquidTankTaskCopyController extends BladeController {
vos.forEach(vo -> { vos.forEach(vo -> {
final Long wtId = vo.getWorkTankId(); final Long wtId = vo.getWorkTankId();
final Long wcId = vo.getWorkCenterId(); final Long wcId = vo.getWorkCenterId();
final String testElement = vo.getTestElement(); final String testElement = vo.getTestElement();
final LocalDate date = vo.getSampleDate(); final LocalDate date = vo.getSampleDate();
final String keys = wtId + "_" + wcId + "_" + testElement; final String keys = wtId + "_" + wcId + "_" + testElement;
WorkTank tanke = workTankService.getById(wtId);
vo.setWorkTankName(tanke.getWorkTankCode());
WorkCenter center = centerService.getById(wcId);
vo.setWcName(center.getWcName());
// 不包含,新建 // 不包含,新建
if (!treeMap.containsKey(keys)) { if (!treeMap.containsKey(keys)) {
List<LiquidTankTaskCopyVO> list = new ArrayList<>(); List<LiquidTankTaskCopyVO> list = new ArrayList<>();
@ -716,10 +716,17 @@ public class LiquidTankTaskCopyController extends BladeController {
/** /**
* *
*/ */
// @PostMapping("/generateWave")
// @ApiOperationSupport(order = 101)
// @Operation(summary = "生成曲线", description = "传入LiquidTankTaskCopy List")
// public R generateWave(@Valid @RequestBody List<LiquidTankTaskCopy> list) {
// return service.generateWave(list);
// }
@PostMapping("/generateWave") @PostMapping("/generateWave")
@ApiOperationSupport(order = 101) @ApiOperationSupport(order = 101)
@Operation(summary = "生成曲线", description = "传入LiquidTankTaskCopy List") @Operation(summary = "生成曲线", description = "传入LiquidTankTaskCopy List")
public R generateWave(@Valid @RequestBody List<LiquidTankTaskCopy> list) { public R generateWave(@Valid @RequestBody LiquidTankWaveVO vo) {
return service.generateWave(list); return service.generateWave(vo);
} }
} }

@ -49,6 +49,8 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -87,6 +89,49 @@ public class LiquidTankWaveController extends BladeController {
for (RelTankWaveItem relOne : relList) { for (RelTankWaveItem relOne : relList) {
Long taskId = relOne.getLiquidTankTaskId(); Long taskId = relOne.getLiquidTankTaskId();
LiquidTankTaskCopy copy = copyService.getById(taskId); LiquidTankTaskCopy copy = copyService.getById(taskId);
List<Double> max = Arrays.stream(relOne.getMaxList().split(","))
.mapToDouble(Double::parseDouble) // 将字符串转换为double
.boxed() // 将double Stream转换为Double Stream
.collect(Collectors.toList());
List<Double> min = Arrays.stream(relOne.getMinList().split(","))
.mapToDouble(Double::parseDouble) // 将字符串转换为double
.boxed() // 将double Stream转换为Double Stream
.collect(Collectors.toList());
List< Double> targetList = Arrays.stream(relOne.getTargetList().split(","))
.mapToDouble(Double::parseDouble) // 将字符串转换为double
.boxed() // 将double Stream转换为Double Stream
.collect(Collectors.toList());
List<Double> testList = Arrays.stream(relOne.getTestList().split(","))
.mapToDouble(Double::parseDouble) // 将字符串转换为double
.boxed() // 将double Stream转换为Double Stream
.collect(Collectors.toList());
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String[] dateStrings = relOne.getTestDateList().split(",");
List<LocalDate> testDateList = new ArrayList<>();
for (String dateString : dateStrings) {
String trimmedDate = dateString.trim();
// 额外防护:跳过空字符串(比如分割后出现的空值)
if (trimmedDate.isEmpty()) {
continue;
}
try {
LocalDate date = LocalDate.parse(trimmedDate, formatter);
testDateList.add(date);
} catch (DateTimeParseException e) {
// 可根据业务需求处理:打印日志/抛出自定义异常/跳过非法日期
System.err.println("日期解析失败,非法日期字符串:" + dateString + ",原因:" + e.getMessage());
}
}
copy.setMaxList(max);
copy.setMinList(min);
copy.setTargetList(targetList);
copy.setTestList(testList);
copy.setTestDateList(testDateList);
list.add(copy); list.add(copy);
// LiquidTankTaskCopyVO copyVO = LiquidTankTaskCopyWrapper.build().entityVO(copy); // LiquidTankTaskCopyVO copyVO = LiquidTankTaskCopyWrapper.build().entityVO(copy);
// setVoValue(copyVO); // setVoValue(copyVO);
@ -110,83 +155,86 @@ public class LiquidTankWaveController extends BladeController {
User user = userClient.userInfoById(detailVO.getUpdateUser()).getData(); User user = userClient.userInfoById(detailVO.getUpdateUser()).getData();
List<LiquidTankTaskCopyVO> pagesVO = getListByLiquidTankReportId(detailVO.getId()); List<LiquidTankTaskCopyVO> pagesVO = getListByLiquidTankReportId(detailVO.getId());
pagesVO.stream() detailVO.setTaskCopys(pagesVO);
.peek(copyService::setVOValue)
.collect(Collectors.toList());
detailVO.setWorkCenterName(pagesVO.get(0).getWcName()); detailVO.setWorkCenterName(pagesVO.get(0).getWcName());
detailVO.setUpdateUserRealName(user.getRealName()); detailVO.setUpdateUserRealName(user.getRealName());
// key 自带排序 // pagesVO.stream()
// key: [作业槽]id // .peek(copyService::setVOValue)
// value: 任务数据列表 // .collect(Collectors.toList());
Map<String, LiquidTankTaskCopyVO> latestRecordMap = pagesVO.stream() // detailVO.setWorkCenterName(pagesVO.get(0).getWcName());
.collect(Collectors.groupingBy( // detailVO.setUpdateUserRealName(user.getRealName());
record -> record.getWorkTankId() + "_" + record.getWorkCenterId()+"_"+record.getTestElement()+"_"+record.getSampleDate(), // // key 自带排序
// 每组内按dateTime降序,取最新的一条 // // key: [作业槽]id
Collectors.collectingAndThen( // // value: 任务数据列表
Collectors.maxBy(Comparator.comparing(LiquidTankTaskCopy::getCreateTime)), // Map<String, LiquidTankTaskCopyVO> latestRecordMap = pagesVO.stream()
optional -> optional.orElse(null) // 处理Optional避免空指针 // .collect(Collectors.groupingBy(
) // record -> record.getWorkTankId() + "_" + record.getWorkCenterId()+"_"+record.getTestElement()+"_"+record.getSampleDate(),
)); // // 每组内按dateTime降序,取最新的一条
// Collectors.collectingAndThen(
// 3. 转换为List(如果需要List格式) // Collectors.maxBy(Comparator.comparing(LiquidTankTaskCopy::getCreateTime)),
// optional -> optional.orElse(null) // 处理Optional避免空指针
List<LiquidTankTaskCopyVO> lesss = new ArrayList<>(latestRecordMap.values()); // )
// ));
//
// // 3. 转换为List(如果需要List格式)
// //
// List<LiquidTankTaskCopyVO> lesss = new ArrayList<>(latestRecordMap.values());
////
////
//// List<LiquidTankTaskCopyVO> voess = lesss.stream()
//// .map(LiquidTankTaskCopyWrapper.build()::entityVO)
//// .collect(Collectors.toList());
// //
// List<LiquidTankTaskCopyVO> voess = lesss.stream() // List<LiquidTankTaskCopyVO> vos = lesss.stream()
// .map(LiquidTankTaskCopyWrapper.build()::entityVO) // .filter(vo -> vo.getSampleDate() != null)
// .sorted(Comparator.comparing(LiquidTankTaskCopyVO::getSampleDate))
// .collect(Collectors.toList()); // .collect(Collectors.toList());
//
List<LiquidTankTaskCopyVO> vos = lesss.stream() // // key 自带排序
.filter(vo -> vo.getSampleDate() != null) // // key: [作业槽]id
.sorted(Comparator.comparing(LiquidTankTaskCopyVO::getSampleDate)) // // value: 任务数据列表
.collect(Collectors.toList()); // Map<String, List<LiquidTankTaskCopyVO>> treeMap = new TreeMap<>();
// // 遍历赋值到treeMap中
// key 自带排序 // vos.forEach(vo -> {
// key: [作业槽]id // final Long wtId = vo.getWorkTankId();
// value: 任务数据列表 // final Long wcId = vo.getWorkCenterId();
Map<String, List<LiquidTankTaskCopyVO>> treeMap = new TreeMap<>(); // final String testElement = vo.getTestElement();
// 遍历赋值到treeMap中 // final LocalDate date = vo.getSampleDate();
vos.forEach(vo -> { // final String keys = wtId + "_" + wcId + "_" + testElement;
final Long wtId = vo.getWorkTankId(); // // 不包含,新建
final Long wcId = vo.getWorkCenterId(); // if (!treeMap.containsKey(keys)) {
final String testElement = vo.getTestElement(); // List<LiquidTankTaskCopyVO> list = new ArrayList<>();
final LocalDate date = vo.getSampleDate(); // treeMap.put(keys, list);
final String keys = wtId + "_" + wcId + "_" + testElement; // }
// 不包含,新建 // treeMap.get(keys).add(vo);
if (!treeMap.containsKey(keys)) { // });
List<LiquidTankTaskCopyVO> list = new ArrayList<>(); // // 前端要求匹配对象
treeMap.put(keys, list); // LiquidTankWaveDrawVO allVO = new LiquidTankWaveDrawVO();
} // List<LiquidTankWaveDrawSingleVO> allChart = allVO.getWaveData();
treeMap.get(keys).add(vo); // // 每个entry一个图表
}); // for (Map.Entry<String, List<LiquidTankTaskCopyVO>> entry : treeMap.entrySet()) {
// 前端要求匹配对象 // String key = entry.getKey();
LiquidTankWaveDrawVO allVO = new LiquidTankWaveDrawVO(); // // 数据列表
List<LiquidTankWaveDrawSingleVO> allChart = allVO.getWaveData(); // List<LiquidTankTaskCopyVO> list = entry.getValue();
// 每个entry一个图表 // LiquidTankWaveDrawSingleVO singleChart = new LiquidTankWaveDrawSingleVO();
for (Map.Entry<String, List<LiquidTankTaskCopyVO>> entry : treeMap.entrySet()) { // for (LiquidTankTaskCopyVO one : list) {
String key = entry.getKey(); //
// 数据列表 // singleChart.setWcId(one.getWorkCenterId());
List<LiquidTankTaskCopyVO> list = entry.getValue(); // singleChart.setWcName(one.getWcName());
LiquidTankWaveDrawSingleVO singleChart = new LiquidTankWaveDrawSingleVO(); // singleChart.setWorkTankId(one.getWorkTankId());
for (LiquidTankTaskCopyVO one : list) { // singleChart.setWorkTankName(one.getWorkTankName());
// singleChart.setLiquidTankId(one.getLiquidTankId());
singleChart.setWcId(one.getWorkCenterId()); // singleChart.setTestElement(one.getTestElement());
singleChart.setWcName(one.getWcName()); // singleChart.getMaxList().add(one.getTargetValueMax());
singleChart.setWorkTankId(one.getWorkTankId()); // singleChart.getMinList().add(one.getTargetValueMin());
singleChart.setWorkTankName(one.getWorkTankName()); // singleChart.getTargetList().add(one.getTargetValue());
singleChart.setLiquidTankId(one.getLiquidTankId()); // singleChart.getTestList().add(one.getRepeatTestValue());
singleChart.setTestElement(one.getTestElement()); // singleChart.getTestDateList().add(one.getSampleDate());
singleChart.getMaxList().add(one.getTargetValueMax()); // singleChart.setId(one.getId());
singleChart.getMinList().add(one.getTargetValueMin()); // }
singleChart.getTargetList().add(one.getTargetValue()); // allChart.add(singleChart);
singleChart.getTestList().add(one.getRepeatTestValue()); // }
singleChart.getTestDateList().add(one.getSampleDate()); // detailVO.setWaveData(allChart);
singleChart.setId(one.getId());
}
allChart.add(singleChart);
}
detailVO.setWaveData(allChart);
return R.data(detailVO); return R.data(detailVO);
} }

@ -11,6 +11,7 @@ import org.springblade.core.tool.api.R;
import org.springblade.desk.quality.excel.LiquidTankTaskCopyExcel; import org.springblade.desk.quality.excel.LiquidTankTaskCopyExcel;
import org.springblade.desk.quality.pojo.entity.LiquidTankTaskCopy; import org.springblade.desk.quality.pojo.entity.LiquidTankTaskCopy;
import org.springblade.desk.quality.pojo.vo.LiquidTankTaskCopyVO; import org.springblade.desk.quality.pojo.vo.LiquidTankTaskCopyVO;
import org.springblade.desk.quality.pojo.vo.LiquidTankWaveVO;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import java.util.List; import java.util.List;
@ -44,7 +45,9 @@ public interface ILiquidTankTaskCopyService extends BaseService<LiquidTankTaskCo
R generateReport(@Valid @RequestBody List<LiquidTankTaskCopy> list); R generateReport(@Valid @RequestBody List<LiquidTankTaskCopy> list);
R generateWave(@Valid @RequestBody List<LiquidTankTaskCopy> list); // R generateWave(@Valid @RequestBody List<LiquidTankTaskCopy> list);
List<LiquidTankTaskCopyVO> getListByLiquidTankReportIdNew(Long liquidTankReportId); List<LiquidTankTaskCopyVO> getListByLiquidTankReportIdNew(Long liquidTankReportId);
List<LiquidTankTaskCopyVO> getListByLiquidTankReportId(Long liquidTankReportId); List<LiquidTankTaskCopyVO> getListByLiquidTankReportId(Long liquidTankReportId);
R generateWave(@Valid @RequestBody LiquidTankWaveVO vo);
} }

@ -67,7 +67,8 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
private IWorkPlanItemDetailService wpItemDetailService; private IWorkPlanItemDetailService wpItemDetailService;
@Resource @Resource
private IReviewSheetSubService rsSubService; private IReviewSheetSubService rsSubService;
@Resource
private IWorkPlanItemThicknessService wpItemThicknessService;
@Resource @Resource
private IUserClient userClient; private IUserClient userClient;
@Resource @Resource
@ -282,12 +283,27 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
wpItemDetailService.save(wpItemDetail); wpItemDetailService.save(wpItemDetail);
} }
} }
for (WorkPlanItemThicknessVO wpItemDetailVO : wpItemVO.getThicknessList()) {
WorkPlanThicknessDetail wpItemDetail = new WorkPlanThicknessDetail();
BeanUtil.copyProperties(wpItemDetailVO, wpItemDetail);
wpItemDetail.setWorkPlanItemId(wpItemDB.getId());
if (IdUtil.isValid(wpItemDetail.getId())) {
// 更新 WorkPlanItemDetail
wpItemThicknessService.updateById(wpItemDetail);
} else {
// 保存
wpItemThicknessService.save(wpItemDetail);
}
}
} }
// //
refreshStatusAndQty(detailVO.getId()); refreshStatusAndQty(detailVO.getId());
return R.success("检验填报"); return R.success("检验填报");
} }
@Override @Override
public IPage<InspectionTaskListVO> listSearch(IPage<InspectionTaskListVO> page, InspectionTaskSearch search) { public IPage<InspectionTaskListVO> listSearch(IPage<InspectionTaskListVO> page, InspectionTaskSearch search) {
List<InspectionTaskListVO> listVO = baseMapper.listSearch(page, search); List<InspectionTaskListVO> listVO = baseMapper.listSearch(page, search);

@ -25,6 +25,7 @@ import org.springblade.desk.quality.pojo.entity.*;
import org.springblade.desk.quality.pojo.vo.LiquidTankReportConfigVO; import org.springblade.desk.quality.pojo.vo.LiquidTankReportConfigVO;
import org.springblade.desk.quality.pojo.vo.LiquidTankTaskCopyVO; import org.springblade.desk.quality.pojo.vo.LiquidTankTaskCopyVO;
import org.springblade.desk.quality.pojo.vo.LiquidTankTaskVO; import org.springblade.desk.quality.pojo.vo.LiquidTankTaskVO;
import org.springblade.desk.quality.pojo.vo.LiquidTankWaveVO;
import org.springblade.desk.quality.service.*; import org.springblade.desk.quality.service.*;
import org.springblade.desk.quality.util.CodeUtil; import org.springblade.desk.quality.util.CodeUtil;
import org.springblade.desk.quality.wrapper.LiquidTankTaskCopyWrapper; import org.springblade.desk.quality.wrapper.LiquidTankTaskCopyWrapper;
@ -33,6 +34,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
* [槽液检测任务复制] 服务实现类 * [槽液检测任务复制] 服务实现类
@ -140,7 +142,8 @@ public class LiquidTankTaskCopyServiceImpl extends BaseServiceImpl<LiquidTankTas
@Transactional @Transactional
@Override @Override
public R generateWave(List<LiquidTankTaskCopy> list) { public R generateWave(LiquidTankWaveVO vo) {
List<LiquidTankTaskCopy> list = vo.getCopys();
if (list == null || list.isEmpty()) { if (list == null || list.isEmpty()) {
return R.fail("没有使用任何数据"); return R.fail("没有使用任何数据");
} }
@ -159,12 +162,68 @@ public class LiquidTankTaskCopyServiceImpl extends BaseServiceImpl<LiquidTankTas
RelTankWaveItem item = new RelTankWaveItem(); RelTankWaveItem item = new RelTankWaveItem();
item.setLiquidTankWaveId(wave.getId()); item.setLiquidTankWaveId(wave.getId());
item.setLiquidTankTaskId(one.getId()); item.setLiquidTankTaskId(one.getId());
String maxlist = one.getMaxList().stream()
.map(Object::toString)
.collect(Collectors.joining(", "));
String minlist = one.getMinList().stream()
.map(Object::toString)
.collect(Collectors.joining(", "));
String targetList = one.getTargetList().stream()
.map(Object::toString)
.collect(Collectors.joining(", "));
String testDateList = one.getTestDateList().stream()
.map(Object::toString)
.collect(Collectors.joining(", "));
String testList = one.getTestList().stream()
.map(Object::toString)
.collect(Collectors.joining(", "));
item.setMaxList(maxlist);
item.setMinList(minlist);
item.setTargetList(targetList);
item.setTestDateList(testDateList);
item.setTestList(testList);
// 保存关联关系 // 保存关联关系
relTankWaveItemService.save(item); relTankWaveItemService.save(item);
} }
return R.success("生成曲线成功"); return R.success("生成曲线成功");
} }
// @Transactional
// @Override
// public R generateWave(List<LiquidTankTaskCopy> list) {
// if (list == null || list.isEmpty()) {
// return R.fail("没有使用任何数据");
// }
// WorkCenter wc = workCenterService.getById(list.get(0).getWorkCenterId());
//// WorkCenter wc = workCenterService.getById(list.get(0).getWcId());
// if (wc == null) {
// return R.fail("作业中心错误");
// }
// // 保存copy任务list数据
// updateBatchById(list);
// LiquidTankWave wave = new LiquidTankWave();
// wave.setName("" + System.currentTimeMillis());
// // 保存曲线
// waveService.save(wave);
// for (LiquidTankTaskCopy one : list) {
// RelTankWaveItem item = new RelTankWaveItem();
// item.setLiquidTankWaveId(wave.getId());
// item.setLiquidTankTaskId(one.getId());
// // 保存关联关系
// relTankWaveItemService.save(item);
// }
// return R.success("生成曲线成功");
// }
@Override @Override
public List<LiquidTankTaskCopyVO> getListByLiquidTankReportId(Long liquidTankReportId) { public List<LiquidTankTaskCopyVO> getListByLiquidTankReportId(Long liquidTankReportId) {
LambdaQueryWrapper<RelTankReportItem> qw = Wrappers.lambdaQuery(); LambdaQueryWrapper<RelTankReportItem> qw = Wrappers.lambdaQuery();

Loading…
Cancel
Save