机台,标签-配置数据压缩

This commit is contained in:
liuzhaotian
2024-06-11 16:39:01 +08:00
parent 5de9bff802
commit 6b861b4ea4
24 changed files with 470 additions and 189 deletions
@@ -10,13 +10,19 @@ import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import lombok.Data;
import lombok.SneakyThrows;
import lombok.ToString;
import lombok.extern.slf4j.Slf4j;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.lang.reflect.Field;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
import java.util.*;
import java.util.zip.DataFormatException;
import java.util.zip.Deflater;
import java.util.zip.Inflater;
/**
* JSON 工具类
@@ -184,4 +190,245 @@ public class JsonUtils {
return JSONUtil.isTypeJSON(text);
}
/**
* 压缩
*/
public static String zipString(String unzipString) {
/**
* https://www.yiibai.com/javazip/javazip_deflater.html#article-start
* 0 ~ 9 压缩等级 低到高
* public static final int BEST_COMPRESSION = 9; 最佳压缩的压缩级别。
* public static final int BEST_SPEED = 1; 压缩级别最快的压缩。
* public static final int DEFAULT_COMPRESSION = -1; 默认压缩级别。
* public static final int DEFAULT_STRATEGY = 0; 默认压缩策略。
* public static final int DEFLATED = 8; 压缩算法的压缩方法(目前唯一支持的压缩方法)。
* public static final int FILTERED = 1; 压缩策略最适用于大部分数值较小且数据分布随机分布的数据。
* public static final int FULL_FLUSH = 3; 压缩刷新模式,用于清除所有待处理的输出并重置拆卸器。
* public static final int HUFFMAN_ONLY = 2; 仅用于霍夫曼编码的压缩策略。
* public static final int NO_COMPRESSION = 0; 不压缩的压缩级别。
* public static final int NO_FLUSH = 0; 用于实现最佳压缩结果的压缩刷新模式。
* public static final int SYNC_FLUSH = 2; 用于清除所有未决输出的压缩刷新模式; 可能会降低某些压缩算法的压缩率。
*/
//使用指定的压缩级别创建一个新的压缩器。
Deflater deflater = new Deflater(Deflater.BEST_COMPRESSION);
//设置压缩输入数据。
deflater.setInput(unzipString.getBytes());
//当被调用时,表示压缩应该以输入缓冲区的当前内容结束。
deflater.finish();
final byte[] bytes = new byte[256];
ByteArrayOutputStream outputStream = new ByteArrayOutputStream(256);
while (!deflater.finished()) {
//压缩输入数据并用压缩数据填充指定的缓冲区。
int length = deflater.deflate(bytes);
outputStream.write(bytes, 0, length);
}
//关闭压缩器并丢弃任何未处理的输入。
deflater.end();
return Base64.getEncoder().encodeToString(outputStream.toByteArray());
}
/**
* 解压缩
*/
public static String unzipString(String zipString) {
byte[] decode = Base64.getDecoder().decode(zipString);
//创建一个新的解压缩器 https://www.yiibai.com/javazip/javazip_inflater.html
Inflater inflater = new Inflater();
//设置解压缩的输入数据。
inflater.setInput(decode);
final byte[] bytes = new byte[256];
ByteArrayOutputStream outputStream = new ByteArrayOutputStream(256);
try {
//finished() 如果已到达压缩数据流的末尾,则返回true。
while (!inflater.finished()) {
//将字节解压缩到指定的缓冲区中。
int length = inflater.inflate(bytes);
outputStream.write(bytes, 0, length);
}
} catch (DataFormatException e) {
e.printStackTrace();
return null;
} finally {
//关闭解压缩器并丢弃任何未处理的输入。
inflater.end();
}
return outputStream.toString();
}
/*
* */
public static List<List<Object>> jsonTo2DArray(String jsonString) {
try {
ObjectMapper objectMapper = new ObjectMapper();
JsonNode jsonArray = objectMapper.readTree(jsonString);
Set<String> headers = new LinkedHashSet<>();
List<List<Object>> result = new ArrayList<>();
// 从数组中的所有对象收集标头
if (jsonArray.isArray()) {
for (JsonNode jsonObject : jsonArray) {
Iterator<String> fieldNames = jsonObject.fieldNames();
while (fieldNames.hasNext()) {
headers.add(fieldNames.next());
}
}
}
result.add(new ArrayList<>(headers));
// 提取行
for (JsonNode jsonObject : jsonArray) {
List<Object> row = new ArrayList<>();
for (String header : headers) {
JsonNode valueNode = jsonObject.get(header);
if (valueNode != null) {
if (valueNode.isTextual()) {
row.add(valueNode.asText());
} else if (valueNode.isInt()) {
row.add(valueNode.asInt());
} else if (valueNode.isBoolean()) {
row.add(valueNode.asBoolean());
} else if (valueNode.isDouble()) {
row.add(valueNode.asDouble());
} else if (valueNode.isArray() || valueNode.isObject() ) {
row.add(jsonTo2DArray(valueNode.toString()));
} else {
row.add(valueNode.asText());
}
} else {
row.add(null); // 处理缺少的值
}
}
result.add(row);
}
return result;
} catch (Exception e) {
e.printStackTrace();
return new ArrayList<>();
}
}
// 抽取 json数据,不改变数据结构对应的值,只改变数据结构(参考 HPACK 算法) 实现json数据抽取
public static List<List<Object>> getData(Object object) {
String jsonString = toJsonString(object);
ObjectMapper mapper = new ObjectMapper();
try {
List<Map<String, Object>> list = mapper.readValue(jsonString, new TypeReference<>() {});
List<List<Object>> result = convertTo2DArray(list);
//
return result;
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
private static List<List<Object>> convertTo2DArray(List<Map<String, Object>> list) {
List<List<Object>> result = new ArrayList<>();
// Get the headers from the first map
if (list.size() > 0) {
Map<String, Object> firstMap = list.get(0);
List<Object> headers = new ArrayList<>(firstMap.keySet());
result.add(headers);
//
// Add rows
for (Map<String, Object> map : list) {
//
List<Object> row = new ArrayList<>();
for (Object header : headers) {
row.add(map.get(header));
}
result.add(row);
}
}
return result;
}
// 将所有抽取后的 json 数据都加入一个统一的数据类型中,方便前端解析哪些代码是抽取的数据,进行数据还原
@Data
@ToString(callSuper = true)
public static class ExtractedData {
List<List<Object>> extractedData;
}
public static List<List<List<Object>>> fetchData(Object obj) {
List<List<List<Object>>> data = new ArrayList<>();
try {
// 获取所有字段
Field[] fields = obj.getClass().getDeclaredFields();
for (Field field : fields) {
// 跳过静态或常量字段
if (java.lang.reflect.Modifier.isStatic(field.getModifiers()) ||
java.lang.reflect.Modifier.isFinal(field.getModifiers())) {
continue;
}
// 确保字段是可访问的
field.setAccessible(true);
// 获取字段值
Object fieldValue = field.get(obj);
// 如果字段值是一个对象,递归调用 fetchData
if (fieldValue != null && isCustomObject(fieldValue)) {
data.add(JsonUtils.jsonTo2DArray(toJsonString(fieldValue)));
fetchData(fieldValue);
}
}
} catch (Exception e) {
e.printStackTrace();
}
return data;
}
// 判断一个对象是否是自定义的类对象
private static boolean isCustomObject(Object obj) {
Class<?> clazz = obj.getClass();
// 自定义对象通常不会是 Java 的基本类型或标准库类型
// 这里可以根据具体需求进行更加复杂的判断
return !clazz.isPrimitive() &&
!clazz.getName().startsWith("java.") &&
!clazz.getName().startsWith("javax.") &&
!clazz.getName().startsWith("sun.") &&
!clazz.isAssignableFrom(Collection.class) &&
!clazz.isAssignableFrom(Map.class);
}
}
@@ -117,4 +117,15 @@ public class SecurityFrameworkUtils {
return authenticationToken;
}
/**
* 获取当前用户的组织ID
*
*/
public static Long getUserOrganId(){
return SecurityFrameworkUtils.getLoginUser().getOrganId();
}
}
@@ -66,10 +66,9 @@ import static com.cf.imes.framework.common.exception.enums.GlobalErrorCodeConsta
import static com.cf.imes.framework.common.exception.enums.GlobalErrorCodeConstants.UNKNOWN;
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.cf.imes.framework.organ.core.context.OrganContextHolder.getOrganId;
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
import static com.cf.imes.module.executor.enums.ErrorCodeConstants.ORDER_NOT_EXISTS;
import static com.cf.imes.module.executor.enums.ErrorCodeConstants.PLAN_NOT_EXISTS;
import static com.cf.imes.module.executor.util.OrganIdUtils.getUserOrganId;
import org.springframework.transaction.annotation.Transactional;
/**
@@ -416,28 +415,28 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
public void saveOptimizationResults(SavePlanPlateResultReqVO req) {
// 判断当前的大板数据是否已经优化,有优化,更新,没有,新增
if (req.getOptimizeBoardModelDOS().get(0).getIsOptimized().equals(true)) {
try {
// 更新大板的优化数据
BulkResponse bulkResponse = esDocumentService.bulkUpdate(ORDER_REMAIN_PLATE_MODEL, req.getOptimizeBoardModelDOS());
boolean errors = bulkResponse.errors();
if (errors) {
log.error(bulkResponse.items().toString());
throw new ServiceException(500, "未知异常");
}
} catch (Exception e) {
e.printStackTrace();
log.error(e.getMessage());
throw new RuntimeException(e);
}
}
else {
// // 判断当前的大板数据是否已经优化,有优化,更新,没有,新增
// if (req.getOptimizeBoardModelDOS().get(0).getIsOptimized().equals(true)) {
// try {
// // 更新大板的优化数据
// BulkResponse bulkResponse = esDocumentService.bulkUpdate(ORDER_REMAIN_PLATE_MODEL, req.getOptimizeBoardModelDOS());
// boolean errors = bulkResponse.errors();
// if (errors) {
// log.error(bulkResponse.items().toString());
// throw new ServiceException(500, "未知异常");
// }
// } catch (Exception e) {
// e.printStackTrace();
// log.error(e.getMessage());
// throw new RuntimeException(e);
// }
// }
// else {
// 保存优化后的大板数据
batchSaveBoardModel(req.getOptimizeBoardModelDOS());
}
// }
if (CollectionUtil.isNotEmpty(req.getOptimizeRemainPlates())) {
@@ -101,7 +101,7 @@ public class PlanServiceImpl implements PlanService {
plan.setIsPay(Boolean.FALSE);
plan.setSort(sort);
plan.setPlanNo(identifierGenerator.nextId(null).toString());
String orderNos = itemList.stream().map(i -> i.getOrderId()).collect(Collectors.toList()).toString();
String orderNos = itemList.stream().map(i -> i.getOrderId()).distinct().collect(Collectors.toList()).toString();
plan.setOrderNos(orderNos);
planMapper.insert(plan);
Long planId = plan.getId();
@@ -60,6 +60,14 @@ public class PackController {
}
@GetMapping("/getOrderPlate")
@Operation(summary = "查看生产订单对应的板材信息")
@Parameter(name = "orderId", description = "生产单Id", required = true)
public CommonResult<List<PlateDetailsRespVO>> getOrderPlateList(@Valid @RequestParam("orderId") Long orderId) {
return success(packService.getOrderPlateList(orderId));
}
@GetMapping("/getOrderPack")
@@ -86,15 +94,7 @@ public class PackController {
// @GetMapping("/getOrderPlate")
// @Operation(summary = "查看生产订单对应的板材信息")
// @Parameter(name = "orderId", description = "生产单Id", required = true)
// @PreAuthorize("@ss.hasPermission('manage:pack:query')")
public CommonResult<OrderPlateDetailsRespVO> getOrderPlateList(@Valid @RequestParam("orderId") Long orderId) {
return success(packService.getOrderPlateList(orderId));
}
@@ -62,7 +62,6 @@ public class PackRespVO {
@Schema(description = "已打包数-包裹数", requiredMode = Schema.RequiredMode.REQUIRED)
private Long packCount;
@@ -76,16 +75,13 @@ public class PackRespVO {
@Schema(description = "待处理量", requiredMode = Schema.RequiredMode.REQUIRED)
private Long pendingNum;
// @Schema(description = "当前包裹的板件数", requiredMode = Schema.RequiredMode.REQUIRED)
// private Long currentPackNum;
@Schema(description = "生产单对应的板件信息", requiredMode = Schema.RequiredMode.REQUIRED)
List<PlateDetailsRespVO> plateDetailsRespVO;
// @Schema(description = "生产单对应的板件信息", requiredMode = Schema.RequiredMode.REQUIRED)
// List<PlateDetailsRespVO> plateDetailsRespVO;
}
@@ -61,15 +61,15 @@ public class PlateDetailsRespVO {
@Schema(description = "纹路", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("纹路")
private String texture;
private Integer texture;
@Schema(description = "异形", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("异形")
private String specialShaped;
private Boolean specialShaped;
@Schema(description = "造型", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("造型")
private String profiling;
private Boolean profiling;
@Schema(description = "排孔", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("排孔")
@@ -4,14 +4,10 @@ package com.cf.imes.module.manage.dal.mysql.pack;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.cf.imes.module.manage.controller.admin.pack.vo.OtherPackReqVO;
import com.cf.imes.module.manage.controller.admin.pack.vo.PackRespVO;
import com.cf.imes.module.manage.controller.admin.pack.vo.PackageDetailsReqVO;
import com.cf.imes.module.manage.controller.admin.pack.vo.PlateDetailsRespVO;
import com.cf.imes.module.manage.controller.admin.query.vo.pack.OrderPackageVO;
import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepNDO;
import com.cf.imes.module.manage.dal.dataobject.query.OrderPackageDO;
import com.cf.imes.module.manage.dal.dataobject.query.OrderPartsNDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@@ -29,7 +25,7 @@ public interface OrderPackageMapper extends BaseMapperX<OrderPackageDO> {
// }
List<OrderPackageDO> selectByOrderNo(PackageDetailsReqVO reqVO);
List<OrderPackageDO> selectByOrderNo(@Param("reqVO") PackageDetailsReqVO reqVO,@Param("organId") Long organId);
default OrderPackageDO selectByPackNo(String packNo) {
@@ -29,7 +29,7 @@ public interface OrderItemMapper extends BaseMapperX<OrderItemDO> {
List<OrderPlateRespVO> selectPlateList(PlatePageVO pageReqVO);
List<PlateDetailsRespVO> selectOrderPlateList(Long orderNo);
List<PlateDetailsRespVO> selectOrderPlateList(@Param("orderNo") Long orderNo,@Param("organId") Long organId);
@@ -1,6 +1,7 @@
package com.cf.imes.module.manage.dal.mysql.query;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
@@ -15,6 +16,8 @@ import org.apache.ibatis.annotations.Param;
import java.util.List;
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
@Mapper
public interface ProductionStatusMapper extends BaseMapperX<OrderDO> {
@@ -41,8 +44,10 @@ public interface ProductionStatusMapper extends BaseMapperX<OrderDO> {
PrintOrderRespVO selectPrintOrder(Long orderNo);
default List<OrderDO> selectPackPage(PackPageReqVO pageReqVO) {
default List<OrderDO> selectPackPage(PackPageReqVO pageReqVO,Long organId) {
return selectList(new LambdaQueryWrapperX<OrderDO>()
.eq(OrderDO::getOrganId,organId)
.eqIfPresent(OrderDO::getOrganId,getUserOrganId())
.eqIfPresent(OrderDO::getId, pageReqVO.getOrderNo())
.eqIfPresent(OrderDO::getCustomOrderNo, pageReqVO.getCustomOrderNo())
.likeIfPresent(OrderDO::getCustomer, pageReqVO.getCustomer())
@@ -51,7 +56,7 @@ public interface ProductionStatusMapper extends BaseMapperX<OrderDO> {
.orderByDesc(OrderDO::getCreateTime));
}
List<PackRespVO> selectOrderPlate(@Param("collect") List<Long> collect);
IPage<PackRespVO> selectOrderPlate( @Param("page") IPage page, @Param("collect") List<Long> collect, @Param("organId") Long organId);
@@ -21,7 +21,7 @@ public interface PackService {
// 查看生产订单对应的板材信息
OrderPlateDetailsRespVO getOrderPlateList(Long orderId);
List<PlateDetailsRespVO> getOrderPlateList(Long orderId);
@@ -2,6 +2,9 @@ package com.cf.imes.module.manage.service.pack;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
import com.cf.imes.framework.common.enums.OrderPackageStatusEnum;
import com.cf.imes.framework.common.enums.OrderPackageTypeEnum;
import com.cf.imes.framework.common.exception.util.ServiceExceptionUtil;
@@ -34,6 +37,7 @@ import java.util.List;
import java.util.stream.Collectors;
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
import static com.cf.imes.module.system.enums.ErrorCodeConstants.*;
@Service
@@ -61,50 +65,58 @@ public class PackServiceImpl implements PackService {
@Override
public PageResult<PackRespVO> getPackPage(PackPageReqVO pageReqVO) {
// PageDTO<PackRespVO> page = new PageDTO<>(pageReqVO.getPageNo(), pageReqVO.getPageSize());
PageDTO<PackRespVO> page = new PageDTO<>(pageReqVO.getPageNo(), pageReqVO.getPageSize());
// 根据生产状态查询生产单号
List<Long> collect = productionStatusMapper.selectPackPage(pageReqVO).stream().map(OrderDO::getId).collect(Collectors.toList());
List<Long> collect = productionStatusMapper.selectPackPage(pageReqVO,getUserOrganId()).stream().map(OrderDO::getId).collect(Collectors.toList());
PageHelper.startPage(pageReqVO.getPageNo(), pageReqVO.getPageSize());
// 查询打包首页分页数据信息,包裹数,板件数量信息
List<PackRespVO> packRespVOS = productionStatusMapper.selectOrderPlate(collect);
IPage<PackRespVO> packRespVOS = productionStatusMapper.selectOrderPlate(page,collect,getUserOrganId());
PageInfo<PackRespVO> pageInfo = new PageInfo<>(packRespVOS);
for (PackRespVO record : packRespVOS.getRecords()) {
// 转换成 PageResult 分页类型
PageResult<PackRespVO> priceRateReqVOPageResult = PageHelperUtil.convertToPageResult(pageInfo);
// 待处理量
record.setPendingNum(record.getTotalPieceCount() - record.getPackPieceCount());
}
if (CollectionUtil.isEmpty(packRespVOS.getRecords())) {
return new PageResult<>();
}
return priceRateReqVOPageResult;
return new PageResult<>(packRespVOS.getRecords(), packRespVOS.getTotal());
}
// 查看生产订单对应的板材信息
@Override
public List<PlateDetailsRespVO> getOrderPlateList(Long orderId) {
// 查询需要返回的其他信息
// OrderPlateDetailsRespVO orderPlateDetailsRespVO = orderItemMapper.selectOrderPlateDetails(orderId);
// orderPlateDetailsRespVO.setPendingNum(orderPlateDetailsRespVO.getPlateNum() - orderPlateDetailsRespVO.getPlateProcessedNum());
// 查询订单对应的板件信息
List<PlateDetailsRespVO> plateDetailsRespVOS = orderItemMapper.selectOrderPlateList(orderId,getUserOrganId());
return plateDetailsRespVOS;
}
// 查看生产订单对应的包裹信息
@Override
public List<OrderPackageDO> getOrderPack(PackageDetailsReqVO reqVO) {
return orderPackageMapper.selectByOrderNo(reqVO);
return orderPackageMapper.selectByOrderNo(reqVO,getUserOrganId());
}
// 查看生产订单对应的板材信息
@Override
public OrderPlateDetailsRespVO getOrderPlateList(Long orderId) {
// 查询需要返回的其他信息
OrderPlateDetailsRespVO orderPlateDetailsRespVO = orderItemMapper.selectOrderPlateDetails(orderId);
orderPlateDetailsRespVO.setPendingNum(orderPlateDetailsRespVO.getPlateNum() - orderPlateDetailsRespVO.getPlateProcessedNum());
// 查询订单对应的板件信息
List<PlateDetailsRespVO> plateDetailsRespVOS = orderItemMapper.selectOrderPlateList(orderId);
return orderPlateDetailsRespVO.setPlateDetailsRespVO(plateDetailsRespVOS);
}
// 查看板材列表分页
@@ -113,7 +125,7 @@ public class PackServiceImpl implements PackService {
PageHelper.startPage(pageReqVO.getPageNo(), pageReqVO.getPageSize());
List<PlateDetailsRespVO> plateDetailsRespVOS = orderItemMapper.selectOrderPlateList(pageReqVO.getOrderNo());
List<PlateDetailsRespVO> plateDetailsRespVOS = orderItemMapper.selectOrderPlateList(pageReqVO.getOrderNo(),getUserOrganId());
PageInfo<PlateDetailsRespVO> pageInfo = new PageInfo<>(plateDetailsRespVOS);
PageResult<PlateDetailsRespVO> priceRateReqVOPageResult = PageHelperUtil.convertToPageResult(pageInfo);
@@ -137,6 +149,7 @@ public class PackServiceImpl implements PackService {
// 更新配件
@Override
@Transactional(rollbackFor = Exception.class)
public void updateParts(OrderPartsReqVO reqVO) {
// 生产明细表新增的配件ID
@@ -186,6 +199,7 @@ public class PackServiceImpl implements PackService {
// 新增包裹
@Override
@Transactional(rollbackFor = Exception.class)
public OrderPackageDO insertPack(OrderPackReqVO packageVO) {
List<OrderPackageDO> orderPackageDOS = orderPackageMapper.selectPackStatus(packageVO.getOrderId());
@@ -227,6 +241,7 @@ public class PackServiceImpl implements PackService {
// 更新包裹
@Override
@Transactional(rollbackFor = Exception.class)
public OrderPackageDO updatePack(OrderPackReqVO packageVO) {
@@ -272,6 +287,7 @@ public class PackServiceImpl implements PackService {
// 删除包裹及其关联的包裹信息(删除全部)
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteOrderPack(PackReqVO reqVO) {
// 判断包裹的类型是否为其他类型,如果是,则删除其包裹信息
@@ -290,6 +306,7 @@ public class PackServiceImpl implements PackService {
// 新增外部配件包裹表
@Override
@Transactional(rollbackFor = Exception.class)
public OrderPackageDO addNewOtherPack(OtherPackReqVO reqVO) {
// 判断配件名称是否重复
@@ -337,6 +354,7 @@ public class PackServiceImpl implements PackService {
// 新增外部配件
@Override
@Transactional(rollbackFor = Exception.class)
public OrderPartsRespVO addNewOtherParts(OtherPackReqVO reqVO) {
OrderPackageDO orderPackageDO = orderPackageMapper.selectByPackNo(reqVO.getPackNo());
@@ -370,6 +388,7 @@ public class PackServiceImpl implements PackService {
// 删除配件包裹中的配件(删除某一个)
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteOtherParts(DeleteOtherPartsReqVO reqVO) {
// 更新配件表中配件为逻辑删除
@@ -383,6 +402,7 @@ public class PackServiceImpl implements PackService {
// 新增配件-即新增一个包裹
@Override
@Transactional(rollbackFor = Exception.class)
public OrderPackageDO addNewPartsPack(OrderPackReqVO reqVO) {
OrderPackageDO orderPackageDO = new OrderPackageDO();
@@ -1,6 +1,7 @@
package com.cf.imes.module.manage.service.query;
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.framework.common.util.object.BeanUtils;
import com.cf.imes.module.manage.controller.admin.pack.vo.OrderPartsReqVO;
@@ -161,6 +162,7 @@ public class ProductionStatusServiceImpl implements ProductionStatusService {
@Override
public PageResult<PackageDetailsRespVO> queryPackageDetails(PackDetailsReqVO reqVO) {
PageDTO<PackageDetailsRespVO> page = new PageDTO<>(reqVO.getPageNo(), reqVO.getPageSize());
// 查看配件包裹
if(reqVO.getType() == 1 || reqVO.getType() == 2){
@@ -101,37 +101,35 @@
<select id="selectByOrderNo"
resultType="com.cf.imes.module.manage.dal.dataobject.query.OrderPackageDO"
parameterType="com.cf.imes.module.manage.controller.admin.pack.vo.PackageDetailsReqVO">
parameterType="map">
select distinct
opn.*
from order_package_n opn
join order_item oi on opn.id = oi.package_id
left join order_plate op on oi.plate_id = op.id
join order_item oi on opn.id = oi.package_id and opn.organ_id = oi.organ_id
left join order_plate op on oi.plate_id = op.id and oi.organ_id = op.organ_id
<where>
<if test="orderId !=null">
and opn.order_no = #{orderId}
<if test="reqVO.orderId !=null">
and opn.order_no = #{reqVO.orderId}
</if>
<if test="plateNo !=null ">
and op.plate_no = #{plateNo}
<if test="reqVO.plateNo !=null ">
and op.plate_no = #{reqVO.plateNo}
</if>
<if test="packStatus !=null ">
and opn.status= #{packStatus}
<if test="reqVO.packStatus !=null ">
and opn.status= #{reqVO.packStatus}
</if>
<if test="packageNo !=null and packageNo != '' ">
and opn.package_no= #{packageNo}
<if test="reqVO.packageNo !=null and reqVO.packageNo != '' ">
and opn.package_no= #{reqVO.packageNo}
</if>
and opn.organ_id = #{organId}
</where>
-- where opn.order_no and opn.package_no and opn.status and oi.plate_id
</select>
@@ -137,26 +137,26 @@
ob.name as bodyName,
op.id as plateId,
op.name as plateName,
p.material as plateMaterial,
p.color as plateColor,
p.height as plateHeight,
p.width as plateWidth,
p.thickness as plateThickness,
ogs.material as plateMaterial,
ogs.color as plateColor,
op.height as plateHeight,
op.width as plateWidth,
op.thickness as plateThickness,
op.area as plateArea,
op.texture as texture ,
op.remark as remark,
op.is_special_shaped as specialShaped,
op.is_sculpt as profiling,
CASE WHEN op.unregular_point_count = 0 THEN '否' ELSE '是' END AS specialShaped,
CASE WHEN front_model_count = 0 or op.back_hole_count or op.side_hole_count THEN '否' ELSE '是' END AS profiling,
CASE WHEN front_hole_count = 0 or op.back_model_count THEN '否' ELSE '是' END AS rowHole
CASE WHEN op.front_hole_count = 0 or op.back_model_count = 0 or op.side_hole_count = 0 THEN false ELSE true END AS rowHole
from order_item oi
join order_plate op on oi.plate_id = op.id
join plate p on op.goods_id = p.goods_id
join order_body ob on oi.body_id = ob.id
join order_group og on ob.id = og.body_id
join order_plate op on oi.plate_id = op.id and oi.organ_id = op.organ_id
join order_goods ogs on op.goods_id = ogs.id and op.organ_id = ogs.organ_id
join order_body ob on oi.body_id = ob.id and oi.organ_id = ob.organ_id
join order_group og on ob.id = og.body_id and ob.organ_id = og.organ_id
where
oi.order_id =#{orderNo}
oi.order_id = #{orderNo} and oi.organ_id = #{organId}
</select>
@@ -47,60 +47,16 @@
<result property="createTime" column="createTime"/>
<result property="packId" column="packId"/>
<result property="packCount" column="packNum"/>
<result property="totalPieceCount" column="plateNum"/>
<result property="packPieceCount" column="plateProcessedNum"/>
<result property="packCount" column="packCount"/>
<result property="totalPieceCount" column="totalPieceCount"/>
<result property="packPieceCount" column="packPieceCount"/>
<collection property="plateDetailsRespVO" ofType="com.cf.imes.module.manage.controller.admin.pack.vo.PlateDetailsRespVO">
<result property="roomId" column="roomId"/>
<result property="bodyId" column="bodyId"/>
<result property="roomName" column="roomName"/>
<result property="cabinetName" column="bodyName"/>
<result property="plateNo" column="plateId"/>
<result property="plateName" column="plateName"/>
<result property="material" column="plateMaterial"/>
<result property="color" column="plateColor"/>
<result property="width" column="plateWidth"/>
<result property="height" column="plateHeight"/>
<result property="thickness" column="plateThickness"/>
<result property="area" column="plateArea"/>
<result property="texture" column="texture"/>
<result property="specialShaped" column="specialShaped"/>
<result property="profiling" column="profiling"/>
<result property="rowHole" column="rowHole"/>
<result property="remark" column="remark"/>
<result property="processGroup" column="name"/>
</collection>
</resultMap>
<select id="selectOrderPlate"
parameterType="java.util.List"
resultMap="PackMap">
<!-- SELECT-->
<!-- oi.num as num,-->
<!-- o.id as orderNo,-->
<!-- o.custom_order_no as customOrderNo,-->
<!-- o.dealer as dealer,-->
<!-- o.create_time as createTime,-->
<!-- o.delivery_date as deliveryDate,-->
<!-- o.customer as customer,-->
<!-- o.phone_number as phoneNumber,-->
<!-- o.address as address,-->
<!-- o.salesman as salesman,-->
<!-- o.splitter as splitter,-->
<!-- o.status as status-->
<!-- FROM `order` o-->
<!-- join order_item oi on o.id = oi.order_id-->
<!-- WHERE o.id in-->
<!-- <foreach item="id" collection="collect" open="(" separator="," close=")">-->
<!-- #{id}-->
<!-- </foreach>-->
<!-- group by num,orderNo,customOrderNo,dealer,createTime,deliveryDate,customer,phoneNumber,address,salesman,splitter,status;-->
SELECT distinct
o.id as orderNo,
@@ -118,47 +74,25 @@
count(distinct
case
when oi.package_id!=0 then oi.package_id end
) as packNum,
) as packCount,
count(distinct case
when oi.package_id !=0 and oi.parts_id = 0 then oi.plate_id end )as plateProcessedNum,
when oi.package_id !=0 and oi.parts_id = 0 then oi.plate_id end )as packPieceCount,
count(distinct
case
when oi.plate_id !=0 then oi.plate_id end
)as plateNum,
ob.room_id as roomId,
ob.id as bodyId,
og.name as name,
ob.room_name as roomName,
ob.name as bodyName,
op.name as plateName,
ogs.material as plateMaterial,
ogs.color as plateColor,
ogs.height as plateHeight,
ogs.width as plateWidth,
ogs.thickness as plateThickness,
op.area as plateArea,
op.texture as texture ,
op.remark as remark,
CASE WHEN op.unregular_point_count = 0 THEN '否' ELSE '是' END AS specialShaped,
CASE WHEN front_model_count = 0 or op.back_hole_count or op.side_hole_count THEN '否' ELSE '是' END AS profiling,
CASE WHEN front_hole_count = 0 or op.back_model_count THEN '否' ELSE '是' END AS rowHole
)as totalPieceCount
FROM `order` o
join order_item oi on o.id = oi.order_id
join order_plate op on oi.plate_id = op.id
join order_goods ogs on op.goods_id = ogs.id
join order_body ob on oi.body_id = ob.id
join order_group og on ob.id = og.body_id
join order_item oi on o.id = oi.order_id and o.organ_id = oi.organ_id
WHERE o.id in
WHERE
o.organ_id = #{organId} and
o.id in
<foreach item="id" collection="collect" open="(" separator="," close=")">
#{id}
</foreach>
group by orderNo,op.id,oi.package_id,name,roomId,bodyId,roomName,bodyName,plateName,plateMaterial,plateColor,plateHeight,plateWidth,plateThickness,plateArea,texture,remark;
group by orderNo,customOrderNo,dealer,createTime,deliveryDate,customer,phoneNumber,address,salesman,splitter,status,packId;
</select>
@@ -52,7 +52,7 @@ public class MachineApiImpl implements MachineApi {
.id(cutting.getId())
.machineType(cutting.getMachineType())
.name(cutting.getName())
.setting(cutting.getMachineSettingDO().toJSONString())
.setting(JsonUtils.unzipString(cutting.getMachineSettingDO().toJSONString()))
.label(JsonUtils.toJsonString(label))
.build();
return success(machineDTO);
@@ -3,6 +3,7 @@ package com.cf.imes.module.system.controller.admin.label;
import com.cf.imes.framework.common.pojo.CommonResult;
import com.cf.imes.framework.common.pojo.PageParam;
import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.framework.common.util.json.JsonUtils;
import com.cf.imes.framework.common.util.object.BeanUtils;
import com.cf.imes.framework.excel.core.util.ExcelUtils;
import com.cf.imes.framework.operatelog.core.annotations.OperateLog;
@@ -23,6 +24,8 @@ import javax.validation.Valid;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import static com.cf.imes.framework.common.pojo.CommonResult.success;
import static com.cf.imes.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
@@ -103,7 +106,8 @@ public class LabelController {
public void exportLabelExcel(@Valid LabelPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<LabelDO> list = labelService.getLabelPage(pageReqVO).getList();
List<LabelDO> list = labelService.getLabelPage(pageReqVO).getList()
.stream().map(m->m.setTemplate(JsonUtils.unzipString(m.getTemplate()))).collect(Collectors.toList());
// 导出 Excel
ExcelUtils.write(response, "标签.xls", "数据", LabelRespVO.class,
BeanUtils.toBean(list, LabelRespVO.class));
@@ -1,5 +1,6 @@
package com.cf.imes.module.system.controller.admin.labeltemplate;
import com.cf.imes.framework.common.util.json.JsonUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -8,6 +9,8 @@ import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Operation;
import java.util.*;
import java.io.IOException;
import java.util.stream.Collectors;
import com.cf.imes.framework.common.pojo.PageParam;
import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.framework.common.pojo.CommonResult;
@@ -108,7 +111,8 @@ public class LabelTemplateController {
public void exportLabelTemplateExcel(@Valid LabelTemplatePageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<LabelTemplateDO> list = labelTemplateService.getLabelTemplatePage(pageReqVO).getList();
List<LabelTemplateDO> list = labelTemplateService.getLabelTemplatePage(pageReqVO).getList()
.stream().map(m->m.setTemplate(JsonUtils.unzipString(m.getTemplate()))).collect(Collectors.toList());
// 导出 Excel
ExcelUtils.write(response, "标签模板.xls", "数据", LabelTemplateRespVO.class,
BeanUtils.toBean(list, LabelTemplateRespVO.class));
@@ -1,6 +1,7 @@
package com.cf.imes.module.system.convert.machine;
import com.alibaba.fastjson.JSON;
import com.cf.imes.framework.common.util.json.JsonUtils;
import com.cf.imes.module.system.controller.admin.machine.vo.CuttingRespVO;
import com.cf.imes.module.system.controller.admin.machine.vo.CuttingTemplateRespVO;
import com.cf.imes.module.system.controller.admin.machine.vo.CuttingTemplateSaveReqVO;
@@ -27,7 +28,7 @@ public class MachineTemplateConvert {
.machineType(reqVO.getMachineType())
.id(reqVO.getId())
.name(reqVO.getName())
.setting(reqVO.getSetting().toJSONString())
.setting(JsonUtils.zipString(reqVO.getSetting().toJSONString()))
.build();
}
@@ -1,6 +1,7 @@
package com.cf.imes.module.system.service.labeltemplate;
import cn.hutool.core.collection.CollectionUtil;
import com.cf.imes.framework.common.util.json.JsonUtils;
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@@ -34,6 +35,7 @@ public class LabelTemplateServiceImpl implements LabelTemplateService {
public Long createLabelTemplate(LabelTemplateSaveReqVO createReqVO) {
// 插入
LabelTemplateDO labelTemplate = BeanUtils.toBean(createReqVO, LabelTemplateDO.class);
labelTemplate.setTemplate(JsonUtils.zipString(labelTemplate.getTemplate()));
labelTemplateMapper.insert(labelTemplate);
// 返回
return labelTemplate.getId();
@@ -45,6 +47,10 @@ public class LabelTemplateServiceImpl implements LabelTemplateService {
validateLabelTemplateExists(updateReqVO.getId());
// 更新
LabelTemplateDO updateObj = BeanUtils.toBean(updateReqVO, LabelTemplateDO.class);
if(!updateReqVO.getTemplate().isEmpty()){
updateObj.setTemplate(JsonUtils.zipString(updateObj.getTemplate()));
}
labelTemplateMapper.updateById(updateObj);
}
@@ -71,6 +77,7 @@ public class LabelTemplateServiceImpl implements LabelTemplateService {
@Override
public LabelTemplateRespVO getLabelTemplate(Long id) {
LabelTemplateDO labelTemplateDO = labelTemplateMapper.selectById(id);
labelTemplateDO.setTemplate(JsonUtils.unzipString(labelTemplateDO.getTemplate()));
LabelTemplateRespVO labelTemplateRespVO = BeanUtils.toBean(labelTemplateDO, LabelTemplateRespVO.class);
return labelTemplateRespVO;
}
@@ -83,7 +90,8 @@ public class LabelTemplateServiceImpl implements LabelTemplateService {
@Override
public Map<String, List<LabelTemplateRespVO>> getGroupList() {
List<LabelTemplateDO> labelTemplateDOS = labelTemplateMapper.selectList();
List<LabelTemplateDO> labelTemplateDOS = labelTemplateMapper.selectList()
.stream().map( m-> m.setTemplate(JsonUtils.unzipString(m.getTemplate()))).collect(Collectors.toList());
List<LabelTemplateRespVO> labelTemplateRespVOS = BeanUtils.toBean(labelTemplateDOS, LabelTemplateRespVO.class);
return labelTemplateRespVOS.stream().collect(Collectors.groupingBy(LabelTemplateRespVO::getType));
}
@@ -99,6 +107,7 @@ public class LabelTemplateServiceImpl implements LabelTemplateService {
throw exception(DEFAULT_TEMPLATE_COUNT);
}
LabelTemplateDO labelTemplateDO = labelTemplateDOS.get(0);
labelTemplateDO.setTemplate(JsonUtils.unzipString(labelTemplateDO.getTemplate()));
LabelTemplateRespVO labelTemplateRespVO = BeanUtils.toBean(labelTemplateDO, LabelTemplateRespVO.class);
return labelTemplateRespVO;
}
@@ -2,6 +2,7 @@ package com.cf.imes.module.system.service.lable;
import cn.hutool.core.collection.CollectionUtil;
import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.framework.common.util.json.JsonUtils;
import com.cf.imes.framework.common.util.object.BeanUtils;
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.cf.imes.module.system.controller.admin.label.vo.*;
@@ -17,6 +18,7 @@ import javax.annotation.Resource;
import java.util.*;
import java.util.stream.Collectors;
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
import static com.cf.imes.module.system.enums.ErrorCodeConstants.LABEL_NOT_EXISTS;
import static com.cf.imes.module.system.enums.ErrorCodeConstants.MACHINE_USE_LABEL;
@@ -41,6 +43,7 @@ public class LabelServiceImpl implements LabelService {
public Long createLabel(LabelSaveReqVO createReqVO) {
// 插入
LabelDO Label = BeanUtils.toBean(createReqVO, LabelDO.class);
Label.setTemplate(JsonUtils.zipString(Label.getTemplate()));
labelMapper.insert(Label);
// 返回
return Label.getId();
@@ -53,6 +56,10 @@ public class LabelServiceImpl implements LabelService {
validateLabelExists(updateReqVO.getId());
// 更新
LabelDO updateObj = BeanUtils.toBean(updateReqVO, LabelDO.class);
if(!updateReqVO.getTemplate().isEmpty()){
updateObj.setTemplate(JsonUtils.zipString(updateObj.getTemplate()));
}
labelMapper.updateById(updateObj);
}
@@ -85,27 +92,40 @@ public class LabelServiceImpl implements LabelService {
@Override
public LabelRespVO getLabel(Long id) {
LabelDO LabelDO = labelMapper.selectById(id);
LabelDO.setTemplate(JsonUtils.unzipString(LabelDO.getTemplate()));
LabelRespVO LabelRespVO = BeanUtils.toBean(LabelDO, LabelRespVO.class);
return LabelRespVO;
}
@Override
public PageResult<LabelDO> getLabelPage(LabelPageReqVO pageReqVO) {
return labelMapper.selectPage(pageReqVO);
PageResult<LabelDO> labelDOPageResult = labelMapper.selectPage(pageReqVO);
labelDOPageResult.setList(labelDOPageResult.getList().stream().map(m -> m.setTemplate(JsonUtils.unzipString(m.getTemplate()))).collect(Collectors.toList()));
return labelDOPageResult;
}
@Override
public Map<String, List<LabelRespVO>> getGroupList(Long organId) {
List<LabelDO> LabelDOS = labelMapper.selectList(new LambdaQueryWrapperX<LabelDO>().eqIfPresent(LabelDO::getOrganId, organId));
List<LabelDO> LabelDOS = labelMapper.selectList(new LambdaQueryWrapperX<LabelDO>()
.eqIfPresent(LabelDO::getOrganId, organId)
/*.eq(LabelDO::getDeleted,false)*/)
.stream().map(m -> m.setTemplate(JsonUtils.unzipString(m.getTemplate()))).collect(Collectors.toList());
List<LabelRespVO> LabelRespVOS = BeanUtils.toBean(LabelDOS, LabelRespVO.class);
return LabelRespVOS.stream().collect(Collectors.groupingBy(LabelRespVO::getType));
}
@Override
public List<LabelDO> list(String type) {
return labelMapper.selectList(new LambdaQueryWrapperX<LabelDO>().eqIfPresent(LabelDO::getType, type));
return labelMapper.selectList(new LambdaQueryWrapperX<LabelDO>()
.eqIfPresent(LabelDO::getType, type)
.eq(LabelDO::getOrganId,getUserOrganId()))
.stream().map( m -> m.setTemplate(JsonUtils.unzipString(m.getTemplate()))).collect(Collectors.toList());
}
@@ -11,6 +11,7 @@ import co.elastic.clients.elasticsearch.core.SearchRequest;
import co.elastic.clients.elasticsearch.core.SearchResponse;
import co.elastic.clients.elasticsearch.core.search.Hit;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.cf.imes.framework.common.util.json.JsonUtils;
import com.cf.imes.framework.es.core.dal.ESDocument;
import com.cf.imes.framework.es.core.service.ESDocumentService;
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
@@ -87,6 +88,8 @@ public class MachineServiceImpl implements MachineService {
);
// 插入
MachineDO machineDO = MachineConvert.convert(createReqVO);
// 将机台的配置数据进行压缩
machineDO.setSetting(JsonUtils.zipString(machineDO.getSetting()));
machineMapper.insert(machineDO);
MachineLimitDO machineLimitDO = MachineLimitDO.builder()
.organId(loginUser.getOrganId())
@@ -107,7 +110,12 @@ public class MachineServiceImpl implements MachineService {
validateExists(updateReqVO.getId());
// 更新
MachineDO updateObj = MachineConvert.convert(updateReqVO);
//MachineDO updateObj = BeanUtils.toBean(updateReqVO, MachineDO.class);
// 判断传入的机台配置是否存在,如果存在,压缩数据后更新
if(!updateReqVO.getMachineSettingDO().isEmpty()){
updateObj.setSetting(JsonUtils.zipString(updateObj.getSetting()));
}
// MachineDO updateObj = BeanUtils.toBean(updateReqVO, MachineDO.class);
machineMapper.updateById(updateObj);
}
@@ -133,6 +141,10 @@ public class MachineServiceImpl implements MachineService {
@Override
public CuttingRespVO getCutting(Long id) {
MachineDO machineDO = machineMapper.selectById(id);
// 对机台的配置进行解压
machineDO.setSetting(JsonUtils.unzipString(machineDO.getSetting()));
if (Objects.isNull(machineDO)) {
throw exception(MACHINE_NOT_EXISTS);
}
@@ -312,7 +324,13 @@ public class MachineServiceImpl implements MachineService {
@Override
public PageResult<MachineDO> getPage(MachinePageReqVO pageReqVO) {
return machineMapper.selectPage(pageReqVO);
PageResult<MachineDO> machineDOPageResult = machineMapper.selectPage(pageReqVO);
// 将查询到的机台的数据中的配置信息进行解压
List<MachineDO> list = machineDOPageResult.getList().stream().map(m -> m.setSetting(JsonUtils.unzipString(m.getSetting()))).collect(Collectors.toList());
return machineDOPageResult.setList(list);
}
@@ -13,6 +13,7 @@ import co.elastic.clients.elasticsearch.core.search.Hit;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.cf.imes.framework.common.exception.ServiceException;
import com.cf.imes.framework.common.pojo.PageResult;
import com.cf.imes.framework.common.util.json.JsonUtils;
import com.cf.imes.framework.es.core.dal.ESDocument;
import com.cf.imes.framework.es.core.service.ESDocumentService;
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
@@ -156,6 +157,7 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
@Transactional(rollbackFor = Exception.class)
public Long createCuttingTemplate(CuttingTemplateSaveReqVO reqVO) {
MachineTemplateDO templateDO = MachineTemplateConvert.convert(reqVO);
templateDO.setSetting(JsonUtils.zipString(templateDO.getSetting()));
machineTemplateMapper.insert(templateDO);
return templateDO.getId();
}
@@ -163,6 +165,10 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
@Override
public Boolean updateCuttingTemplate(CuttingTemplateSaveReqVO reqVO) {
MachineTemplateDO templateDO = MachineTemplateConvert.convert(reqVO);
if(!reqVO.getSetting().isEmpty()){
templateDO.setSetting(JsonUtils.zipString(templateDO.getSetting()));
}
machineTemplateMapper.updateById(templateDO);
return Boolean.TRUE;
}
@@ -170,6 +176,7 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
@Override
public CuttingTemplateRespVO getCuttingTemplateById(String id) {
MachineTemplateDO templateDO = machineTemplateMapper.selectById(id);
templateDO.setSetting(JsonUtils.unzipString(templateDO.getSetting()));
if (Objects.isNull(templateDO)) {
throw exception(MACHINE_TEMPLATE_NOT_EXISTS);
}
@@ -198,6 +205,8 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
throw exception(DEFAULT_TEMPLATE_COUNT);
}
MachineTemplateDO templateDO = machineTemplateDOS.get(0);
// 将机台的模板配置进行解压
templateDO.setSetting(JsonUtils.unzipString(templateDO.getSetting()));
return MachineTemplateConvert.convert1(templateDO);
}
throw exception(DEFAULT_TEMPLATE_NOT_EXISTS);
@@ -224,7 +233,10 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
@Override
public Map<Integer, List<MachineTemplateDO>> getMachineTemplateTree() {
List<MachineTemplateDO> machineTemplateDOS = machineTemplateMapper.selectList();
List<MachineTemplateDO> machineTemplateDOS = machineTemplateMapper.selectList()
// 将机台的配置进行解压
.stream().map(m -> m.setSetting(JsonUtils.unzipString(m.getSetting()))).collect(Collectors.toList());
Map<Integer, List<MachineTemplateDO>> map = machineTemplateDOS.stream().collect(Collectors.groupingBy(MachineTemplateDO::getMachineType));
return map;
}
@@ -393,7 +405,12 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
if(CollectionUtil.isEmpty(machineIds)) {
return new PageResult<>();
}*/
return machineTemplateMapper.selectPage(pageParam, new ArrayList<>());
PageResult<MachineTemplateDO> machineTemplateDOPageResult = machineTemplateMapper.selectPage(pageParam, new ArrayList<>());
// 将机台模板的配置进行解压
machineTemplateDOPageResult.setList(machineTemplateDOPageResult.getList().stream().map(m -> m.setSetting(JsonUtils.unzipString(m.getSetting()))).collect(Collectors.toList()));
return machineTemplateDOPageResult;
}