diff --git a/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/util/json/JsonUtils.java b/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/util/json/JsonUtils.java index 4be3b0821..af9944763 100644 --- a/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/util/json/JsonUtils.java +++ b/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/util/json/JsonUtils.java @@ -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> jsonTo2DArray(String jsonString) { + try { + ObjectMapper objectMapper = new ObjectMapper(); + JsonNode jsonArray = objectMapper.readTree(jsonString); + + Set headers = new LinkedHashSet<>(); + List> result = new ArrayList<>(); + + // 从数组中的所有对象收集标头 + if (jsonArray.isArray()) { + for (JsonNode jsonObject : jsonArray) { + Iterator fieldNames = jsonObject.fieldNames(); + while (fieldNames.hasNext()) { + headers.add(fieldNames.next()); + + } + } + } + result.add(new ArrayList<>(headers)); + + // 提取行 + for (JsonNode jsonObject : jsonArray) { + List 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> getData(Object object) { + String jsonString = toJsonString(object); + + ObjectMapper mapper = new ObjectMapper(); + try { + List> list = mapper.readValue(jsonString, new TypeReference<>() {}); + List> result = convertTo2DArray(list); + + // + return result; + + } catch (IOException e) { + + e.printStackTrace(); + } + + return null; + + } + + + private static List> convertTo2DArray(List> list) { + List> result = new ArrayList<>(); + + // Get the headers from the first map + if (list.size() > 0) { + Map firstMap = list.get(0); + List headers = new ArrayList<>(firstMap.keySet()); + result.add(headers); + // + // Add rows + for (Map map : list) { + // + List 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> extractedData; + + } + + + public static List>> fetchData(Object obj) { + List>> 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); + } + + + } diff --git a/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/core/util/SecurityFrameworkUtils.java b/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/core/util/SecurityFrameworkUtils.java index a20ea115d..625cab2e9 100644 --- a/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/core/util/SecurityFrameworkUtils.java +++ b/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/core/util/SecurityFrameworkUtils.java @@ -117,4 +117,15 @@ public class SecurityFrameworkUtils { return authenticationToken; } + + + /** + * 获取当前用户的组织ID + * + */ + public static Long getUserOrganId(){ + + return SecurityFrameworkUtils.getLoginUser().getOrganId(); + + } } diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java index 662bb6ecf..d5531c6ef 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java @@ -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())) { diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java index 91748bf05..ea9413a5c 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/plan/PlanServiceImpl.java @@ -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(); diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/PackController.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/PackController.java index 5c4ef4f0b..1bbd3d4ca 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/PackController.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/PackController.java @@ -60,6 +60,14 @@ public class PackController { } + @GetMapping("/getOrderPlate") + @Operation(summary = "查看生产订单对应的板材信息") + @Parameter(name = "orderId", description = "生产单Id", required = true) + public CommonResult> 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 getOrderPlateList(@Valid @RequestParam("orderId") Long orderId) { - return success(packService.getOrderPlateList(orderId)); - - } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PackRespVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PackRespVO.java index 54255639d..8070ca1d1 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PackRespVO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PackRespVO.java @@ -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; +// @Schema(description = "生产单对应的板件信息", requiredMode = Schema.RequiredMode.REQUIRED) +// List plateDetailsRespVO; } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PlateDetailsRespVO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PlateDetailsRespVO.java index 8fe7d227d..15547baa9 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PlateDetailsRespVO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PlateDetailsRespVO.java @@ -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("排孔") diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.java index 65b09cd55..06a904669 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.java @@ -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 { // } - List selectByOrderNo(PackageDetailsReqVO reqVO); + List selectByOrderNo(@Param("reqVO") PackageDetailsReqVO reqVO,@Param("organId") Long organId); default OrderPackageDO selectByPackNo(String packNo) { diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.java index 90205d62b..1d2276b5b 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.java @@ -29,7 +29,7 @@ public interface OrderItemMapper extends BaseMapperX { List selectPlateList(PlatePageVO pageReqVO); - List selectOrderPlateList(Long orderNo); + List selectOrderPlateList(@Param("orderNo") Long orderNo,@Param("organId") Long organId); diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/ProductionStatusMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/ProductionStatusMapper.java index 711e64bf5..cb29adc34 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/ProductionStatusMapper.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/query/ProductionStatusMapper.java @@ -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 { @@ -41,8 +44,10 @@ public interface ProductionStatusMapper extends BaseMapperX { PrintOrderRespVO selectPrintOrder(Long orderNo); - default List selectPackPage(PackPageReqVO pageReqVO) { + default List selectPackPage(PackPageReqVO pageReqVO,Long organId) { return selectList(new LambdaQueryWrapperX() + .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 { .orderByDesc(OrderDO::getCreateTime)); } - List selectOrderPlate(@Param("collect") List collect); + IPage selectOrderPlate( @Param("page") IPage page, @Param("collect") List collect, @Param("organId") Long organId); diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/pack/PackService.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/pack/PackService.java index d787f24c2..e08f71892 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/pack/PackService.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/pack/PackService.java @@ -21,7 +21,7 @@ public interface PackService { // 查看生产订单对应的板材信息 - OrderPlateDetailsRespVO getOrderPlateList(Long orderId); + List getOrderPlateList(Long orderId); diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/pack/PackServiceImpl.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/pack/PackServiceImpl.java index 6c45dd305..2b2ee3381 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/pack/PackServiceImpl.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/pack/PackServiceImpl.java @@ -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 getPackPage(PackPageReqVO pageReqVO) { -// PageDTO page = new PageDTO<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()); + PageDTO page = new PageDTO<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()); // 根据生产状态查询生产单号 - List collect = productionStatusMapper.selectPackPage(pageReqVO).stream().map(OrderDO::getId).collect(Collectors.toList()); + List collect = productionStatusMapper.selectPackPage(pageReqVO,getUserOrganId()).stream().map(OrderDO::getId).collect(Collectors.toList()); - PageHelper.startPage(pageReqVO.getPageNo(), pageReqVO.getPageSize()); // 查询打包首页分页数据信息,包裹数,板件数量信息 - List packRespVOS = productionStatusMapper.selectOrderPlate(collect); + IPage packRespVOS = productionStatusMapper.selectOrderPlate(page,collect,getUserOrganId()); - PageInfo pageInfo = new PageInfo<>(packRespVOS); + for (PackRespVO record : packRespVOS.getRecords()) { - // 转换成 PageResult 分页类型 - PageResult 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 getOrderPlateList(Long orderId) { + + // 查询需要返回的其他信息 +// OrderPlateDetailsRespVO orderPlateDetailsRespVO = orderItemMapper.selectOrderPlateDetails(orderId); +// orderPlateDetailsRespVO.setPendingNum(orderPlateDetailsRespVO.getPlateNum() - orderPlateDetailsRespVO.getPlateProcessedNum()); + + // 查询订单对应的板件信息 + List plateDetailsRespVOS = orderItemMapper.selectOrderPlateList(orderId,getUserOrganId()); + + return plateDetailsRespVOS; + + + } + + // 查看生产订单对应的包裹信息 @Override public List 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 plateDetailsRespVOS = orderItemMapper.selectOrderPlateList(orderId); - return orderPlateDetailsRespVO.setPlateDetailsRespVO(plateDetailsRespVOS); - - - } // 查看板材列表分页 @@ -113,7 +125,7 @@ public class PackServiceImpl implements PackService { PageHelper.startPage(pageReqVO.getPageNo(), pageReqVO.getPageSize()); - List plateDetailsRespVOS = orderItemMapper.selectOrderPlateList(pageReqVO.getOrderNo()); + List plateDetailsRespVOS = orderItemMapper.selectOrderPlateList(pageReqVO.getOrderNo(),getUserOrganId()); PageInfo pageInfo = new PageInfo<>(plateDetailsRespVOS); PageResult 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 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(); diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/query/ProductionStatusServiceImpl.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/query/ProductionStatusServiceImpl.java index 17f50af75..349865863 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/query/ProductionStatusServiceImpl.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/query/ProductionStatusServiceImpl.java @@ -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 queryPackageDetails(PackDetailsReqVO reqVO) { + PageDTO page = new PageDTO<>(reqVO.getPageNo(), reqVO.getPageSize()); // 查看配件包裹 if(reqVO.getType() == 1 || reqVO.getType() == 2){ diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.xml b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.xml index e1459c2ac..932302887 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.xml +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.xml @@ -101,37 +101,35 @@ diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.xml b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.xml index 16d1b0a6a..487f38621 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.xml +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/OrderItemMapper.xml @@ -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} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/ProductionStatusMapper.xml b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/ProductionStatusMapper.xml index 45612d5a9..655f02394 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/ProductionStatusMapper.xml +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/query/ProductionStatusMapper.xml @@ -47,60 +47,16 @@ - - - + + + - - - - - - - - - - - - - - - - - - - - - - diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/api/machine/MachineApiImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/api/machine/MachineApiImpl.java index 2eb2fc074..07e2cf191 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/api/machine/MachineApiImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/api/machine/MachineApiImpl.java @@ -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); diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/label/LabelController.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/label/LabelController.java index 297209cb6..bedcef9bd 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/label/LabelController.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/label/LabelController.java @@ -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 list = labelService.getLabelPage(pageReqVO).getList(); + List 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)); diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/labeltemplate/LabelTemplateController.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/labeltemplate/LabelTemplateController.java index 44f5706a7..29bea42c2 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/labeltemplate/LabelTemplateController.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/labeltemplate/LabelTemplateController.java @@ -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 list = labelTemplateService.getLabelTemplatePage(pageReqVO).getList(); + List 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)); diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/convert/machine/MachineTemplateConvert.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/convert/machine/MachineTemplateConvert.java index 3b79adb59..fc12c3af3 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/convert/machine/MachineTemplateConvert.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/convert/machine/MachineTemplateConvert.java @@ -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(); } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/labeltemplate/LabelTemplateServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/labeltemplate/LabelTemplateServiceImpl.java index b9e986dbd..7ed9382ae 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/labeltemplate/LabelTemplateServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/labeltemplate/LabelTemplateServiceImpl.java @@ -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> getGroupList() { - List labelTemplateDOS = labelTemplateMapper.selectList(); + List labelTemplateDOS = labelTemplateMapper.selectList() + .stream().map( m-> m.setTemplate(JsonUtils.unzipString(m.getTemplate()))).collect(Collectors.toList()); List 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; } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/lable/LabelServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/lable/LabelServiceImpl.java index d2ef749c7..19ec0b6e8 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/lable/LabelServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/lable/LabelServiceImpl.java @@ -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 getLabelPage(LabelPageReqVO pageReqVO) { - return labelMapper.selectPage(pageReqVO); + + PageResult 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> getGroupList(Long organId) { - List LabelDOS = labelMapper.selectList(new LambdaQueryWrapperX().eqIfPresent(LabelDO::getOrganId, organId)); + List LabelDOS = labelMapper.selectList(new LambdaQueryWrapperX() + .eqIfPresent(LabelDO::getOrganId, organId) + /*.eq(LabelDO::getDeleted,false)*/) + .stream().map(m -> m.setTemplate(JsonUtils.unzipString(m.getTemplate()))).collect(Collectors.toList()); List LabelRespVOS = BeanUtils.toBean(LabelDOS, LabelRespVO.class); return LabelRespVOS.stream().collect(Collectors.groupingBy(LabelRespVO::getType)); } @Override public List list(String type) { - return labelMapper.selectList(new LambdaQueryWrapperX().eqIfPresent(LabelDO::getType, type)); + + return labelMapper.selectList(new LambdaQueryWrapperX() + .eqIfPresent(LabelDO::getType, type) + .eq(LabelDO::getOrganId,getUserOrganId())) + .stream().map( m -> m.setTemplate(JsonUtils.unzipString(m.getTemplate()))).collect(Collectors.toList()); } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineServiceImpl.java index 5e8b73048..b7f8a4f49 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineServiceImpl.java @@ -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 getPage(MachinePageReqVO pageReqVO) { - return machineMapper.selectPage(pageReqVO); + + PageResult machineDOPageResult = machineMapper.selectPage(pageReqVO); + // 将查询到的机台的数据中的配置信息进行解压 + List list = machineDOPageResult.getList().stream().map(m -> m.setSetting(JsonUtils.unzipString(m.getSetting()))).collect(Collectors.toList()); + return machineDOPageResult.setList(list); + + } diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineTemplateServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineTemplateServiceImpl.java index 779a551e2..746b857bf 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineTemplateServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/machine/MachineTemplateServiceImpl.java @@ -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> getMachineTemplateTree() { - List machineTemplateDOS = machineTemplateMapper.selectList(); + List machineTemplateDOS = machineTemplateMapper.selectList() + // 将机台的配置进行解压 + .stream().map(m -> m.setSetting(JsonUtils.unzipString(m.getSetting()))).collect(Collectors.toList()); + Map> 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 machineTemplateDOPageResult = machineTemplateMapper.selectPage(pageParam, new ArrayList<>()); + // 将机台模板的配置进行解压 + machineTemplateDOPageResult.setList(machineTemplateDOPageResult.getList().stream().map(m -> m.setSetting(JsonUtils.unzipString(m.getSetting()))).collect(Collectors.toList())); + + return machineTemplateDOPageResult; }