mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-14 13:42:07 +08:00
Merge remote-tracking branch 'origin/main'
This commit is contained in:
+2
-4
@@ -342,7 +342,6 @@ public class OrderController {
|
|||||||
|
|
||||||
} else if (type == 2) { // xml
|
} else if (type == 2) { // xml
|
||||||
orderXmlVO = (OrderXmlVO) XMLUtil.read(file, OrderXmlVO.class);
|
orderXmlVO = (OrderXmlVO) XMLUtil.read(file, OrderXmlVO.class);
|
||||||
System.out.println("1、 " + orderXmlVO);
|
|
||||||
|
|
||||||
if (index == 0){
|
if (index == 0){
|
||||||
if (orderXmlVO != null) {
|
if (orderXmlVO != null) {
|
||||||
@@ -377,9 +376,8 @@ public class OrderController {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!flag){
|
if (!flag){
|
||||||
System.out.println("xml = " + orderXmlVO);
|
|
||||||
String xmlStr = XmlBuilder.objectToXmlStr(orderXmlVO);
|
String xmlStr = XmlBuilder.objectToXmlStr(orderXmlVO);
|
||||||
XMLUtil.writeErr(response, xmlStr, " 错误.xml");
|
XMLUtil.writeErr(response, xmlStr, " order_add_xml_err.xml");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -390,7 +388,7 @@ public class OrderController {
|
|||||||
ExcelWriterUtil.write(response, mapOrder, list, orderService.getSavePath() + File.separator + "order_add_excel_err.xlsx");
|
ExcelWriterUtil.write(response, mapOrder, list, orderService.getSavePath() + File.separator + "order_add_excel_err.xlsx");
|
||||||
} else if (type == 2) {
|
} else if (type == 2) {
|
||||||
String xmlStr = XmlBuilder.objectToXmlStr(orderXmlVO);
|
String xmlStr = XmlBuilder.objectToXmlStr(orderXmlVO);
|
||||||
XMLUtil.writeErr(response, xmlStr, " 错误.xml");
|
XMLUtil.writeErr(response, xmlStr, " order_add_xml_err.xml");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-1
@@ -32,6 +32,8 @@ public class OrderModelDO extends ESDocument {
|
|||||||
@Schema(description = "小板id")
|
@Schema(description = "小板id")
|
||||||
private Long plateId;
|
private Long plateId;
|
||||||
|
|
||||||
|
@Schema(description = "房间的基点坐标")
|
||||||
|
private BasePosition roomBasePosition; // 板件基准点坐标
|
||||||
@Schema(description = "柜体的基点坐标")
|
@Schema(description = "柜体的基点坐标")
|
||||||
private BasePosition bodyBasePosition; // 板件基准点坐标
|
private BasePosition bodyBasePosition; // 板件基准点坐标
|
||||||
@Schema(description = "板件的基点坐标")
|
@Schema(description = "板件的基点坐标")
|
||||||
@@ -76,7 +78,7 @@ public class OrderModelDO extends ESDocument {
|
|||||||
@Schema(description = "侧面孔明细列表")
|
@Schema(description = "侧面孔明细列表")
|
||||||
private List<HoleDetail> sideHoleDetail;
|
private List<HoleDetail> sideHoleDetail;
|
||||||
|
|
||||||
@Schema(description = "生产封边备注 弃用")
|
@Schema(description = "生产封边备注")
|
||||||
private Map<String,String> sideRemark;// 封边备注
|
private Map<String,String> sideRemark;// 封边备注
|
||||||
@Schema(description = "板材扩展备注")
|
@Schema(description = "板材扩展备注")
|
||||||
private JSONObject plateExtraRemark;// 封边备注
|
private JSONObject plateExtraRemark;// 封边备注
|
||||||
|
|||||||
+12
-4
@@ -867,7 +867,10 @@ public class OrderServiceImpl implements OrderService {
|
|||||||
PlateGoodDO plateGoodDO = null;
|
PlateGoodDO plateGoodDO = null;
|
||||||
List<PlateGoodDO> plateGoodDOS = null;
|
List<PlateGoodDO> plateGoodDOS = null;
|
||||||
if (goodsDO.getGoodsId() != null) { // 有goodsId
|
if (goodsDO.getGoodsId() != null) { // 有goodsId
|
||||||
plateGoodDO = plateGoodMapper.selectGoodOne(goodsDO.getGoodsId(), OrganContextHolder.getOrganId()).get(0);
|
List<PlateGoodDO> plateGoodlist = plateGoodMapper.selectGoodOne(goodsDO.getGoodsId(), OrganContextHolder.getOrganId());
|
||||||
|
if (plateGoodlist.size() > 0) {
|
||||||
|
plateGoodDO = plateGoodlist.get(0);
|
||||||
|
}
|
||||||
} else { // 没有goodsId 其他信息匹配
|
} else { // 没有goodsId 其他信息匹配
|
||||||
plateGoodDOS = plateGoodMapper.selectGood(goodsDO.getGoodsName(), goodsDO.getMaterial(), goodsDO.getColor(),
|
plateGoodDOS = plateGoodMapper.selectGood(goodsDO.getGoodsName(), goodsDO.getMaterial(), goodsDO.getColor(),
|
||||||
goodsDO.getTexture(), goodsDO.getWidth(), goodsDO.getThickness(), goodsDO.getHeight(), goodsDO.getBrand(),
|
goodsDO.getTexture(), goodsDO.getWidth(), goodsDO.getThickness(), goodsDO.getHeight(), goodsDO.getBrand(),
|
||||||
@@ -879,14 +882,19 @@ public class OrderServiceImpl implements OrderService {
|
|||||||
} else if (plateGoodDO != null) { // 存在板材
|
} else if (plateGoodDO != null) { // 存在板材
|
||||||
goodsDO.setGoodsId(plateGoodDO.getGoodsId());
|
goodsDO.setGoodsId(plateGoodDO.getGoodsId());
|
||||||
} else { // 不存在板材
|
} else { // 不存在板材
|
||||||
|
String goodsId = goodsDO.getGoodsId();
|
||||||
|
|
||||||
|
if (goodsId == null) {
|
||||||
|
long plateNo = idWorker.nextId();
|
||||||
|
long obtainingTime = idWorker.obtainingTime();
|
||||||
|
goodsId = (obtainingTime) + Long.toString(plateNo).substring(2);
|
||||||
|
}
|
||||||
Long plateGoods = (Long) identifierGenerator.nextId(null);
|
Long plateGoods = (Long) identifierGenerator.nextId(null);
|
||||||
long plateNo = idWorker.nextId();
|
|
||||||
long obtainingTime = idWorker.obtainingTime();
|
|
||||||
|
|
||||||
// Long goodsId = (Long) identifierGenerator.nextId(null);
|
// Long goodsId = (Long) identifierGenerator.nextId(null);
|
||||||
plateGoodDO = BeanUtils.toBean(goodsDO, PlateGoodDO.class)
|
plateGoodDO = BeanUtils.toBean(goodsDO, PlateGoodDO.class)
|
||||||
.setId(plateGoods)
|
.setId(plateGoods)
|
||||||
.setGoodsId((obtainingTime) + Long.toString(plateNo).substring(2));
|
.setGoodsId(goodsId);
|
||||||
// 判断是否存在raw_goods_id
|
// 判断是否存在raw_goods_id
|
||||||
if (goodsDO.getGoodsId() != null) {
|
if (goodsDO.getGoodsId() != null) {
|
||||||
plateGoodDO.setGoodsId(goodsDO.getGoodsId());
|
plateGoodDO.setGoodsId(goodsDO.getGoodsId());
|
||||||
|
|||||||
+2
@@ -1,6 +1,7 @@
|
|||||||
package com.cf.imes.module.executor.util.deviseData.structure;
|
package com.cf.imes.module.executor.util.deviseData.structure;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -89,6 +90,7 @@ public class PlateDetail{
|
|||||||
private Boolean has3DModel; // 是否有三维刀路
|
private Boolean has3DModel; // 是否有三维刀路
|
||||||
|
|
||||||
// 轮廓数据、造型数据
|
// 轮廓数据、造型数据
|
||||||
|
private BasePosition roomBasePosition; // 板件基准点坐标
|
||||||
private BasePosition bodyBasePosition; // 柜体基准点坐标
|
private BasePosition bodyBasePosition; // 柜体基准点坐标
|
||||||
private BasePosition plateBasePosition; // 板件基准点坐标
|
private BasePosition plateBasePosition; // 板件基准点坐标
|
||||||
private List<PointDetail> pointDetail ; //点明细,表示小板外围轮廓的几个转折点(不含封边)
|
private List<PointDetail> pointDetail ; //点明细,表示小板外围轮廓的几个转折点(不含封边)
|
||||||
|
|||||||
+35
@@ -0,0 +1,35 @@
|
|||||||
|
package com.cf.imes.module.executor.util.fileConversion.admin.files.xml;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
|
||||||
|
import javax.xml.bind.annotation.XmlAttribute;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* xml中房间、柜体、加工组的位置信息
|
||||||
|
*/
|
||||||
|
public class PositionVO {
|
||||||
|
|
||||||
|
@Schema(name = "房间名称")
|
||||||
|
private String roomName;
|
||||||
|
|
||||||
|
@Schema(name = "房间号")
|
||||||
|
private String roomCode;
|
||||||
|
|
||||||
|
@Schema(name = "柜体名称")
|
||||||
|
private String boxName;
|
||||||
|
|
||||||
|
@Schema(name = "柜体号")
|
||||||
|
private String boxCode;
|
||||||
|
|
||||||
|
@Schema(name = "加工组名称")
|
||||||
|
private String groupName;
|
||||||
|
|
||||||
|
@Schema(name = "加工组号")
|
||||||
|
private String groupCode;
|
||||||
|
|
||||||
|
@Schema(name = "模块名称")
|
||||||
|
private String moduleName;
|
||||||
|
|
||||||
|
@Schema(name = "模块号")
|
||||||
|
private String moduleCode;
|
||||||
|
}
|
||||||
+44
@@ -0,0 +1,44 @@
|
|||||||
|
package com.cf.imes.module.executor.util.fileConversion.admin.files.xml.VO;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 板补充备注 格式
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class ExtraVO {
|
||||||
|
|
||||||
|
@Schema(description ="板类型" )
|
||||||
|
private String boardType;
|
||||||
|
|
||||||
|
@Schema(description ="挖穿的孔数" )
|
||||||
|
private String throughHoleCount;
|
||||||
|
|
||||||
|
@Schema(description ="挖穿的孔数" )
|
||||||
|
private String throughModelCount;
|
||||||
|
|
||||||
|
@Schema(description ="是否有二维刀路" )
|
||||||
|
private String has2DModel;
|
||||||
|
|
||||||
|
@Schema(description ="是否有三维刀路" )
|
||||||
|
private String has3DModel;
|
||||||
|
|
||||||
|
@Schema(description ="排版面" )
|
||||||
|
private String composingFace;
|
||||||
|
|
||||||
|
@Schema(description ="板边备注" )
|
||||||
|
private List<String> edgeRemarks;
|
||||||
|
|
||||||
|
@Schema(description ="封边备注" )
|
||||||
|
private List<String> rectSealDetail;
|
||||||
|
|
||||||
|
}
|
||||||
+30
@@ -0,0 +1,30 @@
|
|||||||
|
package com.cf.imes.module.executor.util.fileConversion.admin.files.xml.VO;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 板备注 格式
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@Builder
|
||||||
|
@AllArgsConstructor
|
||||||
|
@NoArgsConstructor
|
||||||
|
public class RectSealVO {
|
||||||
|
|
||||||
|
@Schema(description ="点id" )
|
||||||
|
private String PointID;
|
||||||
|
|
||||||
|
@Schema(description ="预留边" )
|
||||||
|
private String ReservedEdge;
|
||||||
|
|
||||||
|
@Schema(description ="封边颜色" )
|
||||||
|
private String SealColor;
|
||||||
|
|
||||||
|
@Schema(description ="封边尺寸" )
|
||||||
|
private String SealSize;
|
||||||
|
|
||||||
|
}
|
||||||
+455
-385
File diff suppressed because it is too large
Load Diff
+98
-49
@@ -53,6 +53,47 @@ public class XmlTypeRealize {
|
|||||||
@Resource
|
@Resource
|
||||||
private IdentifierGenerator identifierGenerator;
|
private IdentifierGenerator identifierGenerator;
|
||||||
|
|
||||||
|
// 房间基点坐标转换
|
||||||
|
public Map<String, Map<String, BasePosition>> bodyBasePositionChange(RoomXmlVOS roomXmlVOS) {
|
||||||
|
Map<String, Map<String, BasePosition>> roomInfos = new HashMap<>();
|
||||||
|
if (roomXmlVOS != null && roomXmlVOS.getRoomXmlVOList() != null && roomXmlVOS.getRoomXmlVOList().size() > 0) {
|
||||||
|
Map<String, BasePosition> basePositions = new HashMap<>();
|
||||||
|
for (RoomXmlVO roomXmlVO : roomXmlVOS.getRoomXmlVOList()) {
|
||||||
|
for (BoxXmlVO boxXmlVO : roomXmlVO.getBoxXmlVOList()) {
|
||||||
|
BasePosition basePosition = BasePosition.builder()
|
||||||
|
.basePointX(Double.valueOf(boxXmlVO.getBasePointX()))
|
||||||
|
.basePointY(Double.valueOf(boxXmlVO.getBasePointY()))
|
||||||
|
.basePointZ(Double.valueOf(boxXmlVO.getBasePointZ()))
|
||||||
|
.axisXrotate(Double.valueOf(boxXmlVO.getAxisXrotate()))
|
||||||
|
.axisYrotate(Double.valueOf(boxXmlVO.getAxisYrotate()))
|
||||||
|
.axisZrotate(Double.valueOf(boxXmlVO.getAxisZrotate()))
|
||||||
|
.build();
|
||||||
|
basePositions.put(boxXmlVO.getCode(), basePosition);
|
||||||
|
}
|
||||||
|
roomInfos.put(roomXmlVO.getCode(), basePositions);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return roomInfos;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 柜体基点坐标转换
|
||||||
|
public Map<String, BasePosition> roomBasePositionChange(RoomXmlVOS roomXmlVOS) {
|
||||||
|
Map<String, BasePosition> basePositions = new HashMap<>();
|
||||||
|
if (roomXmlVOS != null && roomXmlVOS.getRoomXmlVOList() != null && roomXmlVOS.getRoomXmlVOList().size() > 0) {
|
||||||
|
for (RoomXmlVO roomXmlVO : roomXmlVOS.getRoomXmlVOList()) {
|
||||||
|
basePositions.put(roomXmlVO.getCode(), BasePosition.builder()
|
||||||
|
.basePointX(Double.valueOf(roomXmlVO.getBasePointX()))
|
||||||
|
.basePointY(Double.valueOf(roomXmlVO.getBasePointY()))
|
||||||
|
.basePointZ(Double.valueOf(roomXmlVO.getBasePointZ()))
|
||||||
|
.axisXrotate(Double.valueOf(roomXmlVO.getAxisXrotate()))
|
||||||
|
.axisYrotate(Double.valueOf(roomXmlVO.getAxisYrotate()))
|
||||||
|
.axisZrotate(Double.valueOf(roomXmlVO.getAxisZrotate()))
|
||||||
|
.build());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return basePositions;
|
||||||
|
}
|
||||||
|
|
||||||
// 房间柜体信息转换
|
// 房间柜体信息转换
|
||||||
public Map<String, Map<String, OrderBodyDO>> bodyInfoChange(RoomXmlVOS roomXmlVOS, Long orderId, Long organId) {
|
public Map<String, Map<String, OrderBodyDO>> bodyInfoChange(RoomXmlVOS roomXmlVOS, Long orderId, Long organId) {
|
||||||
|
|
||||||
@@ -84,29 +125,6 @@ public class XmlTypeRealize {
|
|||||||
return roomInfos;
|
return roomInfos;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 柜体基点坐标转换
|
|
||||||
public Map<String, Map<String, BasePosition>> basePositionChange(RoomXmlVOS roomXmlVOS) {
|
|
||||||
Map<String, Map<String, BasePosition>> roomInfos = new HashMap<>();
|
|
||||||
if (roomXmlVOS != null && roomXmlVOS.getRoomXmlVOList() != null && roomXmlVOS.getRoomXmlVOList().size() > 0) {
|
|
||||||
Map<String, BasePosition> basePositions = new HashMap<>();
|
|
||||||
for (RoomXmlVO roomXmlVO : roomXmlVOS.getRoomXmlVOList()) {
|
|
||||||
for (BoxXmlVO boxXmlVO : roomXmlVO.getBoxXmlVOList()) {
|
|
||||||
BasePosition basePosition = BasePosition.builder()
|
|
||||||
.basePointX(Double.valueOf(boxXmlVO.getBasePointX()))
|
|
||||||
.basePointY(Double.valueOf(boxXmlVO.getBasePointY()))
|
|
||||||
.basePointZ(Double.valueOf(boxXmlVO.getBasePointZ()))
|
|
||||||
.axisXrotate(Double.valueOf(boxXmlVO.getAxisXrotate()))
|
|
||||||
.axisYrotate(Double.valueOf(boxXmlVO.getAxisYrotate()))
|
|
||||||
.axisZrotate(Double.valueOf(boxXmlVO.getAxisZrotate()))
|
|
||||||
.build();
|
|
||||||
basePositions.put(boxXmlVO.getCode(), basePosition);
|
|
||||||
}
|
|
||||||
roomInfos.put(roomXmlVO.getCode(), basePositions);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return roomInfos;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 加工组信息转换
|
// 加工组信息转换
|
||||||
public Map<String, OrderGroupDO> groupInfoChange(GroupXmlVOS groupXmlVOS, Long orderId, Long organId) {
|
public Map<String, OrderGroupDO> groupInfoChange(GroupXmlVOS groupXmlVOS, Long orderId, Long organId) {
|
||||||
Map<String, OrderGroupDO> groupInfos = new HashMap<>();
|
Map<String, OrderGroupDO> groupInfos = new HashMap<>();
|
||||||
@@ -143,8 +161,10 @@ public class XmlTypeRealize {
|
|||||||
|
|
||||||
// 房间柜体
|
// 房间柜体
|
||||||
Map<String, Map<String, OrderBodyDO>> roomInfos = bodyInfoChange(orderXmlVO.getRoomXmlVOS(), orderId, organId); // roomInfos 这个在跟着一起变
|
Map<String, Map<String, OrderBodyDO>> roomInfos = bodyInfoChange(orderXmlVO.getRoomXmlVOS(), orderId, organId); // roomInfos 这个在跟着一起变
|
||||||
// 房间柜体基点
|
// 房间基点
|
||||||
Map<String, Map<String, BasePosition>> boxBasePositions = basePositionChange(orderXmlVO.getRoomXmlVOS());
|
Map<String, BasePosition> roomBasePositions = roomBasePositionChange(orderXmlVO.getRoomXmlVOS());
|
||||||
|
// 柜体基点
|
||||||
|
Map<String, Map<String, BasePosition>> boxBasePositions = bodyBasePositionChange(orderXmlVO.getRoomXmlVOS());
|
||||||
// 加工组
|
// 加工组
|
||||||
Map<String, OrderGroupDO> groupInfos = groupInfoChange(orderXmlVO.getGroupXmlVOS(), orderId, organId); // groupInfos 这个在跟着一起变
|
Map<String, OrderGroupDO> groupInfos = groupInfoChange(orderXmlVO.getGroupXmlVOS(), orderId, organId); // groupInfos 这个在跟着一起变
|
||||||
|
|
||||||
@@ -154,7 +174,7 @@ public class XmlTypeRealize {
|
|||||||
Map<String, Object> partsDOInfos = new HashMap<>();
|
Map<String, Object> partsDOInfos = new HashMap<>();
|
||||||
|
|
||||||
|
|
||||||
if (orderXmlVO.getMaterialXmlVO() != null ){
|
if (orderXmlVO.getMaterialXmlVO() != null) {
|
||||||
MaterialXmlVO materialXmlVO = orderXmlVO.getMaterialXmlVO();
|
MaterialXmlVO materialXmlVO = orderXmlVO.getMaterialXmlVO();
|
||||||
if (materialXmlVO.getAccessoryXmlVO() != null && materialXmlVO.getAssemblieXmlVOS() != null && materialXmlVO.getPlateXmlVOS() != null) {
|
if (materialXmlVO.getAccessoryXmlVO() != null && materialXmlVO.getAssemblieXmlVOS() != null && materialXmlVO.getPlateXmlVOS() != null) {
|
||||||
PlateXmlVOS plateXmlVOS = materialXmlVO.getPlateXmlVOS();
|
PlateXmlVOS plateXmlVOS = materialXmlVO.getPlateXmlVOS();
|
||||||
@@ -214,7 +234,7 @@ public class XmlTypeRealize {
|
|||||||
goodsDOs.add(goodsDO);
|
goodsDOs.add(goodsDO);
|
||||||
|
|
||||||
// 小板信息
|
// 小板信息
|
||||||
plateDetail = plateInfoChange(plateXmlVO.getBlockXmlVOS(), orderId, goodsDO.getId(), organId, roomInfos, groupInfos, partsInfos, itemInfos, plateDOs, boxBasePositions);
|
plateDetail = plateInfoChange(plateXmlVO.getBlockXmlVOS(), orderId, goodsDO.getId(), organId, roomInfos, groupInfos, partsInfos, itemInfos, plateDOs, boxBasePositions, roomBasePositions);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -246,17 +266,17 @@ public class XmlTypeRealize {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// id得到
|
// id得到
|
||||||
private Map<String,Long> getId(String roomNo, String BoxNo, Map<String, Map<String, OrderBodyDO>> roomInfos,
|
private Map<String, Long> getId(String roomNo, String BoxNo, Map<String, Map<String, OrderBodyDO>> roomInfos,
|
||||||
String groupNo, Map<String, OrderGroupDO> groupInfos, Double plateNum,
|
String groupNo, Map<String, OrderGroupDO> groupInfos, Double plateNum,
|
||||||
Double unregularNum, Long orderId, Long organId) {
|
Double unregularNum, Long orderId, Long organId) {
|
||||||
Map<String,Long> map = new HashMap<>();
|
Map<String, Long> map = new HashMap<>();
|
||||||
Map<String, OrderBodyDO> bodyMap = roomInfos.get(roomNo);
|
Map<String, OrderBodyDO> bodyMap = roomInfos.get(roomNo);
|
||||||
OrderBodyDO bodyDO;
|
OrderBodyDO bodyDO;
|
||||||
if (bodyMap == null){
|
if (bodyMap == null) {
|
||||||
bodyMap = new HashMap<>();
|
bodyMap = new HashMap<>();
|
||||||
roomInfos.put(roomNo, bodyMap);
|
roomInfos.put(roomNo, bodyMap);
|
||||||
}
|
}
|
||||||
if ( bodyMap.containsKey(BoxNo)) {
|
if (bodyMap.containsKey(BoxNo)) {
|
||||||
bodyDO = bodyMap.get(BoxNo);
|
bodyDO = bodyMap.get(BoxNo);
|
||||||
bodyDO.setPlateNum((int) (bodyDO.getPlateNum() + plateNum + unregularNum))
|
bodyDO.setPlateNum((int) (bodyDO.getPlateNum() + plateNum + unregularNum))
|
||||||
.setUnregularNum((int) (bodyDO.getUnregularNum() + unregularNum));
|
.setUnregularNum((int) (bodyDO.getUnregularNum() + unregularNum));
|
||||||
@@ -281,7 +301,7 @@ public class XmlTypeRealize {
|
|||||||
Long roomId = bodyDO.getRoomId();
|
Long roomId = bodyDO.getRoomId();
|
||||||
Long bodyId = bodyDO.getId();
|
Long bodyId = bodyDO.getId();
|
||||||
// 加工组
|
// 加工组
|
||||||
OrderGroupDO orderGroupDO = groupInfos.get(groupNo);
|
OrderGroupDO orderGroupDO = groupInfos.get(groupNo);
|
||||||
Long groupId = 0L;
|
Long groupId = 0L;
|
||||||
if (orderGroupDO != null) {
|
if (orderGroupDO != null) {
|
||||||
groupId = orderGroupDO.getId();
|
groupId = orderGroupDO.getId();
|
||||||
@@ -293,6 +313,7 @@ public class XmlTypeRealize {
|
|||||||
map.put("groupId", groupId);
|
map.put("groupId", groupId);
|
||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 配件信息转换
|
// 配件信息转换
|
||||||
public Map<String, Map<String, Object>> goodsInfoChange(AccessoryXmlVO accessoryXmlVO, AssemblieXmlVOS assemblieXmlVOS, Long orderId, Long organId,
|
public Map<String, Map<String, Object>> goodsInfoChange(AccessoryXmlVO accessoryXmlVO, AssemblieXmlVOS assemblieXmlVOS, Long orderId, Long organId,
|
||||||
Map<String, Map<String, OrderBodyDO>> roomInfos, Map<String, OrderGroupDO> groupInfos) {
|
Map<String, Map<String, OrderBodyDO>> roomInfos, Map<String, OrderGroupDO> groupInfos) {
|
||||||
@@ -305,9 +326,24 @@ public class XmlTypeRealize {
|
|||||||
if (accessoryXmlVO != null) {
|
if (accessoryXmlVO != null) {
|
||||||
if (accessoryXmlVO.getEdgingXmlVOS() != null && accessoryXmlVO.getEdgingXmlVOS().getEdgingXmlVOList() != null && accessoryXmlVO.getEdgingXmlVOS().getEdgingXmlVOList().size() > 0) {
|
if (accessoryXmlVO.getEdgingXmlVOS() != null && accessoryXmlVO.getEdgingXmlVOS().getEdgingXmlVOList() != null && accessoryXmlVO.getEdgingXmlVOS().getEdgingXmlVOList().size() > 0) {
|
||||||
EdgingXmlVOS edgingXmlVOS = accessoryXmlVO.getEdgingXmlVOS();
|
EdgingXmlVOS edgingXmlVOS = accessoryXmlVO.getEdgingXmlVOS();
|
||||||
|
// 以itemCode为条件进行分组,成map
|
||||||
|
Map<String, List<EdgingXmlVO>> edgingMap = edgingXmlVOS.getEdgingXmlVOList().stream().collect(Collectors.groupingBy(EdgingXmlVO::getItemCode));
|
||||||
|
// 遍历map
|
||||||
|
edgingMap.forEach((key, value) -> {
|
||||||
|
if (key == null) { // 没有itemCode
|
||||||
|
Map<String, List<EdgingXmlVO>> edgingMapWithNull = value.stream().collect(Collectors.groupingBy(edgingXmlVO ->
|
||||||
|
edgingXmlVO.getManufacturer() + edgingXmlVO.getBrand() + edgingXmlVO.getName() + edgingXmlVO.getMaterial() +
|
||||||
|
edgingXmlVO.getSpecs() + edgingXmlVO.getColor() + edgingXmlVO.getWidth() + edgingXmlVO.getThickness())) ;
|
||||||
|
|
||||||
|
edgingMapWithNull.forEach((term, list) -> {
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
for (EdgingXmlVO edgingXmlVO : edgingXmlVOS.getEdgingXmlVOList()) {
|
for (EdgingXmlVO edgingXmlVO : edgingXmlVOS.getEdgingXmlVOList()) {
|
||||||
|
|
||||||
Map<String,Long> idMap = getId(edgingXmlVO.getRoomCode(), edgingXmlVO.getBoxCode(), roomInfos, edgingXmlVO.getGroupCode(), groupInfos, 0.0, 0.0, orderId, organId);
|
Map<String, Long> idMap = getId(edgingXmlVO.getRoomCode(), edgingXmlVO.getBoxCode(), roomInfos, edgingXmlVO.getGroupCode(), groupInfos, 0.0, 0.0, orderId, organId);
|
||||||
|
|
||||||
Long partsId = (Long) identifierGenerator.nextId(null);
|
Long partsId = (Long) identifierGenerator.nextId(null);
|
||||||
orderPartsMap.put(edgingXmlVO.getItemCode(), OrderPartsAddVO.builder()
|
orderPartsMap.put(edgingXmlVO.getItemCode(), OrderPartsAddVO.builder()
|
||||||
@@ -368,7 +404,7 @@ public class XmlTypeRealize {
|
|||||||
HardwareXmlVOS hardwareXmlVOS = accessoryXmlVO.getHardwareXmlVOS();
|
HardwareXmlVOS hardwareXmlVOS = accessoryXmlVO.getHardwareXmlVOS();
|
||||||
for (HardwareXmlVO hardwareXmlVO : hardwareXmlVOS.getHardwareXmlVOList()) {
|
for (HardwareXmlVO hardwareXmlVO : hardwareXmlVOS.getHardwareXmlVOList()) {
|
||||||
|
|
||||||
Map<String,Long> idMap = getId(hardwareXmlVO.getRoomCode(), hardwareXmlVO.getBoxCode(), roomInfos, hardwareXmlVO.getGroupCode(), groupInfos, 0.0, 0.0,orderId, organId);
|
Map<String, Long> idMap = getId(hardwareXmlVO.getRoomCode(), hardwareXmlVO.getBoxCode(), roomInfos, hardwareXmlVO.getGroupCode(), groupInfos, 0.0, 0.0, orderId, organId);
|
||||||
|
|
||||||
Long partsId = (Long) identifierGenerator.nextId(null);
|
Long partsId = (Long) identifierGenerator.nextId(null);
|
||||||
orderPartsMap.put(hardwareXmlVO.getItemCode(), OrderPartsAddVO.builder()
|
orderPartsMap.put(hardwareXmlVO.getItemCode(), OrderPartsAddVO.builder()
|
||||||
@@ -432,7 +468,7 @@ public class XmlTypeRealize {
|
|||||||
for (AssemblyXmlVO assemblyXmlVO : assemblieXmlVOS.getAssemblyXmlVOList()) {
|
for (AssemblyXmlVO assemblyXmlVO : assemblieXmlVOS.getAssemblyXmlVOList()) {
|
||||||
|
|
||||||
if (assemblyXmlVO != null && assemblyXmlVO.toString().length() > 0) {
|
if (assemblyXmlVO != null && assemblyXmlVO.toString().length() > 0) {
|
||||||
Map<String,Long> idMap = getId(assemblyXmlVO.getRoomCode(), assemblyXmlVO.getBoxCode(), roomInfos, assemblyXmlVO.getGroupCode(), groupInfos, 0.0, 0.0, orderId, organId);
|
Map<String, Long> idMap = getId(assemblyXmlVO.getRoomCode(), assemblyXmlVO.getBoxCode(), roomInfos, assemblyXmlVO.getGroupCode(), groupInfos, 0.0, 0.0, orderId, organId);
|
||||||
|
|
||||||
Long partsId = (Long) identifierGenerator.nextId(null);
|
Long partsId = (Long) identifierGenerator.nextId(null);
|
||||||
orderPartsMap.put(assemblyXmlVO.getItemCode(), OrderPartsAddVO.builder()
|
orderPartsMap.put(assemblyXmlVO.getItemCode(), OrderPartsAddVO.builder()
|
||||||
@@ -499,9 +535,9 @@ public class XmlTypeRealize {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public List<Object> plateInfoChange(BlockXmlVOS blockXmlVOS, Long orderId, Long goodsId, Long organId,
|
public List<Object> plateInfoChange(BlockXmlVOS blockXmlVOS, Long orderId, Long goodsId, Long organId,
|
||||||
Map<String, Map<String, OrderBodyDO>> roomInfos, Map<String, OrderGroupDO> groupInfos,
|
Map<String, Map<String, OrderBodyDO>> roomInfos, Map<String, OrderGroupDO> groupInfos,
|
||||||
Map<String, Object> partsMap, Map<String, Object> orderItemMap, List<Object> plateDOs,
|
Map<String, Object> partsMap, Map<String, Object> orderItemMap, List<Object> plateDOs,
|
||||||
Map<String, Map<String, BasePosition>> boxBasePositionMap) {
|
Map<String, Map<String, BasePosition>> boxBasePositionMap, Map<String, BasePosition> roomBasePositions) {
|
||||||
List<Object> plateDetails = new ArrayList<>();
|
List<Object> plateDetails = new ArrayList<>();
|
||||||
|
|
||||||
if (blockXmlVOS != null && blockXmlVOS.getBlockXmlVOList() != null && blockXmlVOS.getBlockXmlVOList().size() > 0) {
|
if (blockXmlVOS != null && blockXmlVOS.getBlockXmlVOList() != null && blockXmlVOS.getBlockXmlVOList().size() > 0) {
|
||||||
@@ -510,23 +546,35 @@ public class XmlTypeRealize {
|
|||||||
long plateNo = idWorker.nextId();
|
long plateNo = idWorker.nextId();
|
||||||
long obtainingTime = idWorker.obtainingTime();
|
long obtainingTime = idWorker.obtainingTime();
|
||||||
Long plateId = (Long) identifierGenerator.nextId(null);
|
Long plateId = (Long) identifierGenerator.nextId(null);
|
||||||
BigDecimal area = BigDecimal.valueOf((Double.parseDouble(blockXmlVO.getWidth()) / 1000) * (Double.parseDouble(blockXmlVO.getLength()) / 1000) );
|
BigDecimal area = BigDecimal.valueOf((Double.parseDouble(blockXmlVO.getWidth()) / 1000) * (Double.parseDouble(blockXmlVO.getLength()) / 1000));
|
||||||
// 开料面积
|
// 开料面积
|
||||||
BigDecimal sealAcreage = BigDecimal.valueOf( (Double.parseDouble(blockXmlVO.getCuttingWidth()) / 1000) * ( Double.parseDouble(blockXmlVO.getCuttingLength()) / 1000));
|
BigDecimal sealAcreage = BigDecimal.valueOf((Double.parseDouble(blockXmlVO.getCuttingWidth()) / 1000) * (Double.parseDouble(blockXmlVO.getCuttingLength()) / 1000));
|
||||||
// 开门类型获取
|
// 开门类型获取
|
||||||
Integer doorType = Integer.valueOf(dictDataApi.parseDictData(DictTypeConstants.DOOR_OPENING_DIRECTIONS, blockXmlVO.getOpenDirection()).getData().getValue());
|
int doorType = Integer.parseInt(dictDataApi.parseDictData(DictTypeConstants.DOOR_OPENING_DIRECTIONS, blockXmlVO.getOpenDirection()).getData().getValue());
|
||||||
|
|
||||||
// 板材获取
|
// 板材获取
|
||||||
Double plateNum = 0.0;
|
double plateNum = 0.0;
|
||||||
Double unregularNum = 0.0;
|
double unregularNum = 0.0;
|
||||||
if (convertToBoolean(blockXmlVO.getUnregular())){
|
if (convertToBoolean(blockXmlVO.getUnregular())) {
|
||||||
unregularNum = 1.0;
|
unregularNum = 1.0;
|
||||||
}else {
|
} else {
|
||||||
plateNum = 1.0;
|
plateNum = 1.0;
|
||||||
}
|
}
|
||||||
Map<String,Long> idMap = getId(blockXmlVO.getRoomCode(), blockXmlVO.getBoxCode(), roomInfos, blockXmlVO.getGroupCode(), groupInfos, plateNum, unregularNum, orderId, organId);
|
Map<String, Long> idMap = getId(blockXmlVO.getRoomCode(), blockXmlVO.getBoxCode(), roomInfos, blockXmlVO.getGroupCode(), groupInfos, plateNum, unregularNum, orderId, organId);
|
||||||
BasePosition boxBasePoint = boxBasePositionMap.get(blockXmlVO.getRoomCode()).get(blockXmlVO.getBoxCode()).setBasePoint(String.valueOf(idMap.get("bodyId")));
|
// 出错 null
|
||||||
|
// 柜体基点坐标
|
||||||
|
BasePosition boxBasePoint = null;
|
||||||
|
if (boxBasePositionMap.get(blockXmlVO.getRoomCode()) != null){
|
||||||
|
if (boxBasePositionMap.get(blockXmlVO.getRoomCode()).get(blockXmlVO.getBoxCode()) != null){
|
||||||
|
boxBasePoint = boxBasePositionMap.get(blockXmlVO.getRoomCode()).get(blockXmlVO.getBoxCode()).setBasePoint(String.valueOf(idMap.get("bodyId")));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 房间基点坐标
|
||||||
|
BasePosition roomBasePoint = null;
|
||||||
|
if (roomBasePositions.get(blockXmlVO.getRoomCode()) != null){
|
||||||
|
roomBasePoint = roomBasePositions.get(blockXmlVO.getRoomCode());
|
||||||
|
}
|
||||||
PlateDO plateDO = PlateDO.builder()
|
PlateDO plateDO = PlateDO.builder()
|
||||||
.id(plateId)
|
.id(plateId)
|
||||||
.organId(organId)
|
.organId(organId)
|
||||||
@@ -585,6 +633,7 @@ public class XmlTypeRealize {
|
|||||||
.plateWidth(plateDO.getWidth())
|
.plateWidth(plateDO.getWidth())
|
||||||
.plateLength(plateDO.getHeight())
|
.plateLength(plateDO.getHeight())
|
||||||
.acreage(plateDO.getArea())
|
.acreage(plateDO.getArea())
|
||||||
|
.roomBasePosition(roomBasePoint)
|
||||||
.bodyBasePosition(boxBasePoint)
|
.bodyBasePosition(boxBasePoint)
|
||||||
.plateBasePosition(plateBasePosition)
|
.plateBasePosition(plateBasePosition)
|
||||||
.splitLength(BigDecimal.valueOf(Long.parseLong(blockXmlVO.getCuttingLength())))
|
.splitLength(BigDecimal.valueOf(Long.parseLong(blockXmlVO.getCuttingLength())))
|
||||||
@@ -662,7 +711,7 @@ public class XmlTypeRealize {
|
|||||||
Double x = Double.parseDouble(pointXmlVO.getPointX());
|
Double x = Double.parseDouble(pointXmlVO.getPointX());
|
||||||
Double y = Double.parseDouble(pointXmlVO.getPointY());
|
Double y = Double.parseDouble(pointXmlVO.getPointY());
|
||||||
OrderPartsAddVO edging = (OrderPartsAddVO) edgIng.get(pointXmlVO.getItemCode());
|
OrderPartsAddVO edging = (OrderPartsAddVO) edgIng.get(pointXmlVO.getItemCode());
|
||||||
if (edging != null){
|
if (edging != null) {
|
||||||
size = edging.getThickness();
|
size = edging.getThickness();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-4
@@ -73,9 +73,6 @@ public interface PlateMapper extends BaseMapperX<PlateDO> {
|
|||||||
PlateDO selectOneById(@Param("id") Long id, @Param("organId") Long organId);
|
PlateDO selectOneById(@Param("id") Long id, @Param("organId") Long organId);
|
||||||
|
|
||||||
default Boolean isByGoodID(String goodId , Long organId) {
|
default Boolean isByGoodID(String goodId , Long organId) {
|
||||||
if (selectOne(PlateDO::getGoodsId, goodId, PlateDO::getOrganId, organId) != null) {
|
return selectList(PlateDO::getGoodsId, goodId, PlateDO::getOrganId, organId).size() > 0;
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -75,7 +75,7 @@ public class PlateServiceImpl implements PlateService {
|
|||||||
getOrganId(BASE_PLATE_UPDATE_PERMISSION, getLoginUser().getId(), updateReqVO.getOrganId()));
|
getOrganId(BASE_PLATE_UPDATE_PERMISSION, getLoginUser().getId(), updateReqVO.getOrganId()));
|
||||||
PlateDO updateObj = BeanUtils.toBean(updateReqVO, PlateDO.class);
|
PlateDO updateObj = BeanUtils.toBean(updateReqVO, PlateDO.class);
|
||||||
// 校验板材goods_id是否相同
|
// 校验板材goods_id是否相同
|
||||||
if (!plateMapper.isByGoodID(updateReqVO.getGoodsId(), getLoginUser().getId())) {
|
if (plateMapper.isByGoodID(updateReqVO.getGoodsId(), getLoginUser().getId())) {
|
||||||
throw exception(PLATE_GOODS_ID_NOT_SAME);
|
throw exception(PLATE_GOODS_ID_NOT_SAME);
|
||||||
}
|
}
|
||||||
plateMapper.updateById(updateObj);
|
plateMapper.updateById(updateObj);
|
||||||
|
|||||||
+10
-10
@@ -14,16 +14,16 @@ class MachineServiceImplTest {
|
|||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private MachineService machineService;
|
private MachineService machineService;
|
||||||
@Test
|
// @Test
|
||||||
void create() {
|
// void create() {
|
||||||
OrganContextHolder.setOrganId(1L);
|
// OrganContextHolder.setOrganId(1L);
|
||||||
for (int i = 0; i < 20; i++) {
|
// for (int i = 0; i < 20; i++) {
|
||||||
CuttingSaveReqVO saveReqVO = randomPojo(CuttingSaveReqVO.class);
|
// CuttingSaveReqVO saveReqVO = randomPojo(CuttingSaveReqVO.class);
|
||||||
saveReqVO.setId(null);
|
// saveReqVO.setId(null);
|
||||||
Long aLong = machineService.createCutting(saveReqVO);
|
// Long aLong = machineService.createCutting(saveReqVO);
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
}
|
// }
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void update() {
|
void update() {
|
||||||
|
|||||||
Reference in New Issue
Block a user