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.ObjectMapper;
|
||||||
import com.fasterxml.jackson.databind.SerializationFeature;
|
import com.fasterxml.jackson.databind.SerializationFeature;
|
||||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
|
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
|
||||||
|
import lombok.Data;
|
||||||
import lombok.SneakyThrows;
|
import lombok.SneakyThrows;
|
||||||
|
import lombok.ToString;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
|
import java.io.ByteArrayOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.lang.reflect.Field;
|
||||||
import java.lang.reflect.Type;
|
import java.lang.reflect.Type;
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.List;
|
import java.util.zip.DataFormatException;
|
||||||
|
import java.util.zip.Deflater;
|
||||||
|
import java.util.zip.Inflater;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* JSON 工具类
|
* JSON 工具类
|
||||||
@@ -184,4 +190,245 @@ public class JsonUtils {
|
|||||||
return JSONUtil.isTypeJSON(text);
|
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;
|
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.enums.GlobalErrorCodeConstants.UNKNOWN;
|
||||||
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
|
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.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.ORDER_NOT_EXISTS;
|
||||||
import static com.cf.imes.module.executor.enums.ErrorCodeConstants.PLAN_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;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -416,28 +415,28 @@ public class OptimizePlanServiceImpl implements OptimizePlanService {
|
|||||||
public void saveOptimizationResults(SavePlanPlateResultReqVO req) {
|
public void saveOptimizationResults(SavePlanPlateResultReqVO req) {
|
||||||
|
|
||||||
|
|
||||||
// 判断当前的大板数据是否已经优化,有优化,更新,没有,新增
|
// // 判断当前的大板数据是否已经优化,有优化,更新,没有,新增
|
||||||
if (req.getOptimizeBoardModelDOS().get(0).getIsOptimized().equals(true)) {
|
// if (req.getOptimizeBoardModelDOS().get(0).getIsOptimized().equals(true)) {
|
||||||
try {
|
// try {
|
||||||
// 更新大板的优化数据
|
// // 更新大板的优化数据
|
||||||
BulkResponse bulkResponse = esDocumentService.bulkUpdate(ORDER_REMAIN_PLATE_MODEL, req.getOptimizeBoardModelDOS());
|
// BulkResponse bulkResponse = esDocumentService.bulkUpdate(ORDER_REMAIN_PLATE_MODEL, req.getOptimizeBoardModelDOS());
|
||||||
boolean errors = bulkResponse.errors();
|
// boolean errors = bulkResponse.errors();
|
||||||
if (errors) {
|
// if (errors) {
|
||||||
log.error(bulkResponse.items().toString());
|
// log.error(bulkResponse.items().toString());
|
||||||
throw new ServiceException(500, "未知异常");
|
// throw new ServiceException(500, "未知异常");
|
||||||
}
|
// }
|
||||||
} catch (Exception e) {
|
// } catch (Exception e) {
|
||||||
e.printStackTrace();
|
// e.printStackTrace();
|
||||||
log.error(e.getMessage());
|
// log.error(e.getMessage());
|
||||||
throw new RuntimeException(e);
|
// throw new RuntimeException(e);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
else {
|
// else {
|
||||||
|
|
||||||
// 保存优化后的大板数据
|
// 保存优化后的大板数据
|
||||||
batchSaveBoardModel(req.getOptimizeBoardModelDOS());
|
batchSaveBoardModel(req.getOptimizeBoardModelDOS());
|
||||||
|
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
|
||||||
if (CollectionUtil.isNotEmpty(req.getOptimizeRemainPlates())) {
|
if (CollectionUtil.isNotEmpty(req.getOptimizeRemainPlates())) {
|
||||||
|
|||||||
+1
-1
@@ -101,7 +101,7 @@ public class PlanServiceImpl implements PlanService {
|
|||||||
plan.setIsPay(Boolean.FALSE);
|
plan.setIsPay(Boolean.FALSE);
|
||||||
plan.setSort(sort);
|
plan.setSort(sort);
|
||||||
plan.setPlanNo(identifierGenerator.nextId(null).toString());
|
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);
|
plan.setOrderNos(orderNos);
|
||||||
planMapper.insert(plan);
|
planMapper.insert(plan);
|
||||||
Long planId = plan.getId();
|
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")
|
@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)
|
@Schema(description = "已打包数-包裹数", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
private Long packCount;
|
private Long packCount;
|
||||||
|
|
||||||
@@ -76,16 +75,13 @@ public class PackRespVO {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Schema(description = "待处理量", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "待处理量", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
private Long pendingNum;
|
private Long pendingNum;
|
||||||
|
|
||||||
|
|
||||||
// @Schema(description = "当前包裹的板件数", requiredMode = Schema.RequiredMode.REQUIRED)
|
|
||||||
// private Long currentPackNum;
|
|
||||||
|
|
||||||
@Schema(description = "生产单对应的板件信息", requiredMode = Schema.RequiredMode.REQUIRED)
|
// @Schema(description = "生产单对应的板件信息", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
List<PlateDetailsRespVO> plateDetailsRespVO;
|
// List<PlateDetailsRespVO> plateDetailsRespVO;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-3
@@ -61,15 +61,15 @@ public class PlateDetailsRespVO {
|
|||||||
|
|
||||||
@Schema(description = "纹路", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "纹路", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@ExcelProperty("纹路")
|
@ExcelProperty("纹路")
|
||||||
private String texture;
|
private Integer texture;
|
||||||
|
|
||||||
@Schema(description = "异形", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "异形", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@ExcelProperty("异形")
|
@ExcelProperty("异形")
|
||||||
private String specialShaped;
|
private Boolean specialShaped;
|
||||||
|
|
||||||
@Schema(description = "造型", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "造型", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@ExcelProperty("造型")
|
@ExcelProperty("造型")
|
||||||
private String profiling;
|
private Boolean profiling;
|
||||||
|
|
||||||
@Schema(description = "排孔", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "排孔", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@ExcelProperty("排孔")
|
@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.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
|
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
|
||||||
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
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.PackRespVO;
|
||||||
import com.cf.imes.module.manage.controller.admin.pack.vo.PackageDetailsReqVO;
|
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.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.OrderPackageDO;
|
||||||
import com.cf.imes.module.manage.dal.dataobject.query.OrderPartsNDO;
|
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
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) {
|
default OrderPackageDO selectByPackNo(String packNo) {
|
||||||
|
|||||||
+1
-1
@@ -29,7 +29,7 @@ public interface OrderItemMapper extends BaseMapperX<OrderItemDO> {
|
|||||||
List<OrderPlateRespVO> selectPlateList(PlatePageVO pageReqVO);
|
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;
|
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.common.pojo.PageResult;
|
||||||
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
|
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
|
||||||
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||||
@@ -15,6 +16,8 @@ import org.apache.ibatis.annotations.Param;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId;
|
||||||
|
|
||||||
@Mapper
|
@Mapper
|
||||||
public interface ProductionStatusMapper extends BaseMapperX<OrderDO> {
|
public interface ProductionStatusMapper extends BaseMapperX<OrderDO> {
|
||||||
|
|
||||||
@@ -41,8 +44,10 @@ public interface ProductionStatusMapper extends BaseMapperX<OrderDO> {
|
|||||||
PrintOrderRespVO selectPrintOrder(Long orderNo);
|
PrintOrderRespVO selectPrintOrder(Long orderNo);
|
||||||
|
|
||||||
|
|
||||||
default List<OrderDO> selectPackPage(PackPageReqVO pageReqVO) {
|
default List<OrderDO> selectPackPage(PackPageReqVO pageReqVO,Long organId) {
|
||||||
return selectList(new LambdaQueryWrapperX<OrderDO>()
|
return selectList(new LambdaQueryWrapperX<OrderDO>()
|
||||||
|
.eq(OrderDO::getOrganId,organId)
|
||||||
|
.eqIfPresent(OrderDO::getOrganId,getUserOrganId())
|
||||||
.eqIfPresent(OrderDO::getId, pageReqVO.getOrderNo())
|
.eqIfPresent(OrderDO::getId, pageReqVO.getOrderNo())
|
||||||
.eqIfPresent(OrderDO::getCustomOrderNo, pageReqVO.getCustomOrderNo())
|
.eqIfPresent(OrderDO::getCustomOrderNo, pageReqVO.getCustomOrderNo())
|
||||||
.likeIfPresent(OrderDO::getCustomer, pageReqVO.getCustomer())
|
.likeIfPresent(OrderDO::getCustomer, pageReqVO.getCustomer())
|
||||||
@@ -51,7 +56,7 @@ public interface ProductionStatusMapper extends BaseMapperX<OrderDO> {
|
|||||||
.orderByDesc(OrderDO::getCreateTime));
|
.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.OrderPackageStatusEnum;
|
||||||
import com.cf.imes.framework.common.enums.OrderPackageTypeEnum;
|
import com.cf.imes.framework.common.enums.OrderPackageTypeEnum;
|
||||||
import com.cf.imes.framework.common.exception.util.ServiceExceptionUtil;
|
import com.cf.imes.framework.common.exception.util.ServiceExceptionUtil;
|
||||||
@@ -34,6 +37,7 @@ import java.util.List;
|
|||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
|
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.*;
|
import static com.cf.imes.module.system.enums.ErrorCodeConstants.*;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@@ -61,50 +65,58 @@ public class PackServiceImpl implements PackService {
|
|||||||
@Override
|
@Override
|
||||||
public PageResult<PackRespVO> getPackPage(PackPageReqVO pageReqVO) {
|
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
|
@Override
|
||||||
public List<OrderPackageDO> getOrderPack(PackageDetailsReqVO reqVO) {
|
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());
|
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);
|
PageInfo<PlateDetailsRespVO> pageInfo = new PageInfo<>(plateDetailsRespVOS);
|
||||||
PageResult<PlateDetailsRespVO> priceRateReqVOPageResult = PageHelperUtil.convertToPageResult(pageInfo);
|
PageResult<PlateDetailsRespVO> priceRateReqVOPageResult = PageHelperUtil.convertToPageResult(pageInfo);
|
||||||
|
|
||||||
@@ -137,6 +149,7 @@ public class PackServiceImpl implements PackService {
|
|||||||
|
|
||||||
// 更新配件
|
// 更新配件
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void updateParts(OrderPartsReqVO reqVO) {
|
public void updateParts(OrderPartsReqVO reqVO) {
|
||||||
|
|
||||||
// 生产明细表新增的配件ID
|
// 生产明细表新增的配件ID
|
||||||
@@ -186,6 +199,7 @@ public class PackServiceImpl implements PackService {
|
|||||||
|
|
||||||
// 新增包裹
|
// 新增包裹
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public OrderPackageDO insertPack(OrderPackReqVO packageVO) {
|
public OrderPackageDO insertPack(OrderPackReqVO packageVO) {
|
||||||
|
|
||||||
List<OrderPackageDO> orderPackageDOS = orderPackageMapper.selectPackStatus(packageVO.getOrderId());
|
List<OrderPackageDO> orderPackageDOS = orderPackageMapper.selectPackStatus(packageVO.getOrderId());
|
||||||
@@ -227,6 +241,7 @@ public class PackServiceImpl implements PackService {
|
|||||||
|
|
||||||
// 更新包裹
|
// 更新包裹
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public OrderPackageDO updatePack(OrderPackReqVO packageVO) {
|
public OrderPackageDO updatePack(OrderPackReqVO packageVO) {
|
||||||
|
|
||||||
|
|
||||||
@@ -272,6 +287,7 @@ public class PackServiceImpl implements PackService {
|
|||||||
|
|
||||||
// 删除包裹及其关联的包裹信息(删除全部)
|
// 删除包裹及其关联的包裹信息(删除全部)
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void deleteOrderPack(PackReqVO reqVO) {
|
public void deleteOrderPack(PackReqVO reqVO) {
|
||||||
|
|
||||||
// 判断包裹的类型是否为其他类型,如果是,则删除其包裹信息
|
// 判断包裹的类型是否为其他类型,如果是,则删除其包裹信息
|
||||||
@@ -290,6 +306,7 @@ public class PackServiceImpl implements PackService {
|
|||||||
|
|
||||||
// 新增外部配件包裹表
|
// 新增外部配件包裹表
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public OrderPackageDO addNewOtherPack(OtherPackReqVO reqVO) {
|
public OrderPackageDO addNewOtherPack(OtherPackReqVO reqVO) {
|
||||||
|
|
||||||
// 判断配件名称是否重复
|
// 判断配件名称是否重复
|
||||||
@@ -337,6 +354,7 @@ public class PackServiceImpl implements PackService {
|
|||||||
|
|
||||||
// 新增外部配件
|
// 新增外部配件
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public OrderPartsRespVO addNewOtherParts(OtherPackReqVO reqVO) {
|
public OrderPartsRespVO addNewOtherParts(OtherPackReqVO reqVO) {
|
||||||
|
|
||||||
OrderPackageDO orderPackageDO = orderPackageMapper.selectByPackNo(reqVO.getPackNo());
|
OrderPackageDO orderPackageDO = orderPackageMapper.selectByPackNo(reqVO.getPackNo());
|
||||||
@@ -370,6 +388,7 @@ public class PackServiceImpl implements PackService {
|
|||||||
|
|
||||||
// 删除配件包裹中的配件(删除某一个)
|
// 删除配件包裹中的配件(删除某一个)
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void deleteOtherParts(DeleteOtherPartsReqVO reqVO) {
|
public void deleteOtherParts(DeleteOtherPartsReqVO reqVO) {
|
||||||
|
|
||||||
// 更新配件表中配件为逻辑删除
|
// 更新配件表中配件为逻辑删除
|
||||||
@@ -383,6 +402,7 @@ public class PackServiceImpl implements PackService {
|
|||||||
|
|
||||||
// 新增配件-即新增一个包裹
|
// 新增配件-即新增一个包裹
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public OrderPackageDO addNewPartsPack(OrderPackReqVO reqVO) {
|
public OrderPackageDO addNewPartsPack(OrderPackReqVO reqVO) {
|
||||||
|
|
||||||
OrderPackageDO orderPackageDO = new OrderPackageDO();
|
OrderPackageDO orderPackageDO = new OrderPackageDO();
|
||||||
|
|||||||
+2
@@ -1,6 +1,7 @@
|
|||||||
package com.cf.imes.module.manage.service.query;
|
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.pojo.PageResult;
|
||||||
import com.cf.imes.framework.common.util.object.BeanUtils;
|
import com.cf.imes.framework.common.util.object.BeanUtils;
|
||||||
import com.cf.imes.module.manage.controller.admin.pack.vo.OrderPartsReqVO;
|
import com.cf.imes.module.manage.controller.admin.pack.vo.OrderPartsReqVO;
|
||||||
@@ -161,6 +162,7 @@ public class ProductionStatusServiceImpl implements ProductionStatusService {
|
|||||||
@Override
|
@Override
|
||||||
public PageResult<PackageDetailsRespVO> queryPackageDetails(PackDetailsReqVO reqVO) {
|
public PageResult<PackageDetailsRespVO> queryPackageDetails(PackDetailsReqVO reqVO) {
|
||||||
|
|
||||||
|
PageDTO<PackageDetailsRespVO> page = new PageDTO<>(reqVO.getPageNo(), reqVO.getPageSize());
|
||||||
|
|
||||||
// 查看配件包裹
|
// 查看配件包裹
|
||||||
if(reqVO.getType() == 1 || reqVO.getType() == 2){
|
if(reqVO.getType() == 1 || reqVO.getType() == 2){
|
||||||
|
|||||||
+12
-14
@@ -101,37 +101,35 @@
|
|||||||
|
|
||||||
<select id="selectByOrderNo"
|
<select id="selectByOrderNo"
|
||||||
resultType="com.cf.imes.module.manage.dal.dataobject.query.OrderPackageDO"
|
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
|
select distinct
|
||||||
opn.*
|
opn.*
|
||||||
from order_package_n opn
|
from order_package_n opn
|
||||||
join order_item oi on opn.id = oi.package_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
|
left join order_plate op on oi.plate_id = op.id and oi.organ_id = op.organ_id
|
||||||
|
|
||||||
<where>
|
<where>
|
||||||
|
|
||||||
<if test="orderId !=null">
|
<if test="reqVO.orderId !=null">
|
||||||
and opn.order_no = #{orderId}
|
and opn.order_no = #{reqVO.orderId}
|
||||||
</if>
|
</if>
|
||||||
|
|
||||||
<if test="plateNo !=null ">
|
<if test="reqVO.plateNo !=null ">
|
||||||
and op.plate_no = #{plateNo}
|
and op.plate_no = #{reqVO.plateNo}
|
||||||
</if>
|
</if>
|
||||||
|
|
||||||
<if test="packStatus !=null ">
|
<if test="reqVO.packStatus !=null ">
|
||||||
and opn.status= #{packStatus}
|
and opn.status= #{reqVO.packStatus}
|
||||||
</if>
|
</if>
|
||||||
|
|
||||||
<if test="packageNo !=null and packageNo != '' ">
|
<if test="reqVO.packageNo !=null and reqVO.packageNo != '' ">
|
||||||
and opn.package_no= #{packageNo}
|
and opn.package_no= #{reqVO.packageNo}
|
||||||
</if>
|
</if>
|
||||||
|
|
||||||
|
and opn.organ_id = #{organId}
|
||||||
</where>
|
</where>
|
||||||
|
|
||||||
-- where opn.order_no and opn.package_no and opn.status and oi.plate_id
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|||||||
+13
-13
@@ -137,26 +137,26 @@
|
|||||||
ob.name as bodyName,
|
ob.name as bodyName,
|
||||||
op.id as plateId,
|
op.id as plateId,
|
||||||
op.name as plateName,
|
op.name as plateName,
|
||||||
p.material as plateMaterial,
|
ogs.material as plateMaterial,
|
||||||
p.color as plateColor,
|
ogs.color as plateColor,
|
||||||
p.height as plateHeight,
|
op.height as plateHeight,
|
||||||
p.width as plateWidth,
|
op.width as plateWidth,
|
||||||
p.thickness as plateThickness,
|
op.thickness as plateThickness,
|
||||||
op.area as plateArea,
|
op.area as plateArea,
|
||||||
op.texture as texture ,
|
op.texture as texture ,
|
||||||
op.remark as remark,
|
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 op.front_hole_count = 0 or op.back_model_count = 0 or op.side_hole_count = 0 THEN false ELSE true END AS rowHole
|
||||||
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
|
|
||||||
|
|
||||||
from order_item oi
|
from order_item oi
|
||||||
join order_plate op on oi.plate_id = op.id
|
join order_plate op on oi.plate_id = op.id and oi.organ_id = op.organ_id
|
||||||
join plate p on op.goods_id = p.goods_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
|
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
|
join order_group og on ob.id = og.body_id and ob.organ_id = og.organ_id
|
||||||
where
|
where
|
||||||
oi.order_id =#{orderNo}
|
oi.order_id = #{orderNo} and oi.organ_id = #{organId}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+12
-78
@@ -47,60 +47,16 @@
|
|||||||
<result property="createTime" column="createTime"/>
|
<result property="createTime" column="createTime"/>
|
||||||
<result property="packId" column="packId"/>
|
<result property="packId" column="packId"/>
|
||||||
|
|
||||||
<result property="packCount" column="packNum"/>
|
<result property="packCount" column="packCount"/>
|
||||||
<result property="totalPieceCount" column="plateNum"/>
|
<result property="totalPieceCount" column="totalPieceCount"/>
|
||||||
<result property="packPieceCount" column="plateProcessedNum"/>
|
<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>
|
</resultMap>
|
||||||
|
|
||||||
<select id="selectOrderPlate"
|
<select id="selectOrderPlate"
|
||||||
parameterType="java.util.List"
|
parameterType="java.util.List"
|
||||||
resultMap="PackMap">
|
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
|
SELECT distinct
|
||||||
o.id as orderNo,
|
o.id as orderNo,
|
||||||
@@ -118,47 +74,25 @@
|
|||||||
count(distinct
|
count(distinct
|
||||||
case
|
case
|
||||||
when oi.package_id!=0 then oi.package_id end
|
when oi.package_id!=0 then oi.package_id end
|
||||||
) as packNum,
|
) as packCount,
|
||||||
count(distinct case
|
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
|
count(distinct
|
||||||
case
|
case
|
||||||
when oi.plate_id !=0 then oi.plate_id end
|
when oi.plate_id !=0 then oi.plate_id end
|
||||||
)as plateNum,
|
)as totalPieceCount
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
FROM `order` o
|
FROM `order` o
|
||||||
join order_item oi on o.id = oi.order_id
|
join order_item oi on o.id = oi.order_id and o.organ_id = oi.organ_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
|
|
||||||
|
|
||||||
|
WHERE
|
||||||
WHERE o.id in
|
o.organ_id = #{organId} and
|
||||||
|
o.id in
|
||||||
<foreach item="id" collection="collect" open="(" separator="," close=")">
|
<foreach item="id" collection="collect" open="(" separator="," close=")">
|
||||||
#{id}
|
#{id}
|
||||||
</foreach>
|
</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>
|
</select>
|
||||||
|
|||||||
+1
-1
@@ -52,7 +52,7 @@ public class MachineApiImpl implements MachineApi {
|
|||||||
.id(cutting.getId())
|
.id(cutting.getId())
|
||||||
.machineType(cutting.getMachineType())
|
.machineType(cutting.getMachineType())
|
||||||
.name(cutting.getName())
|
.name(cutting.getName())
|
||||||
.setting(cutting.getMachineSettingDO().toJSONString())
|
.setting(JsonUtils.unzipString(cutting.getMachineSettingDO().toJSONString()))
|
||||||
.label(JsonUtils.toJsonString(label))
|
.label(JsonUtils.toJsonString(label))
|
||||||
.build();
|
.build();
|
||||||
return success(machineDTO);
|
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.CommonResult;
|
||||||
import com.cf.imes.framework.common.pojo.PageParam;
|
import com.cf.imes.framework.common.pojo.PageParam;
|
||||||
import com.cf.imes.framework.common.pojo.PageResult;
|
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.common.util.object.BeanUtils;
|
||||||
import com.cf.imes.framework.excel.core.util.ExcelUtils;
|
import com.cf.imes.framework.excel.core.util.ExcelUtils;
|
||||||
import com.cf.imes.framework.operatelog.core.annotations.OperateLog;
|
import com.cf.imes.framework.operatelog.core.annotations.OperateLog;
|
||||||
@@ -23,6 +24,8 @@ import javax.validation.Valid;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
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.common.pojo.CommonResult.success;
|
||||||
import static com.cf.imes.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
|
import static com.cf.imes.framework.operatelog.core.enums.OperateTypeEnum.EXPORT;
|
||||||
|
|
||||||
@@ -103,7 +106,8 @@ public class LabelController {
|
|||||||
public void exportLabelExcel(@Valid LabelPageReqVO pageReqVO,
|
public void exportLabelExcel(@Valid LabelPageReqVO pageReqVO,
|
||||||
HttpServletResponse response) throws IOException {
|
HttpServletResponse response) throws IOException {
|
||||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
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
|
// 导出 Excel
|
||||||
ExcelUtils.write(response, "标签.xls", "数据", LabelRespVO.class,
|
ExcelUtils.write(response, "标签.xls", "数据", LabelRespVO.class,
|
||||||
BeanUtils.toBean(list, LabelRespVO.class));
|
BeanUtils.toBean(list, LabelRespVO.class));
|
||||||
|
|||||||
+5
-1
@@ -1,5 +1,6 @@
|
|||||||
package com.cf.imes.module.system.controller.admin.labeltemplate;
|
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.web.bind.annotation.*;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
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 io.swagger.v3.oas.annotations.Operation;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import com.cf.imes.framework.common.pojo.PageParam;
|
import com.cf.imes.framework.common.pojo.PageParam;
|
||||||
import com.cf.imes.framework.common.pojo.PageResult;
|
import com.cf.imes.framework.common.pojo.PageResult;
|
||||||
import com.cf.imes.framework.common.pojo.CommonResult;
|
import com.cf.imes.framework.common.pojo.CommonResult;
|
||||||
@@ -108,7 +111,8 @@ public class LabelTemplateController {
|
|||||||
public void exportLabelTemplateExcel(@Valid LabelTemplatePageReqVO pageReqVO,
|
public void exportLabelTemplateExcel(@Valid LabelTemplatePageReqVO pageReqVO,
|
||||||
HttpServletResponse response) throws IOException {
|
HttpServletResponse response) throws IOException {
|
||||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
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
|
// 导出 Excel
|
||||||
ExcelUtils.write(response, "标签模板.xls", "数据", LabelTemplateRespVO.class,
|
ExcelUtils.write(response, "标签模板.xls", "数据", LabelTemplateRespVO.class,
|
||||||
BeanUtils.toBean(list, LabelTemplateRespVO.class));
|
BeanUtils.toBean(list, LabelTemplateRespVO.class));
|
||||||
|
|||||||
+2
-1
@@ -1,6 +1,7 @@
|
|||||||
package com.cf.imes.module.system.convert.machine;
|
package com.cf.imes.module.system.convert.machine;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSON;
|
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.CuttingRespVO;
|
||||||
import com.cf.imes.module.system.controller.admin.machine.vo.CuttingTemplateRespVO;
|
import com.cf.imes.module.system.controller.admin.machine.vo.CuttingTemplateRespVO;
|
||||||
import com.cf.imes.module.system.controller.admin.machine.vo.CuttingTemplateSaveReqVO;
|
import com.cf.imes.module.system.controller.admin.machine.vo.CuttingTemplateSaveReqVO;
|
||||||
@@ -27,7 +28,7 @@ public class MachineTemplateConvert {
|
|||||||
.machineType(reqVO.getMachineType())
|
.machineType(reqVO.getMachineType())
|
||||||
.id(reqVO.getId())
|
.id(reqVO.getId())
|
||||||
.name(reqVO.getName())
|
.name(reqVO.getName())
|
||||||
.setting(reqVO.getSetting().toJSONString())
|
.setting(JsonUtils.zipString(reqVO.getSetting().toJSONString()))
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+10
-1
@@ -1,6 +1,7 @@
|
|||||||
package com.cf.imes.module.system.service.labeltemplate;
|
package com.cf.imes.module.system.service.labeltemplate;
|
||||||
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
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 com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -34,6 +35,7 @@ public class LabelTemplateServiceImpl implements LabelTemplateService {
|
|||||||
public Long createLabelTemplate(LabelTemplateSaveReqVO createReqVO) {
|
public Long createLabelTemplate(LabelTemplateSaveReqVO createReqVO) {
|
||||||
// 插入
|
// 插入
|
||||||
LabelTemplateDO labelTemplate = BeanUtils.toBean(createReqVO, LabelTemplateDO.class);
|
LabelTemplateDO labelTemplate = BeanUtils.toBean(createReqVO, LabelTemplateDO.class);
|
||||||
|
labelTemplate.setTemplate(JsonUtils.zipString(labelTemplate.getTemplate()));
|
||||||
labelTemplateMapper.insert(labelTemplate);
|
labelTemplateMapper.insert(labelTemplate);
|
||||||
// 返回
|
// 返回
|
||||||
return labelTemplate.getId();
|
return labelTemplate.getId();
|
||||||
@@ -45,6 +47,10 @@ public class LabelTemplateServiceImpl implements LabelTemplateService {
|
|||||||
validateLabelTemplateExists(updateReqVO.getId());
|
validateLabelTemplateExists(updateReqVO.getId());
|
||||||
// 更新
|
// 更新
|
||||||
LabelTemplateDO updateObj = BeanUtils.toBean(updateReqVO, LabelTemplateDO.class);
|
LabelTemplateDO updateObj = BeanUtils.toBean(updateReqVO, LabelTemplateDO.class);
|
||||||
|
if(!updateReqVO.getTemplate().isEmpty()){
|
||||||
|
updateObj.setTemplate(JsonUtils.zipString(updateObj.getTemplate()));
|
||||||
|
|
||||||
|
}
|
||||||
labelTemplateMapper.updateById(updateObj);
|
labelTemplateMapper.updateById(updateObj);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -71,6 +77,7 @@ public class LabelTemplateServiceImpl implements LabelTemplateService {
|
|||||||
@Override
|
@Override
|
||||||
public LabelTemplateRespVO getLabelTemplate(Long id) {
|
public LabelTemplateRespVO getLabelTemplate(Long id) {
|
||||||
LabelTemplateDO labelTemplateDO = labelTemplateMapper.selectById(id);
|
LabelTemplateDO labelTemplateDO = labelTemplateMapper.selectById(id);
|
||||||
|
labelTemplateDO.setTemplate(JsonUtils.unzipString(labelTemplateDO.getTemplate()));
|
||||||
LabelTemplateRespVO labelTemplateRespVO = BeanUtils.toBean(labelTemplateDO, LabelTemplateRespVO.class);
|
LabelTemplateRespVO labelTemplateRespVO = BeanUtils.toBean(labelTemplateDO, LabelTemplateRespVO.class);
|
||||||
return labelTemplateRespVO;
|
return labelTemplateRespVO;
|
||||||
}
|
}
|
||||||
@@ -83,7 +90,8 @@ public class LabelTemplateServiceImpl implements LabelTemplateService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String, List<LabelTemplateRespVO>> getGroupList() {
|
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);
|
List<LabelTemplateRespVO> labelTemplateRespVOS = BeanUtils.toBean(labelTemplateDOS, LabelTemplateRespVO.class);
|
||||||
return labelTemplateRespVOS.stream().collect(Collectors.groupingBy(LabelTemplateRespVO::getType));
|
return labelTemplateRespVOS.stream().collect(Collectors.groupingBy(LabelTemplateRespVO::getType));
|
||||||
}
|
}
|
||||||
@@ -99,6 +107,7 @@ public class LabelTemplateServiceImpl implements LabelTemplateService {
|
|||||||
throw exception(DEFAULT_TEMPLATE_COUNT);
|
throw exception(DEFAULT_TEMPLATE_COUNT);
|
||||||
}
|
}
|
||||||
LabelTemplateDO labelTemplateDO = labelTemplateDOS.get(0);
|
LabelTemplateDO labelTemplateDO = labelTemplateDOS.get(0);
|
||||||
|
labelTemplateDO.setTemplate(JsonUtils.unzipString(labelTemplateDO.getTemplate()));
|
||||||
LabelTemplateRespVO labelTemplateRespVO = BeanUtils.toBean(labelTemplateDO, LabelTemplateRespVO.class);
|
LabelTemplateRespVO labelTemplateRespVO = BeanUtils.toBean(labelTemplateDO, LabelTemplateRespVO.class);
|
||||||
return labelTemplateRespVO;
|
return labelTemplateRespVO;
|
||||||
}
|
}
|
||||||
|
|||||||
+23
-3
@@ -2,6 +2,7 @@ package com.cf.imes.module.system.service.lable;
|
|||||||
|
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import com.cf.imes.framework.common.pojo.PageResult;
|
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.common.util.object.BeanUtils;
|
||||||
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||||
import com.cf.imes.module.system.controller.admin.label.vo.*;
|
import com.cf.imes.module.system.controller.admin.label.vo.*;
|
||||||
@@ -17,6 +18,7 @@ import javax.annotation.Resource;
|
|||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
|
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.LABEL_NOT_EXISTS;
|
||||||
import static com.cf.imes.module.system.enums.ErrorCodeConstants.MACHINE_USE_LABEL;
|
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) {
|
public Long createLabel(LabelSaveReqVO createReqVO) {
|
||||||
// 插入
|
// 插入
|
||||||
LabelDO Label = BeanUtils.toBean(createReqVO, LabelDO.class);
|
LabelDO Label = BeanUtils.toBean(createReqVO, LabelDO.class);
|
||||||
|
Label.setTemplate(JsonUtils.zipString(Label.getTemplate()));
|
||||||
labelMapper.insert(Label);
|
labelMapper.insert(Label);
|
||||||
// 返回
|
// 返回
|
||||||
return Label.getId();
|
return Label.getId();
|
||||||
@@ -53,6 +56,10 @@ public class LabelServiceImpl implements LabelService {
|
|||||||
validateLabelExists(updateReqVO.getId());
|
validateLabelExists(updateReqVO.getId());
|
||||||
// 更新
|
// 更新
|
||||||
LabelDO updateObj = BeanUtils.toBean(updateReqVO, LabelDO.class);
|
LabelDO updateObj = BeanUtils.toBean(updateReqVO, LabelDO.class);
|
||||||
|
if(!updateReqVO.getTemplate().isEmpty()){
|
||||||
|
updateObj.setTemplate(JsonUtils.zipString(updateObj.getTemplate()));
|
||||||
|
}
|
||||||
|
|
||||||
labelMapper.updateById(updateObj);
|
labelMapper.updateById(updateObj);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -85,27 +92,40 @@ public class LabelServiceImpl implements LabelService {
|
|||||||
@Override
|
@Override
|
||||||
public LabelRespVO getLabel(Long id) {
|
public LabelRespVO getLabel(Long id) {
|
||||||
LabelDO LabelDO = labelMapper.selectById(id);
|
LabelDO LabelDO = labelMapper.selectById(id);
|
||||||
|
LabelDO.setTemplate(JsonUtils.unzipString(LabelDO.getTemplate()));
|
||||||
LabelRespVO LabelRespVO = BeanUtils.toBean(LabelDO, LabelRespVO.class);
|
LabelRespVO LabelRespVO = BeanUtils.toBean(LabelDO, LabelRespVO.class);
|
||||||
return LabelRespVO;
|
return LabelRespVO;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageResult<LabelDO> getLabelPage(LabelPageReqVO pageReqVO) {
|
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
|
@Override
|
||||||
public Map<String, List<LabelRespVO>> getGroupList(Long organId) {
|
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);
|
List<LabelRespVO> LabelRespVOS = BeanUtils.toBean(LabelDOS, LabelRespVO.class);
|
||||||
return LabelRespVOS.stream().collect(Collectors.groupingBy(LabelRespVO::getType));
|
return LabelRespVOS.stream().collect(Collectors.groupingBy(LabelRespVO::getType));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<LabelDO> list(String type) {
|
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.SearchResponse;
|
||||||
import co.elastic.clients.elasticsearch.core.search.Hit;
|
import co.elastic.clients.elasticsearch.core.search.Hit;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
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.dal.ESDocument;
|
||||||
import com.cf.imes.framework.es.core.service.ESDocumentService;
|
import com.cf.imes.framework.es.core.service.ESDocumentService;
|
||||||
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||||
@@ -87,6 +88,8 @@ public class MachineServiceImpl implements MachineService {
|
|||||||
);
|
);
|
||||||
// 插入
|
// 插入
|
||||||
MachineDO machineDO = MachineConvert.convert(createReqVO);
|
MachineDO machineDO = MachineConvert.convert(createReqVO);
|
||||||
|
// 将机台的配置数据进行压缩
|
||||||
|
machineDO.setSetting(JsonUtils.zipString(machineDO.getSetting()));
|
||||||
machineMapper.insert(machineDO);
|
machineMapper.insert(machineDO);
|
||||||
MachineLimitDO machineLimitDO = MachineLimitDO.builder()
|
MachineLimitDO machineLimitDO = MachineLimitDO.builder()
|
||||||
.organId(loginUser.getOrganId())
|
.organId(loginUser.getOrganId())
|
||||||
@@ -107,7 +110,12 @@ public class MachineServiceImpl implements MachineService {
|
|||||||
validateExists(updateReqVO.getId());
|
validateExists(updateReqVO.getId());
|
||||||
// 更新
|
// 更新
|
||||||
MachineDO updateObj = MachineConvert.convert(updateReqVO);
|
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);
|
machineMapper.updateById(updateObj);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -133,6 +141,10 @@ public class MachineServiceImpl implements MachineService {
|
|||||||
@Override
|
@Override
|
||||||
public CuttingRespVO getCutting(Long id) {
|
public CuttingRespVO getCutting(Long id) {
|
||||||
MachineDO machineDO = machineMapper.selectById(id);
|
MachineDO machineDO = machineMapper.selectById(id);
|
||||||
|
|
||||||
|
// 对机台的配置进行解压
|
||||||
|
machineDO.setSetting(JsonUtils.unzipString(machineDO.getSetting()));
|
||||||
|
|
||||||
if (Objects.isNull(machineDO)) {
|
if (Objects.isNull(machineDO)) {
|
||||||
throw exception(MACHINE_NOT_EXISTS);
|
throw exception(MACHINE_NOT_EXISTS);
|
||||||
}
|
}
|
||||||
@@ -312,7 +324,13 @@ public class MachineServiceImpl implements MachineService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PageResult<MachineDO> getPage(MachinePageReqVO pageReqVO) {
|
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.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.cf.imes.framework.common.exception.ServiceException;
|
import com.cf.imes.framework.common.exception.ServiceException;
|
||||||
import com.cf.imes.framework.common.pojo.PageResult;
|
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.dal.ESDocument;
|
||||||
import com.cf.imes.framework.es.core.service.ESDocumentService;
|
import com.cf.imes.framework.es.core.service.ESDocumentService;
|
||||||
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||||
@@ -156,6 +157,7 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
|
|||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public Long createCuttingTemplate(CuttingTemplateSaveReqVO reqVO) {
|
public Long createCuttingTemplate(CuttingTemplateSaveReqVO reqVO) {
|
||||||
MachineTemplateDO templateDO = MachineTemplateConvert.convert(reqVO);
|
MachineTemplateDO templateDO = MachineTemplateConvert.convert(reqVO);
|
||||||
|
templateDO.setSetting(JsonUtils.zipString(templateDO.getSetting()));
|
||||||
machineTemplateMapper.insert(templateDO);
|
machineTemplateMapper.insert(templateDO);
|
||||||
return templateDO.getId();
|
return templateDO.getId();
|
||||||
}
|
}
|
||||||
@@ -163,6 +165,10 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
|
|||||||
@Override
|
@Override
|
||||||
public Boolean updateCuttingTemplate(CuttingTemplateSaveReqVO reqVO) {
|
public Boolean updateCuttingTemplate(CuttingTemplateSaveReqVO reqVO) {
|
||||||
MachineTemplateDO templateDO = MachineTemplateConvert.convert(reqVO);
|
MachineTemplateDO templateDO = MachineTemplateConvert.convert(reqVO);
|
||||||
|
if(!reqVO.getSetting().isEmpty()){
|
||||||
|
templateDO.setSetting(JsonUtils.zipString(templateDO.getSetting()));
|
||||||
|
|
||||||
|
}
|
||||||
machineTemplateMapper.updateById(templateDO);
|
machineTemplateMapper.updateById(templateDO);
|
||||||
return Boolean.TRUE;
|
return Boolean.TRUE;
|
||||||
}
|
}
|
||||||
@@ -170,6 +176,7 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
|
|||||||
@Override
|
@Override
|
||||||
public CuttingTemplateRespVO getCuttingTemplateById(String id) {
|
public CuttingTemplateRespVO getCuttingTemplateById(String id) {
|
||||||
MachineTemplateDO templateDO = machineTemplateMapper.selectById(id);
|
MachineTemplateDO templateDO = machineTemplateMapper.selectById(id);
|
||||||
|
templateDO.setSetting(JsonUtils.unzipString(templateDO.getSetting()));
|
||||||
if (Objects.isNull(templateDO)) {
|
if (Objects.isNull(templateDO)) {
|
||||||
throw exception(MACHINE_TEMPLATE_NOT_EXISTS);
|
throw exception(MACHINE_TEMPLATE_NOT_EXISTS);
|
||||||
}
|
}
|
||||||
@@ -198,6 +205,8 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
|
|||||||
throw exception(DEFAULT_TEMPLATE_COUNT);
|
throw exception(DEFAULT_TEMPLATE_COUNT);
|
||||||
}
|
}
|
||||||
MachineTemplateDO templateDO = machineTemplateDOS.get(0);
|
MachineTemplateDO templateDO = machineTemplateDOS.get(0);
|
||||||
|
// 将机台的模板配置进行解压
|
||||||
|
templateDO.setSetting(JsonUtils.unzipString(templateDO.getSetting()));
|
||||||
return MachineTemplateConvert.convert1(templateDO);
|
return MachineTemplateConvert.convert1(templateDO);
|
||||||
}
|
}
|
||||||
throw exception(DEFAULT_TEMPLATE_NOT_EXISTS);
|
throw exception(DEFAULT_TEMPLATE_NOT_EXISTS);
|
||||||
@@ -224,7 +233,10 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<Integer, List<MachineTemplateDO>> getMachineTemplateTree() {
|
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));
|
Map<Integer, List<MachineTemplateDO>> map = machineTemplateDOS.stream().collect(Collectors.groupingBy(MachineTemplateDO::getMachineType));
|
||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
@@ -393,7 +405,12 @@ public class MachineTemplateServiceImpl implements MachineTemplateService {
|
|||||||
if(CollectionUtil.isEmpty(machineIds)) {
|
if(CollectionUtil.isEmpty(machineIds)) {
|
||||||
return new PageResult<>();
|
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