优化
This commit is contained in:
@@ -72,4 +72,9 @@ public class MaterialInfoDO extends BaseDO {
|
|||||||
*/
|
*/
|
||||||
private String batch;
|
private String batch;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 标记
|
||||||
|
*/
|
||||||
|
private String mark;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,4 +36,18 @@ public class MaterialInfoQuery implements Serializable {
|
|||||||
@Schema(description = "物料编码")
|
@Schema(description = "物料编码")
|
||||||
@Query(type = QueryType.EQ)
|
@Query(type = QueryType.EQ)
|
||||||
private String encoding;
|
private String encoding;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批次
|
||||||
|
*/
|
||||||
|
@Schema(description = "批次")
|
||||||
|
@Query(type = QueryType.EQ)
|
||||||
|
private String batch;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 标记
|
||||||
|
*/
|
||||||
|
@Schema(description = "标记")
|
||||||
|
@Query(type = QueryType.EQ)
|
||||||
|
private String mark;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,4 +30,12 @@ public class BatchImportRowReq implements Serializable {
|
|||||||
@Length(max = 255, message = "批次长度不能超过 {max} 个字符")
|
@Length(max = 255, message = "批次长度不能超过 {max} 个字符")
|
||||||
private String batch;
|
private String batch;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 标记
|
||||||
|
*/
|
||||||
|
@Schema(description = "标记")
|
||||||
|
@NotBlank(message = "标记不能为空")
|
||||||
|
@Length(max = 25, message = "标记长度不能超过 {max} 个字符")
|
||||||
|
private String mark;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -92,4 +92,10 @@ public class MaterialInfoReq implements Serializable {
|
|||||||
@Schema(description = "批次")
|
@Schema(description = "批次")
|
||||||
private String batch;
|
private String batch;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 标记
|
||||||
|
*/
|
||||||
|
@Schema(description = "标记")
|
||||||
|
private String mark;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -113,4 +113,11 @@ public class MaterialInfoResp extends BaseDetailResp {
|
|||||||
@ExcelProperty(value = "批次", order = 7)
|
@ExcelProperty(value = "批次", order = 7)
|
||||||
private String batch;
|
private String batch;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 标记
|
||||||
|
*/
|
||||||
|
@Schema(description = "标记")
|
||||||
|
@ExcelProperty(value = "标记", order = 8)
|
||||||
|
private String mark;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -543,6 +543,7 @@ public class MaterialInfoServiceImpl extends BaseServiceImpl<MaterialInfoMapper,
|
|||||||
MaterialInfoDO materialInfoDO = new MaterialInfoDO();
|
MaterialInfoDO materialInfoDO = new MaterialInfoDO();
|
||||||
materialInfoDO.setEncoding(row.getEncoding());
|
materialInfoDO.setEncoding(row.getEncoding());
|
||||||
materialInfoDO.setBatch(row.getBatch());
|
materialInfoDO.setBatch(row.getBatch());
|
||||||
|
materialInfoDO.setMark(row.getMark());
|
||||||
materialInfoDO.setUpdateUser(UserContextHolder.getUserId());
|
materialInfoDO.setUpdateUser(UserContextHolder.getUserId());
|
||||||
return materialInfoDO;
|
return materialInfoDO;
|
||||||
}).toList();
|
}).toList();
|
||||||
|
|||||||
@@ -52,4 +52,14 @@ public class WorkOrderDO extends BaseDO {
|
|||||||
*/
|
*/
|
||||||
private Integer totalCount;
|
private Integer totalCount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批次
|
||||||
|
*/
|
||||||
|
private String batch;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 标记号
|
||||||
|
*/
|
||||||
|
private String mark;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -56,4 +56,20 @@ public class WorkOrderInfoDO extends BaseDO {
|
|||||||
* 计算重量
|
* 计算重量
|
||||||
*/
|
*/
|
||||||
private BigDecimal calculatedWeight;
|
private BigDecimal calculatedWeight;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批次
|
||||||
|
*/
|
||||||
|
private String batch;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 标记号
|
||||||
|
*/
|
||||||
|
private String mark;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 称重数量
|
||||||
|
*/
|
||||||
|
private Integer weightQuantity;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -3,6 +3,7 @@ package top.wms.admin.weighManage.model.query;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
@@ -56,11 +57,19 @@ public class WorkOrderQuery implements Serializable {
|
|||||||
* 创建开始时间
|
* 创建开始时间
|
||||||
*/
|
*/
|
||||||
@Schema(description = "创建开始时间")
|
@Schema(description = "创建开始时间")
|
||||||
private Date startTime;
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private LocalDateTime startDate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建结束时间
|
* 创建结束时间
|
||||||
*/
|
*/
|
||||||
@Schema(description = "创建结束时间")
|
@Schema(description = "创建结束时间")
|
||||||
private Date endTime;
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date endDate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批次
|
||||||
|
*/
|
||||||
|
private String batch;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -65,4 +65,9 @@ public class WorkOrderInfoReq implements Serializable {
|
|||||||
@Schema(description = "抓拍的图片")
|
@Schema(description = "抓拍的图片")
|
||||||
private String imgUrl;
|
private String imgUrl;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 称重数量
|
||||||
|
*/
|
||||||
|
private Integer weightQuantity;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -52,4 +52,14 @@ public class WorkOrderReq implements Serializable {
|
|||||||
*/
|
*/
|
||||||
private String calculatedWeight;
|
private String calculatedWeight;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批次
|
||||||
|
*/
|
||||||
|
private String batch;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 标记号
|
||||||
|
*/
|
||||||
|
private String mark;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -69,4 +69,20 @@ public class WorkOrderInfoResp {
|
|||||||
@Schema(description = "抓拍的图片")
|
@Schema(description = "抓拍的图片")
|
||||||
private String imgUrl;
|
private String imgUrl;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批次
|
||||||
|
*/
|
||||||
|
@Schema(description = "批次")
|
||||||
|
private String batch;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 标记号
|
||||||
|
*/
|
||||||
|
private String mark;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 称重数量
|
||||||
|
*/
|
||||||
|
private Integer weightQuantity;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -108,4 +108,8 @@ public class WorkOrderResp extends BaseDetailResp {
|
|||||||
@Schema(description = "批次")
|
@Schema(description = "批次")
|
||||||
private String batch;
|
private String batch;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 标记号
|
||||||
|
*/
|
||||||
|
private String mark;
|
||||||
}
|
}
|
||||||
@@ -20,7 +20,6 @@ import top.wms.admin.material.mapper.MaterialInfoMapper;
|
|||||||
import top.wms.admin.material.model.entity.MaterialInfoDO;
|
import top.wms.admin.material.model.entity.MaterialInfoDO;
|
||||||
import top.wms.admin.materialType.mapper.MaterialTypeMapper;
|
import top.wms.admin.materialType.mapper.MaterialTypeMapper;
|
||||||
import top.wms.admin.materialType.model.entity.MaterialTypeDO;
|
import top.wms.admin.materialType.model.entity.MaterialTypeDO;
|
||||||
import top.wms.admin.system.service.ConfigService;
|
|
||||||
import top.wms.admin.weighManage.mapper.WorkOrderInfoMapper;
|
import top.wms.admin.weighManage.mapper.WorkOrderInfoMapper;
|
||||||
import top.wms.admin.weighManage.mapper.WorkOrderMapper;
|
import top.wms.admin.weighManage.mapper.WorkOrderMapper;
|
||||||
import top.wms.admin.weighManage.model.entity.WorkOrderDO;
|
import top.wms.admin.weighManage.model.entity.WorkOrderDO;
|
||||||
@@ -55,13 +54,17 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
|
|||||||
|
|
||||||
private final MaterialTypeMapper materialTypeMapper;
|
private final MaterialTypeMapper materialTypeMapper;
|
||||||
|
|
||||||
private final ConfigService configService;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageResp<WorkOrderResp> page(WorkOrderQuery query, PageQuery pageQuery) {
|
public PageResp<WorkOrderResp> page(WorkOrderQuery query, PageQuery pageQuery) {
|
||||||
QueryWrapper<WorkOrderDO> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<WorkOrderDO> queryWrapper = new QueryWrapper<>();
|
||||||
queryWrapper.like(StrUtil.isNotBlank(query.getMaterialName()), "m.material_name", query.getMaterialName());
|
queryWrapper.like(StrUtil.isNotBlank(query.getMaterialName()), "m.material_name", query.getMaterialName());
|
||||||
queryWrapper.eq(null != query.getOrderNo(), "w.order_no", query.getOrderNo());
|
queryWrapper.eq(null != query.getOrderNo(), "w.order_no", query.getOrderNo());
|
||||||
|
queryWrapper.eq(StrUtil.isNotBlank(query.getBatch()), "w.batch", query.getBatch());
|
||||||
|
queryWrapper.eq(StrUtil.isNotBlank(query.getUserName()), "u.username", query.getUserName());
|
||||||
|
queryWrapper.eq(StrUtil.isNotBlank(query.getCarNo()), "u.card_no", query.getCarNo());
|
||||||
|
queryWrapper.eq(StrUtil.isNotBlank(query.getEncoding()), "m.encoding", query.getEncoding());
|
||||||
|
queryWrapper.ge(null != query.getStartDate(), "w.create_time", query.getStartDate());
|
||||||
|
queryWrapper.le(null != query.getEndDate(), "w.create_time", query.getEndDate());
|
||||||
this.sort(queryWrapper, pageQuery);
|
this.sort(queryWrapper, pageQuery);
|
||||||
|
|
||||||
IPage<WorkOrderResp> page = baseMapper.selectWorkOrderPage(new Page<>(pageQuery.getPage(), pageQuery
|
IPage<WorkOrderResp> page = baseMapper.selectWorkOrderPage(new Page<>(pageQuery.getPage(), pageQuery
|
||||||
@@ -78,9 +81,12 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
|
|||||||
MaterialInfoDO materialInfoDO = materialInfoMapper.selectById(workOrderDO.getMaterialId());
|
MaterialInfoDO materialInfoDO = materialInfoMapper.selectById(workOrderDO.getMaterialId());
|
||||||
workOrderResp.setMaterialName(materialInfoDO.getMaterialName());
|
workOrderResp.setMaterialName(materialInfoDO.getMaterialName());
|
||||||
workOrderResp.setEncoding(materialInfoDO.getEncoding());
|
workOrderResp.setEncoding(materialInfoDO.getEncoding());
|
||||||
workOrderResp.setBatch(materialInfoDO.getBatch());
|
|
||||||
}
|
}
|
||||||
|
List<WorkOrderInfoDO> infos = workOrderInfoMapper.selectList(new QueryWrapper<WorkOrderInfoDO>()
|
||||||
|
.eq("work_order_id", id));
|
||||||
|
if (CollUtil.isNotEmpty(infos)) {
|
||||||
|
workOrderResp.setWorkOrderInfos(BeanUtil.copyToList(infos, WorkOrderInfoResp.class));
|
||||||
|
}
|
||||||
return workOrderResp;
|
return workOrderResp;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -118,6 +124,8 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
|
|||||||
.getUsername() + "-" + materialInfoDO.getMaterialName();
|
.getUsername() + "-" + materialInfoDO.getMaterialName();
|
||||||
workOrder.setTitle(title);
|
workOrder.setTitle(title);
|
||||||
workOrder.setMaterialId(req.getMaterialId());
|
workOrder.setMaterialId(req.getMaterialId());
|
||||||
|
workOrder.setBatch(materialInfoDO.getBatch());
|
||||||
|
workOrder.setMark(materialInfoDO.getMark());
|
||||||
workOrder.setTotalWeight(totalWeight);
|
workOrder.setTotalWeight(totalWeight);
|
||||||
workOrder.setTotalCount(totalCount);
|
workOrder.setTotalCount(totalCount);
|
||||||
workOrder.setTotalCalculatedWeight(materialInfoDO.getUnitWeight().multiply(BigDecimal.valueOf(totalCount)));
|
workOrder.setTotalCalculatedWeight(materialInfoDO.getUnitWeight().multiply(BigDecimal.valueOf(totalCount)));
|
||||||
@@ -125,7 +133,11 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
|
|||||||
|
|
||||||
//新增工单详情列表信息
|
//新增工单详情列表信息
|
||||||
List<WorkOrderInfoDO> workOrderInfoDOList = BeanUtil.copyToList(req.getWorkOrderInfos(), WorkOrderInfoDO.class);
|
List<WorkOrderInfoDO> workOrderInfoDOList = BeanUtil.copyToList(req.getWorkOrderInfos(), WorkOrderInfoDO.class);
|
||||||
workOrderInfoDOList.forEach(workOrderInfoDO -> workOrderInfoDO.setWorkOrderId(workOrder.getId()));
|
workOrderInfoDOList.forEach(workOrderInfoDO -> {
|
||||||
|
workOrderInfoDO.setWorkOrderId(workOrder.getId());
|
||||||
|
workOrderInfoDO.setBatch(materialInfoDO.getBatch());
|
||||||
|
workOrderInfoDO.setMark(materialInfoDO.getMark());
|
||||||
|
});
|
||||||
workOrderInfoMapper.insertBatch(workOrderInfoDOList);
|
workOrderInfoMapper.insertBatch(workOrderInfoDOList);
|
||||||
|
|
||||||
return BeanUtil.copyProperties(workOrder, WorkOrderResp.class);
|
return BeanUtil.copyProperties(workOrder, WorkOrderResp.class);
|
||||||
@@ -162,7 +174,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
|
|||||||
if (ratio.compareTo(upFloatRatio) > 0) {
|
if (ratio.compareTo(upFloatRatio) > 0) {
|
||||||
log.info("比值超过 {}%", upFloatRatio);
|
log.info("比值超过 {}%", upFloatRatio);
|
||||||
map.put("code", "502");
|
map.put("code", "502");
|
||||||
map.put("msg", "数量不足");
|
map.put("msg", "数量过多,请减少");
|
||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -170,7 +182,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
|
|||||||
if (ratio.compareTo(downFloatRatio) < 0) {
|
if (ratio.compareTo(downFloatRatio) < 0) {
|
||||||
log.info("比值超过下限 {}%", downFloatRatio);
|
log.info("比值超过下限 {}%", downFloatRatio);
|
||||||
map.put("code", "501");
|
map.put("code", "501");
|
||||||
map.put("msg", "数量过多");
|
map.put("msg", "数量不足,请添加");
|
||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -78,7 +78,7 @@
|
|||||||
</update>
|
</update>
|
||||||
|
|
||||||
<update id="updateBatchNull">
|
<update id="updateBatchNull">
|
||||||
UPDATE sys_material_info SET batch = null
|
UPDATE sys_material_info SET batch = null, mark = null
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<update id="updateBatchByCode">
|
<update id="updateBatchByCode">
|
||||||
@@ -93,6 +93,14 @@
|
|||||||
</foreach>
|
</foreach>
|
||||||
ELSE batch
|
ELSE batch
|
||||||
END,
|
END,
|
||||||
|
mark = CASE
|
||||||
|
<foreach collection="list" item="item" separator="">
|
||||||
|
<if test="item.mark != null and item.mark != ''">
|
||||||
|
WHEN encoding = #{item.encoding} THEN #{item.mark}
|
||||||
|
</if>
|
||||||
|
</foreach>
|
||||||
|
ELSE mark
|
||||||
|
END,
|
||||||
update_user = CASE
|
update_user = CASE
|
||||||
<foreach collection="list" item="item" separator="">
|
<foreach collection="list" item="item" separator="">
|
||||||
<if test="item.updateUser != null">
|
<if test="item.updateUser != null">
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ public class MaterialTypeController extends BaseController<MaterialTypeService,
|
|||||||
|
|
||||||
@Log(ignore = true)
|
@Log(ignore = true)
|
||||||
@Operation(summary = "下载导入模板", description = "下载导入模板")
|
@Operation(summary = "下载导入模板", description = "下载导入模板")
|
||||||
@SaCheckPermission("admin:materialType:import")
|
@SaCheckPermission("materialType:materialType:import")
|
||||||
@GetMapping(value = "/importTemplate", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
|
@GetMapping(value = "/importTemplate", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
|
||||||
public void downloadImportTemplate(HttpServletResponse response) throws IOException {
|
public void downloadImportTemplate(HttpServletResponse response) throws IOException {
|
||||||
baseService.downloadImportTemplate(response);
|
baseService.downloadImportTemplate(response);
|
||||||
@@ -58,7 +58,7 @@ public class MaterialTypeController extends BaseController<MaterialTypeService,
|
|||||||
|
|
||||||
@Log(ignore = true)
|
@Log(ignore = true)
|
||||||
@Operation(summary = "解析导入数据", description = "解析导入数据")
|
@Operation(summary = "解析导入数据", description = "解析导入数据")
|
||||||
@SaCheckPermission("admin:materialType:import")
|
@SaCheckPermission("materialType:materialType:import")
|
||||||
@PostMapping("/parseImport")
|
@PostMapping("/parseImport")
|
||||||
public MaterialTypeImportParseResp parseImport(@NotNull(message = "文件不能为空") MultipartFile file) {
|
public MaterialTypeImportParseResp parseImport(@NotNull(message = "文件不能为空") MultipartFile file) {
|
||||||
ValidationUtils.throwIf(file::isEmpty, "文件不能为空");
|
ValidationUtils.throwIf(file::isEmpty, "文件不能为空");
|
||||||
@@ -66,7 +66,7 @@ public class MaterialTypeController extends BaseController<MaterialTypeService,
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Operation(summary = "导入数据", description = "导入数据")
|
@Operation(summary = "导入数据", description = "导入数据")
|
||||||
@SaCheckPermission("admin:materialType:import")
|
@SaCheckPermission("materialType:materialType:import")
|
||||||
@PostMapping(value = "/import")
|
@PostMapping(value = "/import")
|
||||||
public MaterialTypeImportResp importMaterial(@Validated @RequestBody MaterialTypeImportReq req) {
|
public MaterialTypeImportResp importMaterial(@Validated @RequestBody MaterialTypeImportReq req) {
|
||||||
return baseService.importMaterial(req);
|
return baseService.importMaterial(req);
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ public class VmCommandController {
|
|||||||
} catch (NumberFormatException e) {
|
} catch (NumberFormatException e) {
|
||||||
throw new BusinessException("相机识别异常");
|
throw new BusinessException("相机识别异常");
|
||||||
}
|
}
|
||||||
|
response = "success";
|
||||||
} else if (StrUtil.equals(response, materialCode)) {
|
} else if (StrUtil.equals(response, materialCode)) {
|
||||||
response = "success";
|
response = "success";
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -28,9 +28,9 @@ import java.util.regex.Pattern;
|
|||||||
public class AHDZCConnect {
|
public class AHDZCConnect {
|
||||||
|
|
||||||
//老设备(只能跑jar包的)
|
//老设备(只能跑jar包的)
|
||||||
// private static final String PORT_NAME = "COM12";
|
private static final String PORT_NAME = "COM12";
|
||||||
//新设备(环境齐全的)
|
//新设备(环境齐全的)
|
||||||
private static final String PORT_NAME = "COM13";
|
// private static final String PORT_NAME = "COM13";
|
||||||
private static final int BAUD_RATE = 9600;
|
private static final int BAUD_RATE = 9600;
|
||||||
private static final int DATA_BITS = 8;
|
private static final int DATA_BITS = 8;
|
||||||
private static final int STOP_BITS = 1;
|
private static final int STOP_BITS = 1;
|
||||||
@@ -55,9 +55,9 @@ public class AHDZCConnect {
|
|||||||
private ScheduledExecutorService executorService;
|
private ScheduledExecutorService executorService;
|
||||||
|
|
||||||
// todo 模拟数据生成
|
// todo 模拟数据生成
|
||||||
// private ScheduledFuture<?> mockDataTask;
|
// private ScheduledFuture<?> mockDataTask;
|
||||||
// private final AtomicBoolean isMockDataRunning = new AtomicBoolean(false);
|
// private final AtomicBoolean isMockDataRunning = new AtomicBoolean(false);
|
||||||
// private final Random random = new Random();
|
// private final Random random = new Random();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 初始化并启动电子秤服务
|
* 初始化并启动电子秤服务
|
||||||
@@ -76,8 +76,8 @@ public class AHDZCConnect {
|
|||||||
start();
|
start();
|
||||||
|
|
||||||
// todo 模拟数据生成
|
// todo 模拟数据生成
|
||||||
// isMockDataRunning.set(true);
|
// isMockDataRunning.set(true);
|
||||||
// startMockData();
|
// startMockData();
|
||||||
|
|
||||||
return R.ok();
|
return R.ok();
|
||||||
}
|
}
|
||||||
@@ -227,6 +227,7 @@ public class AHDZCConnect {
|
|||||||
|
|
||||||
// 解析数据,提取数字和重量单位
|
// 解析数据,提取数字和重量单位
|
||||||
String weightStr = data.trim();
|
String weightStr = data.trim();
|
||||||
|
log.info("电子称原始数据: {}", weightStr);
|
||||||
// 使用正则表达式提取数字(包括小数点)
|
// 使用正则表达式提取数字(包括小数点)
|
||||||
Pattern pattern = Pattern.compile("[-+]?\\d*\\.?\\d+");
|
Pattern pattern = Pattern.compile("[-+]?\\d*\\.?\\d+");
|
||||||
Matcher matcher = pattern.matcher(weightStr);
|
Matcher matcher = pattern.matcher(weightStr);
|
||||||
@@ -339,7 +340,7 @@ public class AHDZCConnect {
|
|||||||
log.info("========================================");
|
log.info("========================================");
|
||||||
|
|
||||||
// todo 模拟数据生成
|
// todo 模拟数据生成
|
||||||
// stopMockData();
|
// stopMockData();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (executorService != null && !executorService.isShutdown()) {
|
if (executorService != null && !executorService.isShutdown()) {
|
||||||
@@ -361,32 +362,32 @@ public class AHDZCConnect {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// todo 模拟数据生成
|
// todo 模拟数据生成
|
||||||
// private void startMockData() {
|
// private void startMockData() {
|
||||||
// if (executorService == null || executorService.isShutdown()) {
|
// if (executorService == null || executorService.isShutdown()) {
|
||||||
// log.warn("[模拟数据] 线程池未初始化或已关闭");
|
// log.warn("[模拟数据] 线程池未初始化或已关闭");
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// mockDataTask = executorService.scheduleAtFixedRate(() -> {
|
|
||||||
// if (!isMockDataRunning.get()) {
|
|
||||||
// return;
|
// return;
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// try {
|
// mockDataTask = executorService.scheduleAtFixedRate(() -> {
|
||||||
// ScaleWebSocketHandler.sendMessage(String.valueOf(random.nextInt(100) + 1));
|
// if (!isMockDataRunning.get()) {
|
||||||
// log.debug("[模拟数据] 发送重量数据: 37.8");
|
// return;
|
||||||
// } catch (Exception e) {
|
// }
|
||||||
// log.error("[模拟数据] 发送异常: {}", e.getMessage());
|
|
||||||
// }
|
|
||||||
// }, 0, 1, TimeUnit.SECONDS);
|
|
||||||
// }
|
|
||||||
//
|
//
|
||||||
// private void stopMockData() {
|
// try {
|
||||||
// if (mockDataTask != null && !mockDataTask.isCancelled()) {
|
// ScaleWebSocketHandler.sendMessage(String.valueOf(random.nextInt(100) + 1));
|
||||||
// mockDataTask.cancel(false);
|
// log.debug("[模拟数据] 发送重量数据: 37.8");
|
||||||
// mockDataTask = null;
|
// } catch (Exception e) {
|
||||||
|
// log.error("[模拟数据] 发送异常: {}", e.getMessage());
|
||||||
|
// }
|
||||||
|
// }, 0, 3, TimeUnit.SECONDS);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// private void stopMockData() {
|
||||||
|
// if (mockDataTask != null && !mockDataTask.isCancelled()) {
|
||||||
|
// mockDataTask.cancel(false);
|
||||||
|
// mockDataTask = null;
|
||||||
|
// }
|
||||||
|
// isMockDataRunning.set(false);
|
||||||
// }
|
// }
|
||||||
// isMockDataRunning.set(false);
|
|
||||||
// }
|
|
||||||
|
|
||||||
}
|
}
|
||||||
Binary file not shown.
Reference in New Issue
Block a user