mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-12 21:02:08 +08:00
机台,标签-配置数据压缩
This commit is contained in:
+249
-2
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
+11
@@ -117,4 +117,15 @@ public class SecurityFrameworkUtils {
|
||||
return authenticationToken;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 获取当前用户的组织ID
|
||||
*
|
||||
*/
|
||||
public static Long getUserOrganId(){
|
||||
|
||||
return SecurityFrameworkUtils.getLoginUser().getOrganId();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
+19
-20
@@ -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())) {
|
||||
|
||||
+1
-1
@@ -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();
|
||||
|
||||
+8
-8
@@ -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));
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
+2
-6
@@ -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;
|
||||
|
||||
|
||||
}
|
||||
|
||||
+3
-3
@@ -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("排孔")
|
||||
|
||||
+1
-5
@@ -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) {
|
||||
|
||||
+1
-1
@@ -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);
|
||||
|
||||
|
||||
|
||||
|
||||
+7
-2
@@ -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);
|
||||
|
||||
|
||||
|
||||
|
||||
+1
-1
@@ -21,7 +21,7 @@ public interface PackService {
|
||||
|
||||
|
||||
// 查看生产订单对应的板材信息
|
||||
OrderPlateDetailsRespVO getOrderPlateList(Long orderId);
|
||||
List<PlateDetailsRespVO> getOrderPlateList(Long orderId);
|
||||
|
||||
|
||||
|
||||
|
||||
+43
-23
@@ -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();
|
||||
|
||||
+2
@@ -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){
|
||||
|
||||
+12
-14
@@ -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>
|
||||
|
||||
|
||||
+13
-13
@@ -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>
|
||||
|
||||
|
||||
|
||||
+12
-78
@@ -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>
|
||||
|
||||
+1
-1
@@ -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);
|
||||
|
||||
+5
-1
@@ -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));
|
||||
|
||||
+5
-1
@@ -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));
|
||||
|
||||
+2
-1
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
+10
-1
@@ -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;
|
||||
}
|
||||
|
||||
+23
-3
@@ -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());
|
||||
}
|
||||
|
||||
|
||||
|
||||
+20
-2
@@ -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);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
+19
-2
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user