bug修改

This commit is contained in:
lym
2024-04-25 14:46:59 +08:00
parent aa7144a090
commit cc00b46d9a
7 changed files with 136 additions and 87 deletions
@@ -0,0 +1,37 @@
package com.cf.imes.module.executor.util.deviseData.dataTwo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 板件基本信息
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class BoardInfo {
// 商品信息
private String goodsName; //商品名称
private String goodsNo; // 商品编号
private Long goodId; // 商品id
private String material; //材质
private String color; //颜色
private String factory; //商品生产厂商
private String brand; //商品品牌
private String model; //商品型号
private String unit; //商品单位
private String spec; //商品规格
private Double width;
private Double Length;
private Double thickness;//规格-板厚 板厚,成品和开料都是一样的
private Boolean isTexture; // 有无纹路
}
@@ -0,0 +1,24 @@
package com.cf.imes.module.executor.util.deviseData.dataTwo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 加工组信息
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class Group {
private String name;
private Double width;
private Double height;
private Double depth;
}
@@ -1,55 +0,0 @@
package com.cf.imes.module.executor.util.deviseData.dataTwo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
/**
* 板件基本信息
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class IBoardProdInfo {
// 商品信息
private String goodsNo; // 商品编码
private String goodsName; //商品名称
private String goodType; //商品类型,用于筛选是板材还是配件类,可传入文字(需做转换)
private String material; //材质
private String color; //颜色
private String factory; //商品生产厂商
private String brand; //商品品牌
private String model; //商品型号
private String spec; //商品规格
private float thickness;//规格-板厚 板厚,成品和开料都是一样的
private String unit; //商品单位
// 当有板件时就有板件信息
private float goodsNumber; //产品数量为特殊处理,板件和配件都有数量
// 板材中与造型和轮廓无关的信息
private Long plateId; //板件Id,存入数据库之后的主键
private Long goodsId;//商品Id,板材所用商品编号
private String plateNo;//自定义板号
private String name; //板件名称
private Integer texture; //纹路 纹路(0正纹1可翻转2反纹)
private Integer typographicFace; //排版面 排钻类型(0正面1反面2随意面)
private Integer openDoorType; //开门类型 0非门板,1左开,2右开,3上翻,4下翻
private Boolean isRect; //是否为矩形
// 板件开料数据
//封边数据,矩形存的顺序为左、右、上、下,非矩形存的顺序为从起始点开始,方向为顺时针
private float[] sealDate;
// 这里的数据都是矩形板件才有
private float splitHeight; //开料长
private float splitWidth; //开料宽
private float splitThickness; //开料厚度
}
@@ -12,18 +12,21 @@ import lombok.NoArgsConstructor;
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class PartsDetail {
// 商品信息
private String goodsNo; // 商品编码
public class PartsInfo {
// 商品信息
private String goodsName; //商品名称
private String goodType; //商品类型用于筛选是板材还是配件类可传入文字需做转换
private String goodsNo; // 商品编码
private Long goodId; // 商品id
private String material; //材质
private String color; //颜色
private String factory; //商品生产厂商
private String brand; //商品品牌
private String model; //商品型号
private String spec; //商品规格
private float thickness;//规格-板厚 板厚成品和开料都是一样的
private String unit; //商品单位
private float goodsNumber; //产品数量为特殊处理板件和配件都有数量
}
@@ -16,25 +16,56 @@ import java.util.Map;
@AllArgsConstructor
@NoArgsConstructor
public class PlateDetail {
// 柜体成倍拆单的倍数
private Integer multiNum;
// 板名称
private String name;
// 板编号
private String plateNo;
// 自定义板号
private String customPlateNo;
// 板件所属信息
private String roomsName; //房间名称
private String bodyName; //柜体名
// 柜体信息 长 宽 深
private float width;
private float height;
private float depth;
// 板材所属加工组
private List<String> synthesis;// 板件加工组Group的名称,可以有多个
private String synthesisName;// 加工组中Group中每个小加工组的名称
// 小板基本信息
private IBoardProdInfo iBoardProdInfo;
// 柜体成倍拆单的倍数
private Integer multiNum;
// 板材所属加工组
private String group;// 板件加工组Group的名称,可以有多个
// 加工组具体信息
private List<Group> groupList;
// 成品长宽、面积
private Double width;
private Double height;
private Double acreage;
// 开料长宽、面积
private Double splitHeight;
private Double splitWidth;
private Double sealAcreage;
// 是否矩形
private Boolean isRect;
// 封边,用于矩形
private Double sealLeft;
private Double sealRight;
private Double sealUp;
private Double sealDown;
private Integer texture; //纹路 纹路(0正纹1可翻转2反纹)
private Integer typographicFace; //排版面 排钻类型(0正面1反面2随意面)
private Integer openDoorType; //开门类型 0非门板,1左开,2右开,3上翻,4下翻 字典转换
// 偏移量
private Double offsetX;
private Double offsetY;
// 大板基本信息
private BoardInfo boardInfo;
// 配件基本信息
private List<PartsDetail> partsDetail;
private List<PartsInfo> partsDetail;
// 基准位置,用于画图
private BasePosition basePosition;
@@ -91,11 +91,25 @@ public class ProcessGroupServiceImpl implements ProcessGroupService {
validateProcessGroupExists(id);
ProcessGroupDO processGroup = processGroupMapper.selectById(id);
ProcessListSaveReqVO processListSaveReqVO = BeanUtils.toBean(processGroup, ProcessListSaveReqVO.class);
String[] items = processGroup.getItems().split(",");
if (processGroup.getItems() == null) {
return processListSaveReqVO;
}
String[] items = processGroup.getItems().split("(?<!^),,(?!$)|,\\s*");
// 移除由于连续逗号产生的前后空字符串
List<String> itemsList = Arrays.stream(items)
.filter(item -> !item.isEmpty())
.collect(Collectors.toList());
System.err.println(itemsList.size());
List<ProcessRespVO> lists = new ArrayList<>();
for (int i = 0; i < items.length; i++) {
if (processMapper.selectById(Long.valueOf(items[i])) != null)
lists.add(BeanUtils.toBean(processMapper.selectById(items[i]), ProcessRespVO.class));
// 判断items是否为空
if (itemsList.size() == 0) {
return processListSaveReqVO;
}
for (int i = 0; i < itemsList.size(); i++) {
if (processMapper.selectById(Long.valueOf(itemsList.get(i))) != null)
lists.add(BeanUtils.toBean(processMapper.selectById(itemsList.get(i)), ProcessRespVO.class));
}
processListSaveReqVO.setLists(lists);
return processListSaveReqVO;
@@ -83,8 +83,10 @@ public class ProcessServiceImpl implements ProcessService {
public void updateProcess(ProcessUserSaveReqVO updateReqVO) {
// 校验存在
validateProcessExists(updateReqVO.getId());
// 校验状态
validateProcessStatus(updateReqVO.getId());
if (updateReqVO.getIsEnabled()) {//为禁用
throw exception(PROCESS_STATUS_DISABLE);
}
ProcessDO updateProcess = BeanUtils.toBean(updateReqVO, ProcessDO.class);
processUserService.deleteProcessUserByProcess(updateReqVO.getId());
@@ -102,8 +104,8 @@ public class ProcessServiceImpl implements ProcessService {
processUserService.createProcessUser(processAndUserSaveReqVO);
}
} catch (NumberFormatException e) {
// 处理NumberFormatException异常,例如记录日志
System.err.println("用户ID " + user + " 无法解析为长整型。");
throw exception(ERR);
}
}
}
@@ -125,13 +127,6 @@ public class ProcessServiceImpl implements ProcessService {
}
}
private void validateProcessStatus(Long id) {
ProcessDO process = processMapper.selectById(id);
if (process != null && process.getIsEnabled() == Boolean.FALSE) {
throw exception(PROCESS_STATUS_DISABLE);
}
}
@Override
public ProcessUserRespVO getProcess(Long id) {
// 校验存在