修复 槽液检测结果 生成曲线相关问题。

develop-QA
Tom Li 3 months ago
parent 1236da22e6
commit dd9b94f610
  1. 60
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/LiquidTankTaskCopy.java
  2. 22
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/LiquidTankWaveDrawSingleVO.java
  3. 8
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/LiquidTankWaveDrawVO.java
  4. 78
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/LiquidTankTaskCopyController.java
  5. 8
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/CycleTestService2.java
  6. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/LiquidTankTaskSetVoService.java
  7. 34
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/LiquidTankTaskServiceImpl.java

@ -263,17 +263,17 @@ public class LiquidTankTaskCopy extends BaseEntity {
* [作业中心]id * [作业中心]id
*/ */
@Schema(description = "[作业中心]id") @Schema(description = "[作业中心]id")
private BigDecimal workCenterId; private Long workCenterId;
/** /**
* [作业槽]id * [作业槽]id
*/ */
@Schema(description = "[作业槽]id") @Schema(description = "[作业槽]id")
private BigDecimal workTankId; private Long workTankId;
/** /**
* [槽液]id * [槽液]id
*/ */
@Schema(description = "[槽液]id") @Schema(description = "[槽液]id")
private BigDecimal liquidTankId; private Long liquidTankId;
/** /**
* [槽液]编号 * [槽液]编号
*/ */
@ -283,42 +283,42 @@ public class LiquidTankTaskCopy extends BaseEntity {
* 化验人[用户]id * 化验人[用户]id
*/ */
@Schema(description = "化验人[用户]id") @Schema(description = "化验人[用户]id")
private BigDecimal testUserId; private Long testUserId;
/** /**
* 复检化验人[用户]id * 复检化验人[用户]id
*/ */
@Schema(description = "复检化验人[用户]id") @Schema(description = "复检化验人[用户]id")
private BigDecimal repeatTestUserId; private Long repeatTestUserId;
/** /**
* 工艺主管[用户]id * 工艺主管[用户]id
*/ */
@Schema(description = "工艺主管[用户]id") @Schema(description = "工艺主管[用户]id")
private BigDecimal processUserId; private Long processUserId;
/** /**
* 审核[用户]id * 审核[用户]id
*/ */
@Schema(description = "审核[用户]id") @Schema(description = "审核[用户]id")
private BigDecimal reviewUserId; private Long reviewUserId;
/** /**
* 发药[用户]id * 发药[用户]id
*/ */
@Schema(description = "发药[用户]id") @Schema(description = "发药[用户]id")
private BigDecimal sendDrugUserId; private Long sendDrugUserId;
/** /**
* 领药[用户]id * 领药[用户]id
*/ */
@Schema(description = "领药[用户]id") @Schema(description = "领药[用户]id")
private BigDecimal receiveDrugUserId; private Long receiveDrugUserId;
/** /**
* [班组]id * [班组]id
*/ */
@Schema(description = "[班组]id") @Schema(description = "[班组]id")
private BigDecimal teamId; private Long teamId;
/** /**
* 来源类型-[1]:手动;[2]:周期自动生成;[3]:计算自动生成; * 来源类型-[1]:手动;[2]:周期自动生成;[3]:计算自动生成;
*/ */
@Schema(description = "来源类型-[1]:手动;[2]:周期自动生成;[3]:计算自动生成;") @Schema(description = "来源类型-[1]:手动;[2]:周期自动生成;[3]:计算自动生成;")
private Long fromType; private Integer fromType;
/** /**
* 名称 * 名称
*/ */
@ -328,7 +328,7 @@ public class LiquidTankTaskCopy extends BaseEntity {
* 药品[物料]id * 药品[物料]id
*/ */
@Schema(description = "药品[物料]id") @Schema(description = "药品[物料]id")
private BigDecimal drugMaterialId; private Long drugMaterialId;
/** /**
* 药品[物料]编码 * 药品[物料]编码
*/ */
@ -353,37 +353,37 @@ public class LiquidTankTaskCopy extends BaseEntity {
* 添加点 * 添加点
*/ */
@Schema(description = "添加点") @Schema(description = "添加点")
private BigDecimal fillingLocation; private Double fillingLocation;
/** /**
* 目标值 * 目标值
*/ */
@Schema(description = "目标值") @Schema(description = "目标值")
private BigDecimal targetValue; private Double targetValue;
/** /**
* 目标上限 * 目标上限
*/ */
@Schema(description = "目标上限") @Schema(description = "目标上限")
private BigDecimal targetValueMax; private Double targetValueMax;
/** /**
* 目标下限 * 目标下限
*/ */
@Schema(description = "目标下限") @Schema(description = "目标下限")
private BigDecimal targetValueMin; private Double targetValueMin;
/** /**
* 规范上限 * 规范上限
*/ */
@Schema(description = "规范上限") @Schema(description = "规范上限")
private BigDecimal normValueMax; private Double normValueMax;
/** /**
* 规范下限 * 规范下限
*/ */
@Schema(description = "规范下限") @Schema(description = "规范下限")
private BigDecimal normValueMin; private Double normValueMin;
/** /**
* 体积 * 体积
*/ */
@Schema(description = "体积") @Schema(description = "体积")
private BigDecimal volume; private Double volume;
/** /**
* 分析周期 * 分析周期
*/ */
@ -393,7 +393,7 @@ public class LiquidTankTaskCopy extends BaseEntity {
* 工艺含量 * 工艺含量
*/ */
@Schema(description = "工艺含量") @Schema(description = "工艺含量")
private BigDecimal processContent; private Double processContent;
/** /**
* 待测成分/分析项目 * 待测成分/分析项目
*/ */
@ -408,32 +408,32 @@ public class LiquidTankTaskCopy extends BaseEntity {
* 实测温度 * 实测温度
*/ */
@Schema(description = "实测温度") @Schema(description = "实测温度")
private BigDecimal temperatureActual; private Double temperatureActual;
/** /**
* 实测PH值 * 实测PH值
*/ */
@Schema(description = "实测PH值") @Schema(description = "实测PH值")
private BigDecimal phActual; private Double phActual;
/** /**
* 复测电导率测量值 * 复测电导率测量值
*/ */
@Schema(description = "复测电导率测量值") @Schema(description = "复测电导率测量值")
private BigDecimal conductivityRepeatTestValue; private Double conductivityRepeatTestValue;
/** /**
* 首次电导率测量值 * 首次电导率测量值
*/ */
@Schema(description = "首次电导率测量值") @Schema(description = "首次电导率测量值")
private BigDecimal conductivityFirstTestValue; private Double conductivityFirstTestValue;
/** /**
* 首次测量值 * 首次测量值
*/ */
@Schema(description = "首次测量值") @Schema(description = "首次测量值")
private BigDecimal firstTestValue; private Double firstTestValue;
/** /**
* 复检测量值 * 复检测量值
*/ */
@Schema(description = "复检测量值") @Schema(description = "复检测量值")
private BigDecimal repeatTestValue; private Double repeatTestValue;
/** /**
* 首次化验时间 * 首次化验时间
*/ */
@ -468,17 +468,17 @@ public class LiquidTankTaskCopy extends BaseEntity {
* 需加药量 * 需加药量
*/ */
@Schema(description = "需加药量") @Schema(description = "需加药量")
private BigDecimal needAddValue; private Double needAddValue;
/** /**
* 实际加药量 * 实际加药量
*/ */
@Schema(description = "实际加药量") @Schema(description = "实际加药量")
private BigDecimal actualAddValue; private Double actualAddValue;
/** /**
* 加药后理论值 * 加药后理论值
*/ */
@Schema(description = "加药后理论值") @Schema(description = "加药后理论值")
private BigDecimal afterAddTheoryValue; private Double afterAddTheoryValue;
/** /**
* 结束原因 * 结束原因
*/ */
@ -493,7 +493,7 @@ public class LiquidTankTaskCopy extends BaseEntity {
* 审核状态-[1]:通过;[2]:不通过; * 审核状态-[1]:通过;[2]:不通过;
*/ */
@Schema(description = "审核状态-[1]:通过;[2]:不通过;") @Schema(description = "审核状态-[1]:通过;[2]:不通过;")
private Short reviewPass; private Integer reviewPass;
/** /**
* 备注 * 备注
*/ */

@ -13,37 +13,37 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
* [槽液曲线] 视图实体类 * [槽液曲线] 视图实体类 单个作业槽图表VO
* *
* @author Tom Shuo * @author Tom Shuo
* @since 2025-12-18 * @since 2025-12-18
*/ */
@Data @Data
public class LiquidTankWaveDrawItemVO implements Serializable { public class LiquidTankWaveDrawSingleVO implements Serializable {
@Serial @Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@Schema(description = "[作业中心]id") @Schema(description = "[作业中心]id")
private Long wcId = 1000L; private Long wcId;
@Schema(description = "[作业中心]名称") @Schema(description = "[作业中心]名称")
private String wcName = "作业中心A"; private String wcName;
@Schema(description = "[作业槽]id") @Schema(description = "[作业槽]id")
private Long workTankId = 1000L; private Long workTankId;
@Schema(description = "[作业槽]名称") @Schema(description = "[作业槽]名称")
private String workTankName = "DDDD槽"; private String workTankName;
@Schema(description = "[槽液]id") @Schema(description = "[槽液]id")
private Long liquidTankId = 1000L; private Long liquidTankId;
@Schema(description = "分析项目") @Schema(description = "分析项目")
private String testElement = "氰化钾"; private String testElement;
@Schema(description = "日期数组") @Schema(description = "日期数组")
private List<LocalDate> testDateList = new ArrayList<>(); private List<LocalDate> testDateList = new ArrayList<>();
@Schema(description = "上限") @Schema(description = "目标上限")
private List<Double> maxList = new ArrayList<>(); private List<Double> maxList = new ArrayList<>();
@Schema(description = "下限") @Schema(description = "目标下限")
private List<Double> minList = new ArrayList<>(); private List<Double> minList = new ArrayList<>();
@Schema(description = "目标值") @Schema(description = "目标值")
private List<Double> targetList = new ArrayList<>(); private List<Double> targetList = new ArrayList<>();
@Schema(description = "测量值") @Schema(description = "复测测量值")
private List<Double> testList = new ArrayList<>(); private List<Double> testList = new ArrayList<>();
} }

@ -5,8 +5,14 @@ import lombok.Data;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
/**
* [槽液曲线] 视图实体类 整体作业槽图表VO
*
* @author Tom Shuo
* @since 2025-12-18
*/
@Data @Data
public class LiquidTankWaveDrawVO { public class LiquidTankWaveDrawVO {
private List<LiquidTankWaveDrawItemVO> waveData = new ArrayList<>(); private List<LiquidTankWaveDrawSingleVO> waveData = new ArrayList<>();
} }

@ -33,7 +33,7 @@ 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.LiquidTankWaveDrawVO; import org.springblade.desk.quality.pojo.vo.LiquidTankWaveDrawVO;
import org.springblade.desk.quality.pojo.vo.LiquidTankWaveDrawItemVO; import org.springblade.desk.quality.pojo.vo.LiquidTankWaveDrawSingleVO;
import org.springblade.desk.quality.service.ILiquidTankTaskCopyService; import org.springblade.desk.quality.service.ILiquidTankTaskCopyService;
import org.springblade.desk.quality.wrapper.LiquidTankTaskCopyWrapper; import org.springblade.desk.quality.wrapper.LiquidTankTaskCopyWrapper;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
@ -78,7 +78,7 @@ public class LiquidTankTaskCopyController extends BladeController {
/** /**
* [槽液报告] 查询Copy任务 list分页 * [槽液报告] 查询Copy任务 list分页
*/ */
@GetMapping("/list") @GetMapping("/listReport")
@ApiOperationSupport(order = 20) @ApiOperationSupport(order = 20)
@Operation(summary = "[槽液报告] 查询任务 list分页", description = "传入LiquidTankTaskCopy Obj") @Operation(summary = "[槽液报告] 查询任务 list分页", description = "传入LiquidTankTaskCopy Obj")
public R<IPage<LiquidTankTaskCopyVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> map, public R<IPage<LiquidTankTaskCopyVO>> list(@Parameter(hidden = true) @RequestParam Map<String, Object> map,
@ -90,8 +90,11 @@ public class LiquidTankTaskCopyController extends BladeController {
QueryWrapper<LiquidTankTaskCopy> qw = Condition.getQueryWrapper(map, LiquidTankTaskCopy.class); QueryWrapper<LiquidTankTaskCopy> qw = Condition.getQueryWrapper(map, LiquidTankTaskCopy.class);
// 正常结束的,异常结束的 // 正常结束的,异常结束的
qw.in(BaseCol.STATUS, Arrays.asList(LiquidTankTaskConst.S_FINISH_FAILED, LiquidTankTaskConst.S_FINISH_OK)); qw.in(BaseCol.STATUS, Arrays.asList(LiquidTankTaskConst.S_FINISH_FAILED, LiquidTankTaskConst.S_FINISH_OK));
// [作业中心]id
qw.eq(map.containsKey(LiquidTankTaskCopy.COL_WORK_CENTER_ID), LiquidTankTaskCopy.COL_WORK_CENTER_ID, Func.toLong(map.get("workCenterId"))); qw.eq(map.containsKey(LiquidTankTaskCopy.COL_WORK_CENTER_ID), LiquidTankTaskCopy.COL_WORK_CENTER_ID, Func.toLong(map.get("workCenterId")));
// [作业槽]id
qw.eq(map.containsKey(LiquidTankTaskCopy.COL_WORK_TANK_ID), LiquidTankTaskCopy.COL_WORK_TANK_ID, Func.toLong(map.get("workTankId"))); qw.eq(map.containsKey(LiquidTankTaskCopy.COL_WORK_TANK_ID), LiquidTankTaskCopy.COL_WORK_TANK_ID, Func.toLong(map.get("workTankId")));
// 待测成分/分析项目
qw.like(map.containsKey(LiquidTankTaskCopy.COL_TEST_ELEMENT), LiquidTankTaskCopy.COL_TEST_ELEMENT, Func.toStr(map.get("testElement"))); qw.like(map.containsKey(LiquidTankTaskCopy.COL_TEST_ELEMENT), LiquidTankTaskCopy.COL_TEST_ELEMENT, Func.toStr(map.get("testElement")));
// 范围日期 // 范围日期
if (map.containsKey(BaseRequest.CREATE_TIME_START) && map.containsKey(BaseRequest.CREATE_TIME_END)) { if (map.containsKey(BaseRequest.CREATE_TIME_START) && map.containsKey(BaseRequest.CREATE_TIME_END)) {
@ -99,8 +102,9 @@ public class LiquidTankTaskCopyController extends BladeController {
Date crEnd = RequestUtil.buildDateEndOfDay(map, BaseRequest.CREATE_TIME_END); Date crEnd = RequestUtil.buildDateEndOfDay(map, BaseRequest.CREATE_TIME_END);
qw.between(BaseCol.CREATE_TIME, crStart, crEnd); qw.between(BaseCol.CREATE_TIME, crStart, crEnd);
} }
// ID 倒序 // ID 升序
qw.orderByDesc(BaseCol.ID); qw.orderByAsc(BaseCol.ID);
//
IPage<LiquidTankTaskCopy> pages = service.page(Condition.getPage(query), qw); IPage<LiquidTankTaskCopy> pages = service.page(Condition.getPage(query), qw);
IPage<LiquidTankTaskCopyVO> pagesVO = LiquidTankTaskCopyWrapper.build().pageVO(pages); IPage<LiquidTankTaskCopyVO> pagesVO = LiquidTankTaskCopyWrapper.build().pageVO(pages);
pagesVO.getRecords() pagesVO.getRecords()
@ -122,20 +126,21 @@ public class LiquidTankTaskCopyController extends BladeController {
log.warn("key = {}, value = {}, type = {}", key, value, value.getClass()); log.warn("key = {}, value = {}, type = {}", key, value, value.getClass());
} }
); );
QueryWrapper<LiquidTankTaskCopy> qw = Condition.getQueryWrapper(map, LiquidTankTaskCopy.class);
// 正常结束的,异常结束的
qw.in(BaseCol.STATUS, Arrays.asList(LiquidTankTaskConst.S_FINISH_FAILED, LiquidTankTaskConst.S_FINISH_OK));
// [作业中心]id
qw.eq(map.containsKey(LiquidTankTaskCopy.COL_WORK_CENTER_ID), LiquidTankTaskCopy.COL_WORK_CENTER_ID, Func.toLong(map.get("workCenterId")));
// 范围日期 // 范围日期
if (map.containsKey(BaseRequest.CREATE_TIME_START) && map.containsKey(BaseRequest.CREATE_TIME_END)) {
Date crStart = RequestUtil.buildDateBeginOfDay(map, BaseRequest.CREATE_TIME_START); Date crStart = RequestUtil.buildDateBeginOfDay(map, BaseRequest.CREATE_TIME_START);
Date crEnd = RequestUtil.buildDateEndOfDay(map, BaseRequest.CREATE_TIME_END); Date crEnd = RequestUtil.buildDateEndOfDay(map, BaseRequest.CREATE_TIME_END);
QueryWrapper<LiquidTankTaskCopy> qw = Condition.getQueryWrapper(map, LiquidTankTaskCopy.class);
// 完成的
qw.in(BaseCol.STATUS, Arrays.asList(LiquidTankTaskConst.S_FINISH_FAILED, LiquidTankTaskConst.S_FINISH_OK));
// 日期区间
if (crStart != null && crEnd != null) {
qw.between(BaseCol.CREATE_TIME, crStart, crEnd); qw.between(BaseCol.CREATE_TIME, crStart, crEnd);
} }
// 排序 槽液id升序 复测化验时间升序 // 排序 槽液id升序 复测化验时间升序
qw.orderByAsc( qw.orderByAsc(
List.of( List.of(
LiquidTankTaskCopy.COL_LIQUID_TANK_ID, BaseCol.ID,
LiquidTankTaskCopy.COL_REPEAT_TEST_DATE LiquidTankTaskCopy.COL_REPEAT_TEST_DATE
)); ));
IPage<LiquidTankTaskCopy> pages = service.page(Condition.getPage(query), qw); IPage<LiquidTankTaskCopy> pages = service.page(Condition.getPage(query), qw);
@ -145,28 +150,43 @@ public class LiquidTankTaskCopyController extends BladeController {
.peek(service::setVOValue) .peek(service::setVOValue)
.collect(Collectors.toList()); .collect(Collectors.toList());
// key 自带排序 // key 自带排序
Map<Long, List<LiquidTankTaskCopyVO>> drawMap = new TreeMap<>(); // key: [作业槽]id
// todo: // value: 任务数据列表
// drawMap.put() Map<Long, List<LiquidTankTaskCopyVO>> treeMap = new TreeMap<>();
// 遍历赋值到treeMap中
LiquidTankWaveDrawVO draw = new LiquidTankWaveDrawVO(); pagesVO.getRecords().forEach(vo -> {
{ final Long wtId = vo.getWorkTankId();
List<LiquidTankWaveDrawItemVO> waveData = draw.getWaveData(); // 不包含,新建
for (int i = 0; i < 5; i++) { if (!treeMap.containsKey(wtId)) {
LiquidTankWaveDrawItemVO item = new LiquidTankWaveDrawItemVO(); List<LiquidTankTaskCopyVO> list = new ArrayList<>();
draw.getWaveData().add(item); treeMap.put(wtId, list);
for (int j = 0; j < 10; j++) {
LocalDate now = LocalDate.now();
item.getTestDateList().add(now.plusDays(j));
item.getMaxList().add(60.0);
item.getMinList().add(40.0);
item.getTargetList().add(50.0);
item.getTestList().add(51.1155);
} }
treeMap.get(wtId).add(vo);
});
// 前端要求匹配对象
LiquidTankWaveDrawVO allVO = new LiquidTankWaveDrawVO();
List<LiquidTankWaveDrawSingleVO> allChart = allVO.getWaveData();
// 每个entry一个图表
for (Map.Entry<Long, List<LiquidTankTaskCopyVO>> entry : treeMap.entrySet()) {
Long wtId = 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());
singleChart.setWorkTankName(one.getWorkTankName());
singleChart.setLiquidTankId(one.getLiquidTankId());
singleChart.setTestElement(one.getTestElement());
singleChart.getMaxList().add(one.getTargetValueMax());
singleChart.getMinList().add(one.getTargetValueMin());
singleChart.getTargetList().add(one.getTargetValue());
singleChart.getTestList().add(one.getRepeatTestValue());
} }
draw.setWaveData(waveData); allChart.add(singleChart);
} }
return R.data(draw); return R.data(allVO);
} }
/** /**

@ -6,6 +6,7 @@ import io.swagger.v3.oas.annotations.Parameter;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import lombok.Data; import lombok.Data;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query; import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
@ -197,7 +198,12 @@ public class CycleTestService2 {
names.append(platingService.getById(id).getPlating()); names.append(platingService.getById(id).getPlating());
names.append(","); names.append(",");
}); });
vo.setPlateNames(names.toString()); String namesF = names.toString();
if (StringUtils.isNotBlank(namesF) && StringUtils.endsWith(namesF, ",")) {
// 去掉结尾,
StringUtils.removeEnd(namesF, ",");
}
vo.setPlateNames(namesF);
} }
} }
} }

@ -130,7 +130,7 @@ public class LiquidTankTaskSetVoService {
// 有效期 // 有效期
Date validDateT = DateUtil.offsetDay(vo.getCreateTime(), vo.getAnalysisCycle()); Date validDateT = DateUtil.offsetDay(vo.getCreateTime(), vo.getAnalysisCycle());
vo.setValidDate(LocalDateTimeUtil.of(validDateT).toLocalDate()); vo.setValidDate(LocalDateTimeUtil.of(validDateT).toLocalDate());
// 超出规范极限调整后的结果 todo: // 超出规范极限调整后的结果 打印用 todo:
vo.setOutRangeResult(""); vo.setOutRangeResult("");
// 槽液清理记录 todo: // 槽液清理记录 todo:
vo.setClearRecord(""); vo.setClearRecord("");

@ -114,7 +114,7 @@ public class LiquidTankTaskServiceImpl extends BaseServiceImpl<LiquidTankTaskMap
for (Long id : list) { for (Long id : list) {
LiquidTankTask task = baseMapper.selectById(id); LiquidTankTask task = baseMapper.selectById(id);
task.setTestUserId(testUserId); task.setTestUserId(testUserId);
basicChangeStatus(id, LiquidTankTaskConst.S_PENDING_ACCEPT); task = basicChangeStatus(id, LiquidTankTaskConst.S_PENDING_ACCEPT);
basicUpdateById(task); basicUpdateById(task);
} }
return R.success(); return R.success();
@ -124,7 +124,7 @@ public class LiquidTankTaskServiceImpl extends BaseServiceImpl<LiquidTankTaskMap
@Transactional @Transactional
public R accept(Long id) { public R accept(Long id) {
LiquidTankTask task = baseMapper.selectById(id); LiquidTankTask task = baseMapper.selectById(id);
basicChangeStatus(id, LiquidTankTaskConst.S_PENDING_TEST); task = basicChangeStatus(id, LiquidTankTaskConst.S_PENDING_TEST);
basicUpdateById(task); basicUpdateById(task);
return R.success(); return R.success();
} }
@ -133,7 +133,7 @@ public class LiquidTankTaskServiceImpl extends BaseServiceImpl<LiquidTankTaskMap
@Transactional @Transactional
public R fillFirstBat(List<LiquidTankTask> list) { public R fillFirstBat(List<LiquidTankTask> list) {
for (LiquidTankTask task : list) { for (LiquidTankTask task : list) {
basicChangeStatus(task.getId(), LiquidTankTaskConst.S_PENDING_REVIEW); task = basicChangeStatus(task.getId(), LiquidTankTaskConst.S_PENDING_REVIEW);
// todo:计算加药量,通过公式 公式尚未实现 公式计算的 需加药量。 // todo:计算加药量,通过公式 公式尚未实现 公式计算的 需加药量。
// task.setAddUnit(1000); // task.setAddUnit(1000);
task.setNeedAddValue(1000.0); task.setNeedAddValue(1000.0);
@ -149,7 +149,7 @@ public class LiquidTankTaskServiceImpl extends BaseServiceImpl<LiquidTankTaskMap
@Override @Override
public R editDrugBat(List<LiquidTankTask> list) { public R editDrugBat(List<LiquidTankTask> list) {
for (LiquidTankTask task : list) { for (LiquidTankTask task : list) {
basicChangeStatus(task.getId(), LiquidTankTaskConst.S_PENDING_REVIEW); task = basicChangeStatus(task.getId(), LiquidTankTaskConst.S_PENDING_REVIEW);
basicUpdateById(task); basicUpdateById(task);
} }
return R.success(); return R.success();
@ -163,13 +163,13 @@ public class LiquidTankTaskServiceImpl extends BaseServiceImpl<LiquidTankTaskMap
LiquidTankTask task = baseMapper.selectById(id); LiquidTankTask task = baseMapper.selectById(id);
if (Objects.equals(reviewPass, LiquidTankTaskConst.REVIEW_YES)) { if (Objects.equals(reviewPass, LiquidTankTaskConst.REVIEW_YES)) {
// 审核通过 // 审核通过
basicChangeStatus(task.getId(), LiquidTankTaskConst.S_PENDING_SEND_DRUG); task = basicChangeStatus(task.getId(), LiquidTankTaskConst.S_PENDING_SEND_DRUG);
task.setReviewPass(LiquidTankTaskConst.REVIEW_YES); task.setReviewPass(LiquidTankTaskConst.REVIEW_YES);
// todo: flag // todo: flag
// todo: 是否需要加药? // todo: 是否需要加药?
} else if (Objects.equals(reviewPass, LiquidTankTaskConst.REVIEW_NO)) { } else if (Objects.equals(reviewPass, LiquidTankTaskConst.REVIEW_NO)) {
// 审核不通过 // 审核不通过
basicChangeStatus(task.getId(), LiquidTankTaskConst.S_PENDING_EDIT_DRUG); task = basicChangeStatus(task.getId(), LiquidTankTaskConst.S_PENDING_EDIT_DRUG);
task.setReviewPass(LiquidTankTaskConst.REVIEW_NO); task.setReviewPass(LiquidTankTaskConst.REVIEW_NO);
// todo: flag // todo: flag
} }
@ -189,7 +189,7 @@ public class LiquidTankTaskServiceImpl extends BaseServiceImpl<LiquidTankTaskMap
public R revoke(Long id, String revokeReason) { public R revoke(Long id, String revokeReason) {
LiquidTankTask task = baseMapper.selectById(id); LiquidTankTask task = baseMapper.selectById(id);
// 审核状态再初始化 // 审核状态再初始化
basicChangeStatus(task.getId(), LiquidTankTaskConst.S_PENDING_EDIT_DRUG); task = basicChangeStatus(task.getId(), LiquidTankTaskConst.S_PENDING_EDIT_DRUG);
task.setReviewPass(LiquidTankTaskConst.REVIEW_INIT); task.setReviewPass(LiquidTankTaskConst.REVIEW_INIT);
basicUpdateById(task); basicUpdateById(task);
return R.success("成功撤回"); return R.success("成功撤回");
@ -200,7 +200,7 @@ public class LiquidTankTaskServiceImpl extends BaseServiceImpl<LiquidTankTaskMap
@Override @Override
public R sendDrugBat(List<LiquidTankTask> list) { public R sendDrugBat(List<LiquidTankTask> list) {
for (LiquidTankTask task : list) { for (LiquidTankTask task : list) {
basicChangeStatus(task.getId(), LiquidTankTaskConst.S_PENDING_RECEIVE_DRUG); task = basicChangeStatus(task.getId(), LiquidTankTaskConst.S_PENDING_RECEIVE_DRUG);
// 发药用户 // 发药用户
task.setSendDrugUserId(AuthUtil.getUserId()); task.setSendDrugUserId(AuthUtil.getUserId());
// 发药时间 // 发药时间
@ -215,7 +215,7 @@ public class LiquidTankTaskServiceImpl extends BaseServiceImpl<LiquidTankTaskMap
public R receiveDrugBat(List<LiquidTankTask> list) { public R receiveDrugBat(List<LiquidTankTask> list) {
// todo:用户权限过滤 // todo:用户权限过滤
for (LiquidTankTask task : list) { for (LiquidTankTask task : list) {
basicChangeStatus(task.getId(), LiquidTankTaskConst.S_PENDING_FILL_DATA_SECOND); task = basicChangeStatus(task.getId(), LiquidTankTaskConst.S_PENDING_FILL_DATA_SECOND);
// 领药人 为指定班组 班组长 // 领药人 为指定班组 班组长
// task.setReceiveDrugUserId(AuthUtil.getUserId()); // task.setReceiveDrugUserId(AuthUtil.getUserId());
Long teamId = task.getTeamId(); Long teamId = task.getTeamId();
@ -231,7 +231,7 @@ public class LiquidTankTaskServiceImpl extends BaseServiceImpl<LiquidTankTaskMap
@Override @Override
public R fillRepeatBat(List<LiquidTankTask> list) { public R fillRepeatBat(List<LiquidTankTask> list) {
for (LiquidTankTask task : list) { for (LiquidTankTask task : list) {
basicChangeStatus(task.getId(), LiquidTankTaskConst.S_FINISH_OK); task = basicChangeStatus(task.getId(), LiquidTankTaskConst.S_FINISH_OK);
// 复检化验时间 用户填写 // 复检化验时间 用户填写
// 复检填报时间 // 复检填报时间
task.setRepeatFillDate(LocalDateTime.now()); task.setRepeatFillDate(LocalDateTime.now());
@ -256,7 +256,7 @@ public class LiquidTankTaskServiceImpl extends BaseServiceImpl<LiquidTankTaskMap
if (task.getStatus() >= LiquidTankTaskConst.S_PENDING_TEST) { if (task.getStatus() >= LiquidTankTaskConst.S_PENDING_TEST) {
return R.fail("已经接收,无法转派。"); return R.fail("已经接收,无法转派。");
} }
basicChangeStatus(task.getId(), LiquidTankTaskConst.S_PENDING_ACCEPT); task = basicChangeStatus(task.getId(), LiquidTankTaskConst.S_PENDING_ACCEPT);
task.setTestUserId(testUserId); task.setTestUserId(testUserId);
basicUpdateById(task); basicUpdateById(task);
return R.success("转派成功"); return R.success("转派成功");
@ -266,7 +266,7 @@ public class LiquidTankTaskServiceImpl extends BaseServiceImpl<LiquidTankTaskMap
@Override @Override
public R finishOK(Long id, String finishReason) { public R finishOK(Long id, String finishReason) {
LiquidTankTask task = baseMapper.selectById(id); LiquidTankTask task = baseMapper.selectById(id);
basicChangeStatus(task.getId(), LiquidTankTaskConst.S_FINISH_OK); task = basicChangeStatus(task.getId(), LiquidTankTaskConst.S_FINISH_OK);
task.setFinishReason(finishReason); task.setFinishReason(finishReason);
// 结束时间 // 结束时间
task.setFinishDate(LocalDateTime.now()); task.setFinishDate(LocalDateTime.now());
@ -278,7 +278,7 @@ public class LiquidTankTaskServiceImpl extends BaseServiceImpl<LiquidTankTaskMap
@Override @Override
public R finishFail(Long id, String finishReason) { public R finishFail(Long id, String finishReason) {
LiquidTankTask task = baseMapper.selectById(id); LiquidTankTask task = baseMapper.selectById(id);
basicChangeStatus(task.getId(), LiquidTankTaskConst.S_FINISH_FAILED); task = basicChangeStatus(task.getId(), LiquidTankTaskConst.S_FINISH_FAILED);
task.setFinishReason(finishReason); task.setFinishReason(finishReason);
task.setStatus(LiquidTankTaskConst.S_FINISH_FAILED); task.setStatus(LiquidTankTaskConst.S_FINISH_FAILED);
// 结束时间 // 结束时间
@ -441,17 +441,18 @@ public class LiquidTankTaskServiceImpl extends BaseServiceImpl<LiquidTankTaskMap
* *
* @param id [任务]id * @param id [任务]id
* @param newStatus 新状态 * @param newStatus 新状态
* @return 传回更改状态后的task
*/ */
public void basicChangeStatus(Long id, Integer newStatus) { public LiquidTankTask basicChangeStatus(Long id, Integer newStatus) {
LiquidTankTask task = getById(id); LiquidTankTask task = getById(id);
LiquidTankTaskCopy taskCopy = copyService.getById(id); LiquidTankTaskCopy taskCopy = copyService.getById(id);
if (task == null) { if (task == null) {
log.error("not find LiquidTankTask."); log.error("not find LiquidTankTask.");
return; return null;
} }
if (taskCopy == null) { if (taskCopy == null) {
log.error("not find LiquidTankTaskCopy."); log.error("not find LiquidTankTaskCopy.");
return; return null;
} }
int oldStatus = task.getStatus(); int oldStatus = task.getStatus();
task.setStatus(newStatus); task.setStatus(newStatus);
@ -467,5 +468,6 @@ public class LiquidTankTaskServiceImpl extends BaseServiceImpl<LiquidTankTaskMap
hi.setHandleUserId(AuthUtil.getUserId()); hi.setHandleUserId(AuthUtil.getUserId());
hi.setHandleDate(LocalDateTime.now()); hi.setHandleDate(LocalDateTime.now());
hiService.save(hi); hiService.save(hi);
return task;
} }
} }

Loading…
Cancel
Save