Browse Source

fix:完善领取溶液方法

master
白凤吉 3 days ago
parent
commit
ea71e40b90
  1. 20
      src/main/java/com/iflytop/handacid/app/controller/ReceiveRecordController.java
  2. 4
      src/main/java/com/iflytop/handacid/common/model/entity/Channel.java
  3. 3
      src/main/java/com/iflytop/handacid/common/model/entity/ReceiveRecord.java
  4. 34
      src/main/java/com/iflytop/handacid/common/service/ReceiveRecordService.java

20
src/main/java/com/iflytop/handacid/app/controller/ReceiveRecordController.java

@ -3,7 +3,6 @@ package com.iflytop.handacid.app.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.iflytop.handacid.app.common.utils.UsbDriverUtil;
import com.iflytop.handacid.common.base.BasePageQuery;
import com.iflytop.handacid.common.model.entity.AuditRecord;
import com.iflytop.handacid.common.model.entity.ReceiveRecord;
import com.iflytop.handacid.common.result.PageResult;
import com.iflytop.handacid.common.result.Result;
@ -12,13 +11,11 @@ import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.io.File;
@ -26,6 +23,7 @@ import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
/**
* 领取
*/
@ -35,8 +33,7 @@ import java.util.List;
@RequiredArgsConstructor
@Slf4j
public class ReceiveRecordController {
@Autowired
private ReceiveRecordService receiveRecordService;
private final ReceiveRecordService receiveRecordService;
@GetMapping("/list")
@Operation(summary = "获取List数据")
@ -51,23 +48,22 @@ public class ReceiveRecordController {
}
@GetMapping("/{id}")
@Operation(summary = "根据ID获取")
@Operation(summary = "根据ID获取领取记录")
public Result<ReceiveRecord> getById(@PathVariable Integer id) {
return Result.success(receiveRecordService.getById(id));
}
@PostMapping
@Operation(summary = "领取溶液")
public Result<String> create(@RequestBody ReceiveRecord receiveRecord) {
boolean flag = receiveRecordService.save(receiveRecord);
return flag? Result.success("添加成功") : Result.failed("添加失败");
public Result<String> receive(@RequestBody ReceiveRecord receiveRecord) {
return receiveRecordService.receive(receiveRecord) ? Result.success() : Result.failed();
}
@PutMapping
@Operation(summary = "修改记录")
public Result<String> update(@RequestBody ReceiveRecord receiveRecord) {
boolean flag = receiveRecordService.updateById(receiveRecord);
return flag? Result.success("修改成功") : Result.failed("修改失败");
return flag ? Result.success() : Result.failed();
}
@DeleteMapping("/{ids}")
@ -76,7 +72,7 @@ public class ReceiveRecordController {
boolean success = receiveRecordService.removeBatchByIds(
Arrays.stream(ids.split(",")).map(Long::valueOf).toList()
);
return success? Result.success("删除成功") : Result.failed("删除失败");
return success ? Result.success() : Result.failed();
}
@GetMapping("/export")
@ -107,7 +103,7 @@ public class ReceiveRecordController {
row.createCell(2).setCellValue(record.getReceiverNickname());
row.createCell(3).setCellValue(record.getSolutionName());
row.createCell(4).setCellValue(record.getConcentration());
row.createCell(5).setCellValue(record.getChannelCode());
row.createCell(5).setCellValue(record.getChannelCode().toString());
row.createCell(6).setCellValue(record.getReceivedVolume());
row.createCell(7).setCellValue(record.getCreateTime() != null ? record.getCreateTime().toString() : "");
row.createCell(8).setCellValue(record.getUpdateTime() != null ? record.getUpdateTime().toString() : "");

4
src/main/java/com/iflytop/handacid/common/model/entity/Channel.java

@ -1,7 +1,7 @@
package com.iflytop.handacid.common.model.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.iflytop.handacid.app.common.enums.ChannelCode;
import com.iflytop.handacid.common.base.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@ -17,7 +17,7 @@ public class Channel extends BaseEntity {
private String name;
@Schema(description = "通道Code")
private String code;
private ChannelCode code;
@Schema(description = "绑定的溶液ID")
private Long solutionId;

3
src/main/java/com/iflytop/handacid/common/model/entity/ReceiveRecord.java

@ -2,6 +2,7 @@ package com.iflytop.handacid.common.model.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.iflytop.handacid.app.common.enums.ChannelCode;
import com.iflytop.handacid.common.base.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
@ -41,5 +42,5 @@ public class ReceiveRecord extends BaseEntity {
private Double receivedVolume;
@Schema(description = "通道Code")
private String channelCode;
private ChannelCode channelCode;
}

34
src/main/java/com/iflytop/handacid/common/service/ReceiveRecordService.java

@ -1,14 +1,48 @@
package com.iflytop.handacid.common.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.iflytop.handacid.app.core.state.ChannelState;
import com.iflytop.handacid.app.core.state.DeviceState;
import com.iflytop.handacid.common.mapper.ReceiveRecordMapper;
import com.iflytop.handacid.common.model.entity.Channel;
import com.iflytop.handacid.common.model.entity.ReceiveRecord;
import com.iflytop.handacid.common.model.entity.Solution;
import com.iflytop.handacid.common.model.entity.User;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
/**
* 领取记录接口服务
*/
@Service
@RequiredArgsConstructor
public class ReceiveRecordService extends ServiceImpl<ReceiveRecordMapper, ReceiveRecord> {
private final UserService userService;
private final SolutionService solutionService;
private final ChannelService channelService;
private final DeviceState deviceState;
public boolean receive(ReceiveRecord receiveRecord) {
User issuer = userService.getById(receiveRecord.getIssuerId());
receiveRecord.setIssuerNickname(issuer.getNickname());
User receiver = userService.getById(receiveRecord.getReceiverId());
receiveRecord.setReceiverNickname(receiver.getNickname());
Solution solution = solutionService.getById(receiveRecord.getSolutionId());
receiveRecord.setSolutionName(solution.getName());
this.save(receiveRecord);
Channel channel = channelService.getOne(new LambdaQueryWrapper<>(new Channel()).eq(Channel::getCode, receiveRecord.getChannelCode()));
channel.setCurrentVolume(receiveRecord.getReceivedVolume());
channel.setReceivedVolume(receiveRecord.getReceivedVolume());
channel.setConcentration(receiveRecord.getConcentration());
channelService.updateById(channel);
ChannelState channelState = deviceState.getChannelStateMap().get(receiveRecord.getChannelCode());
channelState.setCurrentVolume(receiveRecord.getReceivedVolume());
channelState.setReceivedVolume(receiveRecord.getReceivedVolume());
channelState.setConcentration(receiveRecord.getConcentration());
return true;
}
}
Loading…
Cancel
Save