diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/orderBody/OrderBodyDO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/orderBody/OrderBodyDO.java index eae47da42..ae68d9caa 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/orderBody/OrderBodyDO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/orderBody/OrderBodyDO.java @@ -55,15 +55,15 @@ public class OrderBodyDO extends BaseDO { /** * 模块复制数量 */ - private Short multiNum; + private Double multiNum; /** * 板材数量 */ - private Double plateNum; + private Integer plateNum; /** * 异型数量 */ - private Double unregularNum; + private Integer unregularNum; /** * 文件名 diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/plate/PlateDO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/plate/PlateDO.java index 99b1f32fb..a09365d3b 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/plate/PlateDO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/plate/PlateDO.java @@ -117,27 +117,27 @@ public class PlateDO extends BaseDO { /** * 异型孔数量 */ - private Short unregularPointCount; + private Integer unregularPointCount; /** * 正面孔数量 */ - private Short frontHoleCount; + private Integer frontHoleCount; /** * 背面孔数量 */ - private Short backHoleCount; + private Integer backHoleCount; /** * 侧面孔数量 */ - private Short sideHoleCount; + private Integer sideHoleCount; /** * 正面造型量 */ - private Short frontModelCount; + private Integer frontModelCount; /** * 背面造型量 */ - private Short backModelCount; + private Integer backModelCount; /** * 是否门板 */ diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/rawgoods/RawGoodsDO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/rawgoods/RawGoodsDO.java index bce836949..5b00abb64 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/rawgoods/RawGoodsDO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dataobject/rawgoods/RawGoodsDO.java @@ -15,7 +15,7 @@ import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; @TableName("order_raw_goods") @KeySequence("order_raw_goods_n_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 @Data -@EqualsAndHashCode(callSuper = true) +@EqualsAndHashCode @ToString(callSuper = true) @Builder @NoArgsConstructor diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dto/BoardProdInfoDTO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dto/BoardProdInfoDTO.java new file mode 100644 index 000000000..4bb6c7e3e --- /dev/null +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dto/BoardProdInfoDTO.java @@ -0,0 +1,32 @@ +package com.cf.imes.module.executor.dal.dto; + +import com.cf.imes.module.executor.dal.dataobject.orderBody.OrderBodyDO; +import com.cf.imes.module.executor.dal.dataobject.orderGroup.OrderGroupDO; +import com.cf.imes.module.executor.dal.dataobject.orderParts.OrderPartsDO; +import com.cf.imes.module.executor.dal.dataobject.plate.PlateDO; +import com.cf.imes.module.executor.dal.dataobject.rawgoods.RawGoodsDO; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author Beal + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class BoardProdInfoDTO { + @Schema(description = "商品表") + private RawGoodsDO rawGoodsDO; + @Schema(description = "生产单柜体表") + private OrderBodyDO orderBodyDO; + @Schema(description = "生产单加工组表") + private OrderGroupDO orderGroupDO; + @Schema(description = "生产单五金表") + private OrderPartsDO orderPartsDO; + @Schema(description = "生产单小板表") + private PlateDO plateDO; +} diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dto/RawGoodsDTO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dto/RawGoodsDTO.java new file mode 100644 index 000000000..d7fb5e0a8 --- /dev/null +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/dto/RawGoodsDTO.java @@ -0,0 +1,62 @@ +package com.cf.imes.module.executor.dal.dto; + + +import lombok.*; + +import java.util.List; + +/** + * @author Beal + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@EqualsAndHashCode +public class RawGoodsDTO { + /** + * id + */ + private Long id; + /** + * 生产单号 + */ + private Long orderId; + /** + * 设计端商品编码 + */ + private String rawGoodsId; + /** + * 设计端商品名称 + */ + private String goodsName; + /** + * 材质 + */ + private String material; + /** + * 颜色 + */ + private String color; + /** + * 厚度 + */ + private Double thickness; + /** + * 价格 + */ + private Double price; + /** + * 品牌 + */ + private String brand; + /** + * 规格 + */ + private String spec; + /** + * 小板id + */ + private List plateId; + +} diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderInputProcessor.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderInputProcessor.java new file mode 100644 index 000000000..ea246aaf7 --- /dev/null +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/order/OrderInputProcessor.java @@ -0,0 +1,274 @@ +package com.cf.imes.module.executor.service.order; + +import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator; +import com.cf.imes.framework.common.util.json.JsonUtils; +import com.cf.imes.framework.mybatis.core.generator.SnowFlakeGenerator; +import com.cf.imes.framework.organ.core.context.OrganContextHolder; +import com.cf.imes.module.executor.dal.dataobject.orderBody.OrderBodyDO; +import com.cf.imes.module.executor.dal.dataobject.orderGroup.OrderGroupDO; +import com.cf.imes.module.executor.dal.dataobject.orderItem.OrderItemDO; +import com.cf.imes.module.executor.dal.dataobject.orderModuleExtra.OrderModuleExtraDO; +import com.cf.imes.module.executor.dal.dataobject.orderParts.OrderPartsDO; +import com.cf.imes.module.executor.dal.dataobject.plate.PlateDO; +import com.cf.imes.module.executor.dal.dataobject.rawgoods.RawGoodsDO; +import com.cf.imes.module.executor.dal.mysql.orderBody.OrderBodyMapper; +import com.cf.imes.module.executor.dal.mysql.orderGroup.OrderGroupMapper; +import com.cf.imes.module.executor.dal.mysql.orderItem.OrderItemMapper; +import com.cf.imes.module.executor.dal.mysql.orderModuleExtra.OrderModuleExtraMapper; +import com.cf.imes.module.executor.dal.mysql.orderParts.OrderPartsMapper; +import com.cf.imes.module.executor.dal.mysql.plate.PlateMapper; +import com.cf.imes.module.executor.dal.mysql.rawgoods.RawGoodsMapper; +import com.cf.imes.module.executor.util.RandomUtils; +import com.cf.imes.module.executor.util.deviseData.Detail; +import com.cf.imes.module.executor.util.deviseData.IBoardProdInfo; +import com.cf.imes.module.executor.util.deviseData.PartsModuleExtra; +import com.cf.imes.module.executor.util.deviseData.PlateModuleExtra; +import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.math.BigDecimal; +import java.util.*; +import java.util.stream.Collectors; + +/** + * @author Beal + * 生产单入库处理器 + */ +@Component +public class OrderInputProcessor { + + @Resource + private IdentifierGenerator identifierGenerator; + /*private IdentifierGenerator identifierGenerator = new SnowFlakeGenerator(0, 0);*/ + + @Resource + private RawGoodsMapper rawGoodsMapper; + + @Resource + private OrderBodyMapper orderBodyMapper; + + @Resource + private OrderGroupMapper orderGroupMapper; + + @Resource + private OrderPartsMapper orderPartsMapper; + + @Resource + private PlateMapper plateMapper; + + @Resource + private OrderItemMapper orderItemMapper; + + @Resource + private OrderModuleExtraMapper orderModuleExtraMapper; + + + public void input(List sourceList, Long orderId) { + Long organId = OrganContextHolder.getOrganId(); + ArrayList rawGoodsDOS = new ArrayList<>(); + ArrayList orderBodyDOS = new ArrayList<>(); + ArrayList orderGroupDOS = new ArrayList<>(); + ArrayList plateDOS = new ArrayList<>(); + ArrayList orderPartsDOS = new ArrayList<>(); + ArrayList orderItemDOS = new ArrayList<>(); + ArrayList orderModuleExtraDOS = new ArrayList<>(); + Map>>> map = sourceList.stream().collect(Collectors.groupingBy(e -> + RawGoodsDO.builder() + .rawGoodsId(e.getIBoardProdInfo().getGoodsId()) + .goodsName(e.getIBoardProdInfo().getGoodsName()) + .material(e.getIBoardProdInfo().getMaterial()) + .color(e.getIBoardProdInfo().getColor()) + .brand(e.getIBoardProdInfo().getBrand()) + .spec(e.getIBoardProdInfo().getSpec()) + .price(0.0) + .orderId(orderId) + .build(), + Collectors.groupingBy(e -> + OrderBodyDO.builder() + .orderId(orderId) + .roomName(e.getIBoardProdInfo().getRoomsName()) + .name(e.getIBoardProdInfo().getCabinetsName()) + .width(e.getWidth()) + .height(e.getHeight()) + .depth(e.getDepth()) + .multiNum(e.getMultiNum().doubleValue()) + .filename("") + .remark("") + .build(), + Collectors.groupingBy(e -> + OrderGroupDO.builder() + .groupId((long) e.getIBoardProdInfo().getSynthesis()) + .groupType(e.getIBoardProdInfo().getCombinationName()) + .name(e.getIBoardProdInfo().getSynthesisTypeName()) + .build() + ) + )) + ); + + map.entrySet().forEach(i -> { + + RawGoodsDO rawGoodsDO = i.getKey(); + rawGoodsDOS.add(rawGoodsDO); + rawGoodsDO.setId(identifierGenerator.nextId(null).longValue()); + i.getValue().entrySet().forEach(j -> { + + OrderBodyDO orderBodyDO = j.getKey(); + orderBodyDO.setId(identifierGenerator.nextId(null).longValue()); + orderBodyDO.setRoomId(identifierGenerator.nextId(null).longValue()); + Map> value = j.getValue(); + Integer reduce = value.values().stream().map(List::size).reduce(0, Integer::sum); + int unregularNum = value.values().stream().flatMap(Collection::stream).filter(e -> !e.getIBoardProdInfo().getIsRect()).collect(Collectors.toList()).size(); + orderBodyDO.setPlateNum(reduce); + orderBodyDO.setUnregularNum(unregularNum); + orderBodyDOS.add(orderBodyDO); + j.getValue().entrySet().forEach(k -> { + OrderGroupDO orderGroupDO = k.getKey(); + orderGroupDO.setId(identifierGenerator.nextId(null).longValue()); + orderGroupDO.setOrderId(orderId); + orderGroupDO.setBodyId(orderBodyDO.getId()); + orderGroupDOS.add(orderGroupDO); + + //moduleExtra + List plateExtras = k.getValue().stream().filter(e -> e.getIBoardProdInfo().getGoodType() == 1) + .map(e -> PlateModuleExtra.builder() + .width(e.getIBoardProdInfo().getWidth()) + .height(e.getIBoardProdInfo().getHeight()) + .thickness(e.getIBoardProdInfo().getThickness()) + .groupType(orderGroupDO.getGroupType()) + .build() + ).toList(); + List partsModuleExtras = k.getValue().stream().filter(e -> e.getIBoardProdInfo().getGoodType() == 1) + .map(e -> PartsModuleExtra.builder() + .name(e.getIBoardProdInfo().getName()) + .bodyName(e.getIBoardProdInfo().getCabinetsName()) + .model(e.getIBoardProdInfo().getModel()) + .spec(e.getIBoardProdInfo().getSpec()) + .unit(e.getIBoardProdInfo().getUnit()) + .build() + ).toList(); + if(CollectionUtil.isNotEmpty(plateExtras)) { + orderModuleExtraDOS.add( + OrderModuleExtraDO.builder() + .orderId(orderId) + .bodyId(orderBodyDO.getId()) + .roomId(orderBodyDO.getRoomId()) + .type(1) + .extraData(JsonUtils.toJsonString(plateExtras)) + .build()); + } + + if(CollectionUtil.isNotEmpty(partsModuleExtras)) { + orderModuleExtraDOS.add( + OrderModuleExtraDO.builder() + .orderId(orderId) + .bodyId(orderBodyDO.getId()) + .roomId(orderBodyDO.getRoomId()) + .type(2) + .extraData(JsonUtils.toJsonString(partsModuleExtras)) + .build()); + } + + k.getValue().forEach(e -> { + int goodType = e.getIBoardProdInfo().getGoodType(); + OrderItemDO orderItemDO = new OrderItemDO(); + orderItemDO.setOrderId(orderId); + orderItemDO.setPlanId(0L); + orderItemDO.setPackageId(0L); + orderItemDO.setGroupId(orderGroupDO.getId()); + orderItemDO.setRoomId(orderBodyDO.getRoomId()); + orderItemDO.setBodyId(orderBodyDO.getId()); + orderItemDO.setNum(e.getIBoardProdInfo().getGoodsNumber()); + if (goodType == 1) { + PlateDO plateDO = PlateDO.builder() + .id(identifierGenerator.nextId(null).longValue()) + .goodsId(rawGoodsDO.getRawGoodsId()) + .orderId(orderId) + .name(e.getIBoardProdInfo().getName()) + .plateNo(e.getIBoardProdInfo().getPlateNo()) + //.type(e.getIBoardProdInfo().) + .goodsId(rawGoodsDO.getRawGoodsId()) + .height(e.getIBoardProdInfo().getHeight()) + .width(e.getIBoardProdInfo().getWidth()) + .thickness(new BigDecimal(e.getIBoardProdInfo().getThickness().toString())) + .splitHeight(new BigDecimal(e.getIBoardProdInfo().getSplitHeight().toString())) + .splitWidth(new BigDecimal(e.getIBoardProdInfo().getSplitWidth().toString())) + .splitThickness(new BigDecimal(e.getIBoardProdInfo().getThickness().toString())) + .sealLeft(e.getIBoardProdInfo().getSealLeft()) + .sealRight(e.getIBoardProdInfo().getSealRight()) + .sealUp(e.getIBoardProdInfo().getSealUp()) + .sealDown(e.getIBoardProdInfo().getSealDown()) + .area(e.getIBoardProdInfo().getWidth().multiply(e.getIBoardProdInfo().getHeight())) + .texture(e.getIBoardProdInfo().getTexture()) + .type(0) + .holeFace(e.getHoleDetail().getFaceType()) + .holeArrange(0) + .unregularPointCount(0) + .frontHoleCount(0) + .frontModelCount(0) + .backHoleCount(0) + .sideHoleCount(0) + .backModelCount(0) + .isDoor(false) + .openDoorType(e.getIBoardProdInfo().getOpenDoorType()) + .offsetX(0.0) + .offsetY(0.0) + .isArcAcross(false) + .moduleTypeId(orderBodyDO.getId()) + .filterType(0) + .remark(e.getIBoardProdInfo().getRemark()) + .isCancel(false) + .build(); + orderItemDO.setPlateId(plateDO.getId()); + orderItemDO.setPartsId(0L); + orderItemDO.setType(1); + plateDOS.add(plateDO); + } else { + OrderPartsDO orderPartsDO = OrderPartsDO.builder() + .id(identifierGenerator.nextId(null).longValue()) + .orderId(orderId) + .goodsId(rawGoodsDO.getRawGoodsId()) + .name(e.getIBoardProdInfo().getName()) + .material(e.getIBoardProdInfo().getMaterial()) + .model(e.getIBoardProdInfo().getModel()) + .spec(e.getIBoardProdInfo().getSpec()) + .brand(e.getIBoardProdInfo().getBrand()) + .factory(e.getIBoardProdInfo().getFactory()) + .unit(e.getIBoardProdInfo().getUnit()) + .price(0.0) + .isComposite(false) + .remark(e.getIBoardProdInfo().getRemark()) + .type(0) + .build(); + orderItemDO.setType(2); + orderItemDO.setPartsId(orderPartsDO.getId()); + orderItemDO.setPlateId(0L); + orderPartsDOS.add(orderPartsDO); + orderItemDOS.add(orderItemDO); + } + }); + + }); + }); + }); + + batchInsert(rawGoodsDOS, orderBodyDOS, orderGroupDOS, orderPartsDOS, plateDOS, orderModuleExtraDOS, orderItemDOS); + + } + + @Transactional + public void batchInsert(Collection rawGoodsDOS, Collection orderBodyDOS, + Collection orderGroupDOS, Collection orderPartsDOS, + Collection plateDOS, Collection orderModuleExtraDOS, Collection itemDOS) { + rawGoodsMapper.insertBatch(rawGoodsDOS); + orderBodyMapper.insertBatch(orderBodyDOS); + orderGroupMapper.insertBatch(orderGroupDOS); + orderPartsMapper.insertBatch(orderPartsDOS); + plateMapper.insertBatch(plateDOS); + orderModuleExtraMapper.insertBatch(orderModuleExtraDOS); + orderItemMapper.insertBatch(itemDOS); + } + + +} diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/CompressTest.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/CompressTest.java new file mode 100644 index 000000000..2308b883e --- /dev/null +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/CompressTest.java @@ -0,0 +1,75 @@ +package com.cf.imes.module.executor.util; + +import org.apache.commons.codec.binary.Base64; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.util.zip.Deflater; +import java.util.zip.Inflater; + +public class CompressTest { + + /** + * 压缩 + * + * @param str 要压缩的字符串 + * @return 压缩后的字符串 + */ + public static String compress(String str) throws Exception{ + Deflater deflater = new Deflater(9); // 0 ~ 9 压缩等级 低到高 推荐9 + try (ByteArrayOutputStream outputStream = new ByteArrayOutputStream(256)){ + deflater.setInput(str.getBytes()); + deflater.finish(); + final byte[] bytes = new byte[256]; + while (!deflater.finished()) { + int length = deflater.deflate(bytes); + outputStream.write(bytes, 0, length); + } + return new String( java.util.Base64.getEncoder().encode(outputStream.toByteArray())); + // return new sun.misc.BASE64Encoder().encodeBuffer(outputStream.toByteArray()); + } finally { + deflater.end(); + } + } + + /** + * + * @param encodeStr 待解压缩的字符串 + * @return 解压缩后的字节数组 + * @throws IOException + */ + public static String uncompress(String encodeStr) throws IOException { + int len = 0; + Inflater infl = new Inflater(); + infl.setInput(Base64.decodeBase64(encodeStr)); + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] outByte = new byte[1024]; + try { + while (!infl.finished()) { + // 解压缩并将解压缩后的内容输出到字节输出流bos中 + len = infl.inflate(outByte); + if (len == 0) { + break; + } + bos.write(outByte, 0, len); + } + infl.end(); + } catch (Exception e) { + // + e.printStackTrace(); + } finally { + bos.close(); + } + return bos.toString(); + } + public static void main(String[] args)throws Exception{ + StringBuilder sb = new StringBuilder(); + sb.append("{\"test\":\"111\"}"); + String str = sb.toString(); + String eos = compress(str); + System.out.println(eos); + String deos = uncompress(eos); + System.out.println(deos); + } +} + diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/Detail.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/Detail.java index 5cb07703f..3b18a3cb8 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/Detail.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/Detail.java @@ -29,7 +29,7 @@ public class Detail { private List contourDetail ; //轮廓明细 private List pointDetail ; //点明细 - private List holeDetail ; //孔明细 + private HoleDetail holeDetail ; //孔明细 private List rawPointDetail ; //原始点明细 private List sideModelDetail ; //侧面轮廓明细 private List sideHoleDetail;//侧面孔明细 diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/IContourData.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/IContourData.java index 246bf67c6..2fb67c801 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/IContourData.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/IContourData.java @@ -1,13 +1,14 @@ package com.cf.imes.module.executor.util.deviseData; -import io.vavr.collection.List; +import com.cf.imes.module.executor.controller.admin.plan.dto.Point; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.Accessors; -import java.awt.*; +import java.util.List; + /** * 轮廓数据 diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/PartsModuleExtra.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/PartsModuleExtra.java new file mode 100644 index 000000000..1fb19b68e --- /dev/null +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/PartsModuleExtra.java @@ -0,0 +1,22 @@ +package com.cf.imes.module.executor.util.deviseData; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author Beal + * 五金配置的extra + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class PartsModuleExtra { + private String name; + private String bodyName; + private String model; + private String spec; + private String unit; +} diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/PlateModuleExtra.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/PlateModuleExtra.java new file mode 100644 index 000000000..4628b70a8 --- /dev/null +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/util/deviseData/PlateModuleExtra.java @@ -0,0 +1,23 @@ +package com.cf.imes.module.executor.util.deviseData; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; + +/** + * @author Beal + * 小板的extra数据 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +public class PlateModuleExtra { + private BigDecimal width; + private BigDecimal height; + private Double thickness; + private String groupType; +} diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/test/java/com/cf/imes/module/executor/service/zlib/ZlibTest.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/test/java/com/cf/imes/module/executor/service/zlib/ZlibTest.java index 6f17088de..69b628d54 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/test/java/com/cf/imes/module/executor/service/zlib/ZlibTest.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/test/java/com/cf/imes/module/executor/service/zlib/ZlibTest.java @@ -6,6 +6,7 @@ import cn.hutool.json.JSONObject; import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.nacos.shaded.io.grpc.netty.shaded.io.netty.handler.codec.compression.JdkZlibDecoder; import com.alibaba.nacos.shaded.io.grpc.netty.shaded.io.netty.handler.codec.compression.ZlibDecoder; +import com.cf.imes.module.executor.util.CompressTest; import com.cf.imes.module.executor.util.ZLibUtils; import lombok.Data; import org.apache.commons.io.FileUtils; @@ -45,11 +46,14 @@ public class ZlibTest { } @Test - void getOrderBoxBlock() throws UnsupportedEncodingException { + void getOrderBoxBlock() throws IOException { List list = jdbcTemplate.query("select * from order_box_block limit 10", new BeanPropertyRowMapper(OrderBoxBlock.class)); for (OrderBoxBlock bean : list) { if (!Objects.isNull(bean.Data)) { - System.out.println(new String(ZLibUtils.decompress(bean.Data))); + byte[] bytes = Arrays.copyOfRange(bean.Data, 2, bean.Data.length - 1); + System.out.println( new String(bean.Data)); + System.out.println( CompressTest.uncompress(new String(bytes))); + //System.out.println(new String(ZLibUtils.decompress(bean.Data))); System.err.println("------------------------------------------"); } }