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:
+15
-1
@@ -409,7 +409,7 @@ public class OrderController {
|
||||
}
|
||||
|
||||
@PostMapping("/get-platesDetailsPage")
|
||||
@Operation(summary = "生产单详情-板材详细信息(分页)")
|
||||
@Operation(summary = "生产单详情-板件详细信息(分页)")
|
||||
@PreAuthorize("@ss.hasPermission('production:manager-list:detail')")
|
||||
public CommonResult<PageResult<OrderPlatesDetailReqVO>> platesDetails(@Valid @RequestBody OrderBodyPageRespVO orderBodyPageRespVO) {
|
||||
if (orderBodyPageRespVO.getDeleted() == null) {
|
||||
@@ -434,6 +434,20 @@ public class OrderController {
|
||||
orderBodyPageRespVO.getPageNo(), orderBodyPageRespVO.getPageSize(), !orderBodyPageRespVO.getDeleted() ? 0 : 1));
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/get-goodsDetailsPage")
|
||||
@Operation(summary = "生产单详情-板材详细信息(分页)")
|
||||
@PreAuthorize("@ss.hasPermission('production:manager-list:detail')")
|
||||
public CommonResult<PageResult<OrderGoodsDetailRespVO>> goodsDetails(@Valid @RequestBody OrderBodyPageRespVO orderBodyPageRespVO) {
|
||||
if (orderBodyPageRespVO.getDeleted() == null) {
|
||||
orderBodyPageRespVO.setDeleted(false);
|
||||
}
|
||||
return success(orderService.getGoodsDetail(orderBodyPageRespVO.getOrderId(),
|
||||
orderBodyPageRespVO.getRoomIds(), orderBodyPageRespVO.getBodyIds(),
|
||||
orderBodyPageRespVO.getGroupIds(), orderBodyPageRespVO.getGoodsId(),
|
||||
orderBodyPageRespVO.getPageNo(), orderBodyPageRespVO.getPageSize(), !orderBodyPageRespVO.getDeleted() ? 0 : 1));
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete-body")
|
||||
@Operation(summary = "删除柜体")
|
||||
@PreAuthorize("@ss.hasPermission('production:manager-list:deleteCabinet')")
|
||||
|
||||
+3
@@ -32,6 +32,9 @@ public class OrderBodyPageRespVO extends PageParam {
|
||||
@Schema(description = "配件名称", example = "1024")
|
||||
private String partsName;
|
||||
|
||||
@Schema(description = "板材id", example = "1024")
|
||||
private Set<Long> goodsId;
|
||||
|
||||
@Schema(description = "是否删除", example = "false")
|
||||
private Boolean deleted;
|
||||
}
|
||||
|
||||
+59
@@ -0,0 +1,59 @@
|
||||
package com.cf.imes.module.executor.controller.admin.order.vo.order;
|
||||
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@Schema(description = "管理后台 - 生产单板材表 order_parts_{N} Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class OrderGoodsDetailRespVO {
|
||||
|
||||
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "生产单号", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Long orderId;
|
||||
|
||||
@Schema(description = "客户的商品编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
private String goodsId;
|
||||
|
||||
@Schema(description = "商品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
|
||||
private String goodsName;
|
||||
|
||||
@Schema(description = "材质:颗粒板、欧松板、多层板、生态板、禾香板、密度板、实木、铝蜂窝板、铝塑板", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String material;
|
||||
|
||||
@Schema(description = "颜色", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String color;
|
||||
|
||||
@Schema(description = "纹理", example = "true")
|
||||
private Boolean texture;
|
||||
|
||||
@Schema(description = "宽度", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Double width;
|
||||
|
||||
@Schema(description = "高度", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Double height;
|
||||
|
||||
@Schema(description = "厚度", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Double thickness;
|
||||
|
||||
@Schema(description = "品牌", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String brand;
|
||||
|
||||
@Schema(description = "规格", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String spec;
|
||||
|
||||
@Schema(description = "小板片数", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
private Integer number;
|
||||
|
||||
@Schema(description = "小板总面积", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
private Double area;
|
||||
|
||||
@Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "随便")
|
||||
private String remark;
|
||||
|
||||
private Long organId;
|
||||
}
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
package com.cf.imes.module.executor.controller.admin.order.vo.order;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 板材生产单关系表
|
||||
*/
|
||||
@Schema(description = "管理后台 - 板材生产单关系表 order Response VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class OrderGoodsRespVO {
|
||||
|
||||
@Schema(description = "生产单号", requiredMode = Schema.RequiredMode.REQUIRED, example = "20230414026120")
|
||||
private Long orderId;
|
||||
|
||||
@Schema(description = "房间Id", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Long roomId;
|
||||
|
||||
@Schema(description = "柜体Id", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Long bodyId;
|
||||
|
||||
@Schema(description = "加工组Id", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Long groupId;
|
||||
|
||||
@Schema(description = "板材名称", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private String goodsName;
|
||||
|
||||
@Schema(description = "板材id", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Long goodsId;
|
||||
|
||||
@Schema(description = "小板片数", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Integer totalPlates;
|
||||
|
||||
@Schema(description = "小班面积", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private Double totalArea;
|
||||
}
|
||||
+1
-1
@@ -21,7 +21,7 @@ public class OrderPlatesDetailReqVO {
|
||||
@Schema(description = "板名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "晨丰")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "自定义板名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "晨丰")
|
||||
@Schema(description = "板编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "晨丰")
|
||||
private String plateNo;
|
||||
|
||||
@Schema(description = "材质", requiredMode = Schema.RequiredMode.REQUIRED, example = "晨丰")
|
||||
|
||||
+1
-1
@@ -23,7 +23,7 @@ public class OrderPartsRemark extends ESDocument {
|
||||
@Schema(description = "备注")
|
||||
private String remark;
|
||||
|
||||
@Schema(description = "五金额外规格")
|
||||
@Schema(description = "额外规格")
|
||||
private String specExtras;
|
||||
|
||||
@Schema(description = "门板组件铰链备注")
|
||||
|
||||
+1
-1
@@ -38,7 +38,7 @@ public class PlateDO extends BaseDO {
|
||||
*/
|
||||
private String name;
|
||||
/**
|
||||
* 自定义板编号,设计有板编号,则保留设计板编号;设计没有且在机台设置中设置了自定义板编号规则,则按规则自动生成
|
||||
* 组织中唯一板编号
|
||||
*/
|
||||
private String plateNo;
|
||||
/**
|
||||
|
||||
+10
@@ -3,6 +3,8 @@ package com.cf.imes.module.executor.dal.mysql.orderItem;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX;
|
||||
import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderGoodsDetailRespVO;
|
||||
import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderGoodsRespVO;
|
||||
import com.cf.imes.module.executor.controller.admin.order.vo.order.OrderPlatesDetailRespVO;
|
||||
import com.cf.imes.module.executor.controller.admin.orderParts.vo.OrderPartsRespVO;
|
||||
import com.cf.imes.module.executor.controller.admin.plate.vo.PlateDetailReqVO;
|
||||
@@ -117,4 +119,12 @@ public interface OrderItemMapper extends BaseMapperX<OrderItemDO> {
|
||||
|
||||
|
||||
void deletePackList(@Param("orderId") Long orderId,@Param("packIds") List<Long> packIds,@Param("organId") Long organId);
|
||||
|
||||
List<OrderGoodsRespVO> selectGoodsByOrderId(@Param("orderId") Long orderId,
|
||||
@Param("organId") Long organId,
|
||||
@Param("deleted") Integer deleted);
|
||||
|
||||
IPage<OrderGoodsDetailRespVO> selectGoodsDetailByOrderId(@Param("page") IPage page, @Param("orderId") Long orderId, @Param("roomId") Set<Long> roomId,
|
||||
@Param("bodyId") Set<Long> bodyId, @Param("groupId") Set<Long> groupId, @Param("goodsId") Set<Long> goodsId,
|
||||
@Param("organId") Long organId, @Param("deleted") Integer deleted);
|
||||
}
|
||||
+8
-4
@@ -105,10 +105,14 @@ public class OrderInputProcessor {
|
||||
* @param itemDOS
|
||||
*/
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void batchInsert(Collection<RawGoodsDO> rawGoodsDOS, Collection<OrderBodyDO> orderBodyDOS,
|
||||
Collection<OrderGroupDO> orderGroupDOS, Collection<OrderPartsDO> orderPartsDOS,
|
||||
Collection<PlateDO> plateDOS, Collection<OrderItemDO> itemDOS,
|
||||
Collection<GoodsDO> goodsDOS, Collection<PlateGoodDO> plateGoodDOS) {
|
||||
public void batchInsert(Collection<RawGoodsDO> rawGoodsDOS,
|
||||
Collection<OrderBodyDO> orderBodyDOS,
|
||||
Collection<OrderGroupDO> orderGroupDOS,
|
||||
Collection<OrderPartsDO> orderPartsDOS,
|
||||
Collection<PlateDO> plateDOS,
|
||||
Collection<OrderItemDO> itemDOS,
|
||||
Collection<GoodsDO> goodsDOS,
|
||||
Collection<PlateGoodDO> plateGoodDOS) {
|
||||
|
||||
|
||||
// if (rawGoodsDOS != null)
|
||||
|
||||
+9
-2
@@ -82,6 +82,15 @@ public interface OrderService {
|
||||
*/
|
||||
PageResult<OrderPartsRespVO> getPartsDetail(Long orderId, Set<Long> roomId , Set<Long> bodyId, Set<Long> groupId, String name, Integer pageNo, Integer pageSize, Integer deleted);
|
||||
|
||||
/**
|
||||
* @param orderId: 生产单id
|
||||
* @param roomId: 房间id
|
||||
* @param bodyId: 柜体id
|
||||
* @return List<OrderGoodsDetailRespVO>
|
||||
* 需要修改返回值
|
||||
*/
|
||||
PageResult<OrderGoodsDetailRespVO> getGoodsDetail(Long orderId, Set<Long> roomId , Set<Long> bodyId, Set<Long> groupId, Set<Long> goodsId, Integer pageNo, Integer pageSize, Integer deleted);
|
||||
|
||||
/**
|
||||
* 删除柜体/柜体还原
|
||||
* @param orderId: 生产单id
|
||||
@@ -95,8 +104,6 @@ public interface OrderService {
|
||||
/**
|
||||
* @param listMap:生产单号
|
||||
* @return Boolean
|
||||
* @author Administrator
|
||||
* @date 2024/3/30
|
||||
*/
|
||||
Long importApiData(Map<String, Object> listMap);
|
||||
|
||||
|
||||
+15
-1
@@ -49,6 +49,7 @@ import com.cf.imes.module.executor.dal.mysql.rawgoods.RawGoodsMapper;
|
||||
import com.cf.imes.module.executor.enums.OrderDeletedEnum;
|
||||
import com.cf.imes.module.executor.enums.OrderStatusEnum;
|
||||
import com.cf.imes.module.executor.service.plan.PlanService;
|
||||
import com.cf.imes.module.executor.util.deviseData.structure.FieldConstants;
|
||||
import com.cf.imes.module.executor.util.deviseData.structure.PlateDetail;
|
||||
import com.cf.imes.module.executor.util.fileConversion.admin.SnowflakeIdWorker3rd;
|
||||
import org.springframework.aop.framework.AopContext;
|
||||
@@ -215,9 +216,13 @@ public class OrderServiceImpl implements OrderService {
|
||||
// 配件
|
||||
List<OrderPlatesDetailRespVO> orderItemDOS = orderItemMapper.selectPartsByOrderId(orderId, getUserOrganId(), deleted);
|
||||
|
||||
// 板材
|
||||
List<OrderGoodsRespVO> orderGoodsRespVOS = orderItemMapper.selectGoodsByOrderId(orderId, getUserOrganId(), deleted);
|
||||
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("module", orderModuleRespVOList);
|
||||
map.put("parts", orderItemDOS);
|
||||
map.put("goods", orderGoodsRespVOS);
|
||||
return map;
|
||||
}
|
||||
|
||||
@@ -241,6 +246,15 @@ public class OrderServiceImpl implements OrderService {
|
||||
return new PageResult(orderDetail.getRecords(), orderDetail.getTotal());
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageResult<OrderGoodsDetailRespVO> getGoodsDetail(Long orderId, Set<Long> roomId, Set<Long> bodyId, Set<Long> groupId, Set<Long> goodsId, Integer pageNo, Integer pageSize, Integer deleted) {
|
||||
PageDTO<OrderGoodsDetailRespVO> page = new PageDTO<>(pageNo, pageSize);
|
||||
|
||||
IPage<OrderGoodsDetailRespVO> goodsDetail = orderItemMapper.selectGoodsDetailByOrderId(page, orderId, roomId, bodyId, groupId, goodsId, getUserOrganId(), deleted);
|
||||
|
||||
return new PageResult(goodsDetail.getRecords(), goodsDetail.getTotal());
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateDeleteBody(Long orderId, Set<Long> roomIds, Long bodyId, Integer status) { // 要删除传1,还原传0
|
||||
@@ -369,7 +383,7 @@ public class OrderServiceImpl implements OrderService {
|
||||
List<OrderBodyDO> bodyDO = (List<OrderBodyDO>) listMap.get("bodyDO");
|
||||
List<OrderGroupDO> groupDO = (List<OrderGroupDO>) listMap.get("groupDO");
|
||||
List<OrderPartsDO> partsDO = (List<OrderPartsDO>) listMap.get("partsDO");
|
||||
List<PlateDO> plateDO = (List<PlateDO>) listMap.get("platesDO");
|
||||
List<PlateDO> plateDO = (List<PlateDO>) listMap.get(FieldConstants.PLATE);
|
||||
List<PlateDetail> plateDetail = (List<PlateDetail>) listMap.get("plateDetail");
|
||||
List<OrderItemDO> itemDO = (List<OrderItemDO>) listMap.get("itemDO");
|
||||
List<OrderPartsRemark> partsRemark = (List<OrderPartsRemark>) listMap.get("partsRemark");
|
||||
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
package com.cf.imes.module.executor.util.deviseData.structure;
|
||||
|
||||
/**
|
||||
* 数据格式转换对应的常量
|
||||
*/
|
||||
public class FieldConstants {
|
||||
|
||||
public static final String ORDER = "orderDO";
|
||||
public static final String BODY = "bodyDO";
|
||||
public static final String GROUP = "groupDO";
|
||||
public static final String GOODS = "goodsDO";
|
||||
public static final String RAW_GOODS = "rawGoodsDO";
|
||||
public static final String PARTS = "partsDO";
|
||||
public static final String PLATE = "plateDO";
|
||||
public static final String ITEM = "itemDO";
|
||||
public static final String PLATE_DETAIL = "plateDetail";
|
||||
|
||||
public static final String PARTS_REMARK = "partsRemark";
|
||||
|
||||
}
|
||||
+8
-9
@@ -1,7 +1,6 @@
|
||||
package com.cf.imes.module.executor.util.deviseData.structure;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
@@ -57,7 +56,7 @@ public class PlateDetail{
|
||||
// 板材所属加工组
|
||||
private String group;// 板件加工组Group的名称,可以有多个
|
||||
// 加工组具体信息
|
||||
private List<Group> groupList;
|
||||
// private List<Group> groupList;
|
||||
|
||||
// 成品长宽、面积
|
||||
private BigDecimal plateWidth;
|
||||
@@ -83,11 +82,11 @@ public class PlateDetail{
|
||||
private BigDecimal offsetY;
|
||||
|
||||
// 大板基本信息
|
||||
private BoardInfo boardInfo;
|
||||
// private BoardInfo boardInfo;
|
||||
// 配件基本信息
|
||||
private List<PartsInfo> partsInfos;
|
||||
private List<PartsInfo> partsInfos; // xml中有,估计之后不需要
|
||||
// 排钻类型
|
||||
private List<DrillsInfo> drillsInfos;
|
||||
private List<DrillsInfo> drillsInfos; // api中有
|
||||
|
||||
private Double throughHoleCount; // 挖孔的孔数
|
||||
private Double throughModelCount; // 挖穿的造型数
|
||||
@@ -103,11 +102,11 @@ public class PlateDetail{
|
||||
private List<PointDetail> rawPointDetail ; //原始点明细(含封边)
|
||||
private List<PointDetail> basePointDetail ; //坯料点明细
|
||||
|
||||
private Map<String,Integer> holeCount;//孔类型数量集合
|
||||
private Map<String,Integer> holeCount;//孔类型数量集合 (xml中特有----孔类型,对应的数量)
|
||||
private List<HoleDetail> holeDetail ; //孔明细,表示板上的孔
|
||||
private Map<String,Integer> contourCount;//凹槽数量集合
|
||||
private List<ModelDetail> contourDetail ; //造型明细(凹槽)
|
||||
private List<ModelDetail> isletsDetail ; //造型明细(孤岛)
|
||||
private Map<String,Integer> contourCount;//凹槽数量集合 (xml中特有----槽所在板面的对应数量)
|
||||
private List<ModelDetail> contourDetail ; //造型明细(xml中为凹槽,将孤岛的信息放入槽中)
|
||||
// private List<ModelDetail> isletsDetail ; //造型明细(孤岛)不需要
|
||||
|
||||
private List<HoleDetail> sideHoleDetail;//侧面孔明细
|
||||
|
||||
|
||||
+3
-2
@@ -50,9 +50,10 @@ public class SnowflakeIdWorker3rd {
|
||||
/** 测试 */
|
||||
public static void main(String[] args) {
|
||||
SnowflakeIdWorker3rd idWorker = new SnowflakeIdWorker3rd();
|
||||
for (int i = 0; i < 1000; i++) {
|
||||
long obtainingTime = idWorker.obtainingTime();
|
||||
for (int i = 0; i < 10001; i++) {
|
||||
long id = idWorker.nextId();
|
||||
System.out.println(i + ": " + id + " " + "2406" + Long.toString(id).substring(2));
|
||||
System.out.println(i + ": " + id + " " + obtainingTime + Long.toString(id).substring(2));
|
||||
}
|
||||
// long id = idWorker.nextId();
|
||||
// System.out.println(id);
|
||||
|
||||
+382
-314
File diff suppressed because it is too large
Load Diff
+282
@@ -0,0 +1,282 @@
|
||||
package com.cf.imes.module.executor.util.fileConversion.admin.api.webcad;
|
||||
|
||||
/**
|
||||
* 原系统生产接口返回字段对应参数常量
|
||||
*/
|
||||
public class ProduceApiConstants {
|
||||
|
||||
public static final String VALUE = "value";
|
||||
public static final String LIST = "List";
|
||||
public static final String DATA = "data";
|
||||
public static final String CODE = "err_code";
|
||||
public static final String ZERO = "0";
|
||||
public static final String ONE = "1";
|
||||
|
||||
|
||||
// ========== getApiOrderPartsMessage partsList 配件明细模块 ==========
|
||||
public static final String PD_ROOM_ID = "RoomID"; // 房间标识
|
||||
public static final String PD_BOX_ID = "BoxID"; // 柜体标识
|
||||
public static final String PD_NAME = "Name"; // 配件名称
|
||||
public static final String PD_BRAND = "Brand"; // 配件品牌
|
||||
public static final String PD_FACTORY = "Factory"; // 配件厂商
|
||||
public static final String PD_ITEM_NO = "ItemNo"; // 配件编号
|
||||
public static final String PD_DATA_ID = "DataID"; // 配件标识
|
||||
public static final String PD_GOODS_ID = "GoodsID"; // 商品对应标识
|
||||
public static final String PD_MODEL = "Model"; // 配件型号
|
||||
public static final String PD_NUM = "Num"; // 配件数量
|
||||
public static final String PD_SPEC = "Spec"; // 配件规格
|
||||
public static final String PD_UNITS = "Units"; // 配件单位
|
||||
public static final String PD_REMARK = "Remark"; // 配件备注
|
||||
public static final String PD_IS_COMPOSITE = "IsComposite"; // 是否组件
|
||||
public static final String PD_GROUP_NAME = "GroupName"; // 五金分类
|
||||
public static final String PD_OBJECT_TYPE = "ObjectType"; // 五金类型
|
||||
public static final String PD_SPEC_EXTRAS = "SpecExtras"; // 五金额外规格
|
||||
public static final String PD_PARTS_SPEC = "PartsSpec"; // 配件属性
|
||||
public static final String PD_PARTS_SPEC_SPEC = "spec"; // 配件属性 -> 规格
|
||||
public static final String PD_PARTS_SPEC_MATERIAL = "material"; // 配件属性 -> 材质
|
||||
public static final String PD_PARTS_SPEC_COLOR = "color"; // 配件属性 -> 颜色
|
||||
public static final String PD_SPECIAL_REMARK = "SpecialRemark"; // 特殊备注(Json字符串)
|
||||
public static final String PD_PROCESS_GROUP = "ProcessGroup"; // 五金加工组
|
||||
public static final String PD_DOOR_REMARK = "DoorRemark"; // 门板组件铰链备注
|
||||
public static final String PD_HINGE_REMARK = "HingeRemark"; // 门板组件拉手备注
|
||||
public static final String PD_ROOM_NAME = "RoomName"; // 房间名称
|
||||
public static final String PD_BOX_NAME = "BoxName"; // 柜体名称
|
||||
public static final String PD_ITEM_ID = "ItemID"; // 配件ID
|
||||
public static final String PD_MODULE_TYPE_ID_LIST = "ModuleTypeIDList"; // 加工组类型ID
|
||||
public static final String PD_MODULE_ID_LIST = "ModuleIDList"; // 加工组ID
|
||||
public static final String PD_SIZE = "Size"; // 配件尺寸
|
||||
public static final String PD_LENGTH = "Length"; // 配件长
|
||||
public static final String PD_WIDTH = "Width"; // 配件宽
|
||||
public static final String PD_THICKNESS = "Thickness"; // 配件厚
|
||||
|
||||
// ========== getApiOrderBodyMessage boxsList 柜体明细模块 ==========
|
||||
public static final String B_BOX_ID = "BoxID"; // 柜体标识
|
||||
public static final String B_ROOM_ID = "RoomID"; // 房间标识
|
||||
public static final String B_ROOM_NAME = "Room"; // 房间名
|
||||
public static final String B_NAME = "Name"; // 柜体名
|
||||
public static final String B_WIDTH = "Width"; // 宽
|
||||
public static final String B_HEIGHT = "Height"; // 高
|
||||
public static final String B_DEPTH = "Depth"; // 深
|
||||
|
||||
// ========== getApiOrderGoodsMessage goodsList 商品数据信息模块 ==========
|
||||
public static final String G_BRAND = "Brand"; // 商品品牌
|
||||
public static final String G_COLOR = "Color"; // 商品颜色
|
||||
public static final String G_DOOR_ID = "GoodsID"; // 商品标识
|
||||
public static final String G_GOODS_SN = "GoodsSN"; // 商品编号
|
||||
public static final String G_GOODS_NAME = "GoodsName"; // 商品名称
|
||||
public static final String G_HEIGHT = "Height"; // 商品长度
|
||||
public static final String G_MATERIAL = "Material"; // 商品材料
|
||||
public static final String G_SPEC = "Spec"; // 商品规格
|
||||
public static final String G_THICKNESS = "Thickness"; // 商品厚度
|
||||
public static final String G_WIDTH = "Width"; // 商品宽度
|
||||
public static final String G_EXTRA_PROP = "ExtraProp"; // 额外属性
|
||||
public static final String G_HAS_WAVE = "HasWave"; // 有无纹路 1:有;0:无
|
||||
|
||||
// ========== getApiModuleTypeDataMessage getModuleTypeList 加工组关联板件、五金信息列表模块 ==========
|
||||
public static final String M_MODULE_TYPE_ID = "ModuleTypeID"; // 加工组类型ID
|
||||
public static final String M_MODULE_TYPE_NAME = "ModuleTypeName"; // 加工组名称
|
||||
public static final String M_MODULE_ID = "ModuleID"; // 加工组ID
|
||||
public static final String M_ROOM_ID = "RoomID"; // 房间ID
|
||||
public static final String M_ROOM_NAME = "RoomName"; // 房间名称
|
||||
public static final String M_BOX_ID = "BoxID"; // 柜体ID
|
||||
public static final String M_BOX_NAME = "BoxName"; // 柜体名称
|
||||
public static final String M_LENGTH = "Length"; // 加工组长
|
||||
public static final String M_WIDTH = "Width"; // 加工组宽
|
||||
public static final String M_THICKNESS = "Thickness"; // 加工组厚
|
||||
public static final String M_ITEM_ID_LIST = "ItemIDList"; // 加工组关联的板ID
|
||||
|
||||
// ========== getApiBlocksDataMessage blocksList 板块明细模块 ==========
|
||||
public static final String BD_BLOCK_NO = "BlockNo"; // 板材编号
|
||||
public static final String BD_BOX_ID = "BoxID"; // 柜体标识
|
||||
public static final String BD_GOODS_ID = "GoodsID"; // 商品标识
|
||||
public static final String BD_OPEN_DOOR_TYPE = "OpenDoorType"; // 开门类型
|
||||
public static final String BD_EXTRA_REMARK = "ExtraRemark"; // 扩展备注
|
||||
public static final String BD_PROCESS_GROUP = "ProcessGroup"; // 加工组
|
||||
public static final String BD_GROUP_TYPE = "GroupType"; // 类型(柜体,加工组)
|
||||
public static final String BD_UN_REGULAR_POINT_COUNT = "UnRegularPointCount"; // 异形数
|
||||
public static final String BD_BACK_HOLE_COUNT = "BackHoleCount"; // 反面孔数
|
||||
public static final String BD_FRONT_MODEL_COUNT = "FrontModelCount"; // 正面造型数
|
||||
public static final String BD_BACK_MODEL_COUNT = "BackModelCount"; // 反面造型数
|
||||
public static final String BD_SIDE_HOLE_COUNT = "SideHoleCount"; // 侧面孔数
|
||||
public static final String BD_FRONT_HOLE_COUNT = "FrontHoleCount"; // 正面孔数
|
||||
public static final String BD_CUT_LENGTH = "CutLength"; // 开料长
|
||||
public static final String BD_CUT_WIDTH = "CutWidth"; // 开料宽
|
||||
public static final String BD_SPECIAL_REMARK = "SpecialRemark"; // 特殊备注(Json字符串)
|
||||
public static final String BD_EXTRA_HANDLE_REMARK = "ExtraHandleRemark"; // 拉手备注
|
||||
public static final String BD_DRILLS_REMARK = "DrillsRemark"; // 排钻备注(Json字符串)
|
||||
public static final String BD_INFO_REMARK = "InfoRemark"; //板其他备注(Json字符串)
|
||||
public static final String BD_BOARD_NAME = "BoardName"; // 板名称
|
||||
public static final String BD_SEALED_LEFT = "SealedLeft"; // 左封边
|
||||
public static final String BD_SEALED_RIGHT = "SealedRight"; // 右封边
|
||||
public static final String BD_SEALED_UP = "SealedUp"; // 上封边
|
||||
public static final String BD_SEALED_DOWN = "SealedDown"; // 下封边
|
||||
public static final String BD_IS_MODEL = "IsModel"; // 是否有造型
|
||||
public static final String BD_IS_UN_REGULAR = "UnRegular"; // 是否异形
|
||||
public static final String BD_IS_FRONT_HOLE = "FrontHole"; // 是否有正面孔
|
||||
public static final String BD_IS_BACK_HOLE = "BackHole"; // 是否有反面孔
|
||||
public static final String BD_IS_SIDE_HOLE = "SideHole"; // 是否有侧面孔
|
||||
public static final String BD_IS_FRONT_MODEL = "FrontModel"; // 是否有正面造型
|
||||
public static final String BD_IS_BACK_MODEL = "BackModel"; // 是否有反面造型
|
||||
public static final String BD_BOARD_TYPE = "BoardType"; // 板类型 层板,立板,背板
|
||||
public static final String BD_SPLIT_THICKNESS = "SpliteThickness"; // 拆单厚
|
||||
public static final String BD_SPLIT_WIDTH = "SpliteWidth"; // 拆单宽
|
||||
public static final String BD_SPLIT_HEIGHT = "SpliteHeight"; // 拆单长
|
||||
public static final String BD_CUSTOMIZE_BLOCK_NO = "CustBlockNo"; // 自定义板号
|
||||
public static final String BD_REMARK_JSON = "RemarkJson"; // 板件备注(Json字符串)
|
||||
public static final String BD_IS_COPY = "IsCopy"; // 是否成倍拆单(false为原柜,true为成倍复制的柜子)
|
||||
public static final String BD_MUL_NUM = "MultNum"; // 成倍拆单数量
|
||||
public static final String BD_GROUP_NO = "GroupNo"; // 按柜(房名)名分组的柜体序号
|
||||
public static final String BD_BOX_NO = "BoxNo"; // 成倍拆单柜体序号
|
||||
public static final String BD_BOX_MUL_NUM = "BoxMultNum"; // 成倍拆单数量(总数、原柜和复制柜一致)
|
||||
public static final String BD_ROOM_NAME = "RoomName"; // 房间名
|
||||
public static final String BD_BOX_NAME = "BoxName"; // 柜体名
|
||||
public static final String BD_ITEM_ID = "ItemID"; // 板ID
|
||||
public static final String BD_MODULE_TYPE_ID_LIST = "ModuleTypeIDList"; // 加工组类型ID
|
||||
public static final String BD_MODULE_ID_LIST = "ModuleIDList"; // 加工组ID
|
||||
|
||||
// ========== getApiBlocksMessage getBlocks 板件数据(概括)模块 ==========
|
||||
public static final String BG_ORDER_NO = "OrderNo"; // 订单号
|
||||
public static final String BG_ROOM_NAME = "RoomName"; // 房间名
|
||||
public static final String BG_BOX_NAME = "BoxName"; // 柜体名
|
||||
public static final String BG_BOX_ID = "BoxID"; // 柜体标识
|
||||
public static final String BG_BLOCK_NO = "BlockNo"; // 板编号
|
||||
public static final String BG_BOARD_NAME = "BoardName"; // 板名称
|
||||
public static final String BG_GOODS_ID = "GoodsID"; // 商品标识
|
||||
public static final String BG_MATERIAL = "Material"; // 材料名称
|
||||
public static final String BG_COLOR = "Color"; // 颜色
|
||||
public static final String BG_BRAND = "Brand"; // 品牌
|
||||
public static final String BG_HEIGHT = "Height"; // 长
|
||||
public static final String BG_WIDTH = "Width"; // 宽
|
||||
public static final String BG_THICKNESS = "Thickness"; // 厚
|
||||
public static final String BG_AREA = "Area"; // 面积
|
||||
public static final String BG_WAVE = "Wave"; // 纹路(正纹 = 0, 可翻转 = 1, 反纹 = 2 )
|
||||
public static final String BG_SEAL = "Seal"; // 封边信息(格式:左封边,右封边,上封边,下封边)
|
||||
public static final String BG_IS_UN_REGULAR = "IsUnRegular"; // 是否异形
|
||||
public static final String BG_IS_MODEL = "IsModel"; // 是否造型
|
||||
public static final String BG_IS_HOLE = "IsHole"; // 是否有孔
|
||||
public static final String BG_REMARK_JSON = "RemarkJson"; // 备注(Json格式)
|
||||
public static final String BG_SPECIAL_REMARK = "SpecialRemark"; // 特殊备注(Json字符串)
|
||||
|
||||
// ========== getApiOrderList orderList 生产单列表模块 ==========
|
||||
public static final String OL_ORDER_NO = "order_no"; // 订单编号
|
||||
public static final String OL_CUSTOM_ORDER_NO = "custom_order_no"; // 自定义单号
|
||||
public static final String OL_STORE_NAME = "store_name"; // 门店名称
|
||||
public static final String OL_STORE_PHONE = "store_phone"; // 门店电话
|
||||
public static final String OL_CUSTOMER_NAME = "cosignee_name"; // 客户名称
|
||||
public static final String OL_CUSTOMER_PHONE = "cosignee_phone"; // 客户电话
|
||||
public static final String OL_CUSTOMER_ADDRESS = "cosignee_address"; // 客户地址
|
||||
public static final String OL_START_DATE = "start_date"; // 订单开始时间
|
||||
public static final String OL_END_DATE = "end_date"; // 订单结束时间
|
||||
public static final String OL_ORDER_STATUS = "submit_state"; // 平台状态
|
||||
public static final String OL_COMMENTS = "comments"; // 备注
|
||||
public static final String OL_NICK_NAME = "nick_name"; // 业务员昵称
|
||||
public static final String OL_CD_NICK_NAME = "cd_nick_name"; // 拆单员昵称
|
||||
|
||||
// ========== getApiOrderMessage orderPlanData 生产数据模块 ==========
|
||||
public static final String OPD_ORDER = "Orders";
|
||||
public static final String BPD_ORDER_NO = "OrderNo"; // 订单号
|
||||
public static final String BPD_CUSTOM_ORDER_NO = "CustomOrderNo"; // 自定义单号
|
||||
|
||||
public static final String BPD_MATERIALS = "Materials";
|
||||
public static final String BPD_MATERIALS_NAME = "Name"; // 材质名称
|
||||
public static final String BPD_MATERIALS_GOODS_ID = "GoodsID";
|
||||
public static final String BPD_MATERIALS_COLOR = "Color";
|
||||
public static final String BPD_MATERIALS_SPECIFICATION = "Specification"; // 板材规格——长宽
|
||||
public static final String BPD_MATERIALS_ONE = "Material";
|
||||
public static final String BPD_MATERIALS_THICKNESS = "Thickness"; // 板材厚度
|
||||
public static final String BPD_MATERIALS_WIDTH = "Width";
|
||||
public static final String BPD_MATERIALS_LENGTH = "Length";
|
||||
public static final String BPD_MATERIALS_WAVE = "WaveFlag"; // 有无纹路
|
||||
|
||||
public static final String BPD_BLOCKS = "Blocks"; // 板编号
|
||||
public static final String BPD_BLOCK_NO = "BlockNo"; // 板编号
|
||||
public static final String BPD_ROOM_NAME = "RoomName"; // 房间名
|
||||
public static final String BPD_BOX_NO = "BoxNo"; // 柜体号
|
||||
public static final String BPD_BOX_NAME = "BoxName"; // 柜体名
|
||||
public static final String BPD_BLOCK_ID = "BlockID"; // 板ID
|
||||
public static final String BPD_CUSTOM_BLOCK_NO = "CustomNo"; // (自定义)板号
|
||||
public static final String BPD_BLOCK_NAME = "BlockName"; // 板名称
|
||||
public static final String BPD_OPEN_DOOR_TYPE = "OpenDoorType"; // 开门类型 0=非门板 1=左开门板 2=右开门板 3=上开门板 4=下开门板
|
||||
|
||||
public static final String BPD_EXTRA_REMARK = "ExtraRemark"; // 额外补充
|
||||
public static final String BPD_DRILLS = "drills";
|
||||
public static final String BPD_DRILL_NAME = "name";
|
||||
public static final String BPD_DRILL_TYPE = "type";
|
||||
public static final String BPD_DRILL_FACE = "face";
|
||||
public static final String BPD_DRILL_COUNT = "count";
|
||||
public static final String BPD_EXTRA = "extra";
|
||||
public static final String BPD_EXTRA_BOARD_TYPE = "boardType"; // 板类型
|
||||
public static final String BPD_EXTRA_THROUGH_HOLE_COUNT = "throughHoleCount"; // 挖穿的孔数
|
||||
public static final String BPD_EXTRA_THROUGH_MODEL_COUNT = "throughModelCount"; // 挖穿的造型数
|
||||
public static final String BPD_EXTRA_HAS_2D_MODEL = "has2DModel"; // 是否有二维刀路
|
||||
public static final String BPD_EXTRA_HAS_3D_MODEL = "has3DModel"; //
|
||||
|
||||
public static final String BPD_PROCESS_GROUP_NAME = "ProcessGroupName"; // 加工组(名称)
|
||||
public static final String BPD_WIDTH = "Width"; // 成品宽
|
||||
public static final String BPD_LENGTH = "Length"; // 成品长
|
||||
public static final String BPD_SIZE = "Size"; // 成品面积
|
||||
public static final String BPD_CUTTING_WIDTH = "CuttingWidth"; // 开料宽
|
||||
public static final String BPD_CUTTING_LENGTH = "CuttingLength"; // 开料长
|
||||
public static final String BPD_CUTTING_SIZE = "CuttingSize"; // 开料面积
|
||||
public static final String BPD_BORDER_LEFT = "BorderLeft"; // 左封边 用于矩形,异形板对接封边分在原始轮廓里定义
|
||||
public static final String BPD_BORDER_RIGHT = "BorderRight"; // 右封边
|
||||
public static final String BPD_BORDER_UPPER = "BorderUpper"; // 上封边
|
||||
public static final String BPD_BORDER_UNDER = "BorderUnder"; // 下封边
|
||||
public static final String BPD_WAVE = "Wave"; // 纹路 正纹 = 0,可翻转 = 1, 反纹 = 2
|
||||
public static final String BPD_PLACE_FACE = "PlaceFace"; // 排版面 正面 = 0, 反面 = 1, 随意面 = 2
|
||||
public static final String BPD_IS_UN_REGULAR = "IsUnRegular"; // 是否异形
|
||||
public static final String BPD_OFFSET_X = "OffsetX"; // 开料轮廓,成品轮廓 偏移量X
|
||||
public static final String BPD_OFFSET_Y = "OffsetY"; // 开料轮廓,成品轮廓 偏移量y
|
||||
|
||||
public static final String BPD_POINTS = "Points"; // 异形板的开料轮廓 (不含封边)
|
||||
public static final String BPD_ORG_POINTS = "OrgPoints"; // 异形板的成品轮廓 (含封边)
|
||||
public static final String BPD_POINTS_X = "X";
|
||||
public static final String BPD_POINTS_Y = "Y";
|
||||
public static final String BPD_POINTS_CURVE = "Curve";
|
||||
public static final String BPD_POINTS_EDGE = "Edge";
|
||||
|
||||
public static final String BPD_HOLES = "Holes"; // 孔
|
||||
public static final String BPD_SIDE_HOLES = "SideHoles"; // 侧孔 (基于成品轮廓 含封边)
|
||||
public static final String BPD_HOLE_X = "X";
|
||||
public static final String BPD_HOLE_Y = "Y";
|
||||
public static final String BPD_HOLE_DEPTH = "Depth";
|
||||
public static final String BPD_HOLE_DIAMETER = "Diameter";
|
||||
public static final String BPD_HOLE_FACE = "Face";
|
||||
public static final String BPD_HOLE_DIRECTION = "Direction";
|
||||
public static final String BPD_HOLE_END_POINT = "EndPoint";
|
||||
public static final String BPD_HOLE_START_POINT = "StartPoint";
|
||||
|
||||
public static final String BPD_MODEL = "Models"; // 造型
|
||||
public static final String BPD_MODEL_DEPTH = "Depth";
|
||||
public static final String BPD_MODEL_DIAMETER = "Diameter";
|
||||
public static final String BPD_MODEL_FACE = "Face";
|
||||
public static final String BPD_MODEL_TOOL_NO = "ToolNo";
|
||||
|
||||
public static final String BPD_MODEL_ORIGIN_MODELING = "OriginModeling"; // 造型 原始轮廓
|
||||
public static final String BPD_MODEL_ORIGIN_MODELING_ADD_DEPTH = "AddDepth";
|
||||
public static final String BPD_MODEL_ORIGIN_MODELING_ADD_LEN = "AddLen";
|
||||
public static final String BPD_MODEL_ORIGIN_MODELING_ADD_WIDTH = "AddWidth";
|
||||
public static final String BPD_MODEL_ORIGIN_MODELING_DIR = "Dir";
|
||||
public static final String BPD_MODEL_ORIGIN_MODELING_KNIFE_RADIUS = "KnifeRadius";
|
||||
public static final String BPD_MODEL_ORIGIN_MODELING_THICKNESS = "Thickness";
|
||||
|
||||
public static final String BPD_MODEL_ORIGIN_MODELING_OUTLINE = "Outline"; // 造型 原始轮廓 outline
|
||||
public static final String BPD_MODEL_ORIGIN_MODELING_OUTLINE_CURVE = "Curve";
|
||||
public static final String BPD_MODEL_ORIGIN_MODELING_OUTLINE_POS = "Pos";
|
||||
|
||||
public static final String BPD_MODEL_ORIGIN_MODELING_HOLES = "Holes"; // 造型 原始轮廓 holes
|
||||
public static final String BPD_MODEL_ORIGIN_MODELING_HOLES_CURVE = "Curve";
|
||||
public static final String BPD_MODEL_ORIGIN_MODELING_HOLES_POS = "Pos";
|
||||
|
||||
public static final String BPD_MODEL_POINTS = "Points"; // 造型 刀路点阵
|
||||
public static final String BPD_MODEL_POINTS_CURVE = "Curve";
|
||||
public static final String BPD_MODEL_POINTS_POS = "Pos";
|
||||
|
||||
public static final String BPD_MODEL_OFFSET_LIST = "OffsetList"; // 造型 偏移刀路
|
||||
public static final String BPD_MODEL_OFFSET_LIST_ANGLE = "Angle";
|
||||
public static final String BPD_MODEL_OFFSET_LIST_DEPTH = "Depth";
|
||||
public static final String BPD_MODEL_OFFSET_LIST_DIRECTION = "Diameter";
|
||||
public static final String BPD_MODEL_OFFSET_LIST_NAME = "Name";
|
||||
public static final String BPD_MODEL_OFFSET_LIST_VALUE = "Value";
|
||||
|
||||
}
|
||||
+12
-1
@@ -6,7 +6,6 @@ import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.xml.bind.annotation.*;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@@ -56,6 +55,14 @@ public class GrooveXmlVO implements Serializable {
|
||||
@XmlAttribute(name = "depthExtend")
|
||||
private String depthExtend;
|
||||
|
||||
// 造型/凹槽(边缘)的刀路方向——内圈顺时针(最)外圈逆时针、内圈顺时针(最)外圈顺时针、内圈逆时针(最)外圈顺时针、内圈逆时针(最)外圈逆时针
|
||||
@XmlAttribute(name = "direction")
|
||||
private String direction;
|
||||
|
||||
// 加工模式/方式——由内向外、由外向内
|
||||
@XmlAttribute(name = "mode")
|
||||
private String mode;
|
||||
|
||||
// 圆角半径
|
||||
@XmlAttribute(name = "round")
|
||||
private String round;
|
||||
@@ -92,6 +99,10 @@ public class GrooveXmlVO implements Serializable {
|
||||
@XmlElement(name = "offsetLines")
|
||||
private OffsetLineXmlVOS offsetLineXmlVOS;
|
||||
|
||||
// 原始造型(外)轮廓信息
|
||||
@XmlElement(name = "Outline")
|
||||
private OutlineXmlVO outlineXmlVO;
|
||||
|
||||
@XmlAttribute(name = "result")
|
||||
private String result;
|
||||
}
|
||||
|
||||
+29
-13
@@ -871,7 +871,7 @@ public class XMLUtil {
|
||||
flag.set(false);
|
||||
} else {
|
||||
for (PointXmlVO pointXmlVO : pointXmlVOS.getPointXmlVOList()) {
|
||||
checkPoint(pointXmlVO, flag);
|
||||
checkPointRemoveZ(pointXmlVO, flag, "孤岛");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -970,6 +970,8 @@ public class XMLUtil {
|
||||
isEmptyAddAndPositiveNumber(grooveXmlVO::getWidthExtend, grooveXmlVO::setWidthExtend, "0", Double.class, "槽宽度延长", flag);
|
||||
isEmptyAddAndPositiveNumber(grooveXmlVO::getLengthExtend, grooveXmlVO::setLengthExtend, "0", Double.class, "槽长度延长", flag);
|
||||
isEmptyAddAndPositiveNumber(grooveXmlVO::getDepthExtend, grooveXmlVO::setDepthExtend, "0", Double.class, "槽深度延长", flag);
|
||||
isEmptyAddAndPositiveNumber(grooveXmlVO::getDirection, grooveXmlVO::setDirection, "0", Double.class, "造型/凹槽(边缘)的刀路方向", flag);
|
||||
isEmptyAddAndPositiveNumber(grooveXmlVO::getMode, grooveXmlVO::setMode, "0", Double.class, "加工模式/方式", flag);
|
||||
isEmptyAddAndPositiveNumber(grooveXmlVO::getRound, grooveXmlVO::setRound, "0", Double.class, "圆角半径", flag);
|
||||
|
||||
if (grooveXmlVO.getType().trim().equals("路径槽") || grooveXmlVO.getType().trim().equals("折返路径槽")) {
|
||||
@@ -981,12 +983,21 @@ public class XMLUtil {
|
||||
isEmptyAddAndPositiveNumber(grooveXmlVO::getTangentAngle, grooveXmlVO::setTangentAngle, "0", Double.class, "角度(二维刀路V型刀提角/清角用)", flag);
|
||||
isEmptyAddAndPositiveNumber(grooveXmlVO::getIsletCount, grooveXmlVO::setIsletCount, "0", Integer.class, "孤岛数量", flag);
|
||||
|
||||
if (grooveXmlVO.getOutlineXmlVO() == null || grooveXmlVO.getOutlineXmlVO().getPointXmlVOList() == null || grooveXmlVO.getOutlineXmlVO().getPointXmlVOList().size() < 1) {
|
||||
grooveXmlVO.setResult("---< 原始造型(外)轮廓点阵列表不可为空 >---");
|
||||
flag.set(false);
|
||||
} else {
|
||||
for (PointXmlVO pointXmlVO : grooveXmlVO.getOutlineXmlVO().getPointXmlVOList()) {
|
||||
checkPoint(pointXmlVO, flag, "原始造型(外)轮廓");
|
||||
}
|
||||
}
|
||||
|
||||
if (grooveXmlVO.getPointXmlVOS() == null || grooveXmlVO.getPointXmlVOS().getPointXmlVOList() == null || grooveXmlVO.getPointXmlVOS().getPointXmlVOList().size() < 1) {
|
||||
grooveXmlVO.setResult("---< 槽点坐标列表不可为空 >---");
|
||||
flag.set(false);
|
||||
} else {
|
||||
for (PointXmlVO pointXmlVO : grooveXmlVO.getPointXmlVOS().getPointXmlVOList()) {
|
||||
checkPoint(pointXmlVO, flag);
|
||||
checkPoint(pointXmlVO, flag, "刀路点阵");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1007,8 +1018,8 @@ public class XMLUtil {
|
||||
|
||||
private void checkRawOutline(RawOutlineXmlVO rawOutlineXmlVO, AtomicBoolean flag) {
|
||||
boolean index = isEmptyBackAndPositiveNumberAndBack(rawOutlineXmlVO::getCount, "小板坯料(精加工)轮廓点阵列表数量 "+ rawOutlineXmlVO.getCount(), rawOutlineXmlVO::setCount, Integer.class, flag);
|
||||
isEmptyBackAndNumber(rawOutlineXmlVO::getReferenceOffsetX, rawOutlineXmlVO::setReferenceOffsetX, Double.class, "小板坯料(精加工)轮廓参考点X坐标不可为空 " +rawOutlineXmlVO.getReferenceOffsetX() , flag);
|
||||
isEmptyBackAndNumber(rawOutlineXmlVO::getReferenceOffsetY, rawOutlineXmlVO::setReferenceOffsetY, Double.class, "小板坯料(精加工)轮廓参考点Y坐标不可为空 " +rawOutlineXmlVO.getReferenceOffsetY() , flag);
|
||||
isEmptyBackAndNumber(rawOutlineXmlVO::getReferenceOffsetX, rawOutlineXmlVO::setReferenceOffsetX, Double.class, "相对于成品轮廓,基准点的X坐标偏移量" +rawOutlineXmlVO.getReferenceOffsetX() , flag);
|
||||
isEmptyBackAndNumber(rawOutlineXmlVO::getReferenceOffsetY, rawOutlineXmlVO::setReferenceOffsetY, Double.class, "相对于成品轮廓,基准点的Y坐标偏移量" +rawOutlineXmlVO.getReferenceOffsetY() , flag);
|
||||
|
||||
|
||||
if (rawOutlineXmlVO.getPointXmlVOList() != null && !rawOutlineXmlVO.getPointXmlVOList().isEmpty()) {
|
||||
@@ -1018,7 +1029,7 @@ public class XMLUtil {
|
||||
flag.set(false);
|
||||
} else {
|
||||
for (PointXmlVO pointXmlVO : rawOutlineXmlVO.getPointXmlVOList()) {
|
||||
checkPoint(pointXmlVO, flag);
|
||||
checkPointRemoveZ(pointXmlVO, flag, "坯料轮廓信息");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1038,7 +1049,7 @@ public class XMLUtil {
|
||||
flag.set(false);
|
||||
} else {
|
||||
for (PointXmlVO pointXmlVO : cuttingOutlineXmlVO.getPointXmlVOList()) {
|
||||
checkPoint(pointXmlVO, flag);
|
||||
checkPointRemoveZ(pointXmlVO, flag, "开料成型轮廓信息");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1056,6 +1067,7 @@ public class XMLUtil {
|
||||
if (Integer.parseInt(outlineXmlVO.getCount()) != outlineXmlVO.getPointXmlVOList().size()) {
|
||||
outlineXmlVO.setCount("---< 小板轮廓点阵数量与实际数量不一致 >---");
|
||||
flag.set(false);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -1065,8 +1077,6 @@ public class XMLUtil {
|
||||
isEmptyBackAndNumber(pointXmlVO::getCurvature, pointXmlVO::setCurvature, Double.class, "小板轮廓边圆弧凹凸度", flag);
|
||||
isEmptyBackAndNumber(pointXmlVO::getRadius, pointXmlVO::setRadius, Double.class, "小板轮廓边圆弧半径", flag);
|
||||
|
||||
|
||||
checkPoint(pointXmlVO, flag);
|
||||
checkEdging(pointXmlVO, flag);
|
||||
// if (!(StringUtils.isEmpty(pointXmlVO.getItemCode()) && StringUtils.isEmpty(pointXmlVO.getEdgingName()) &&
|
||||
// StringUtils.isEmpty(pointXmlVO.getEdgingColor()) && StringUtils.isEmpty(pointXmlVO.getEdgingMaterial()) &&
|
||||
@@ -1128,11 +1138,17 @@ public class XMLUtil {
|
||||
|
||||
|
||||
// point 验证
|
||||
private void checkPoint(PointXmlVO pointXmlVO, AtomicBoolean flag) {
|
||||
isEmptyBackAndNumber(pointXmlVO::getPointX, pointXmlVO::setPointX, Double.class, pointXmlVO.getPointX(), flag);
|
||||
isEmptyBackAndNumber(pointXmlVO::getPointY, pointXmlVO::setPointY, Double.class, pointXmlVO.getPointY(), flag);
|
||||
isEmptyBackAndNumber(pointXmlVO::getCurvature, pointXmlVO::setCurvature, Double.class, pointXmlVO.getCurvature(), flag);
|
||||
isEmptyBackAndNumber(pointXmlVO::getRadius, pointXmlVO::setRadius, Double.class, pointXmlVO.getRadius(), flag);
|
||||
private void checkPointRemoveZ(PointXmlVO pointXmlVO, AtomicBoolean flag, String name) {
|
||||
isEmptyBackAndNumber(pointXmlVO::getPointX, pointXmlVO::setPointX, Double.class, name + "起点X坐标", flag);
|
||||
isEmptyBackAndNumber(pointXmlVO::getPointY, pointXmlVO::setPointY, Double.class, name + "起点Y坐标", flag);
|
||||
isEmptyBackAndNumber(pointXmlVO::getCurvature, pointXmlVO::setCurvature, Double.class, name + "起点圆弧凹凸度", flag);
|
||||
isEmptyBackAndNumber(pointXmlVO::getRadius, pointXmlVO::setRadius, Double.class, name + "起点圆弧半径", flag);
|
||||
|
||||
}
|
||||
|
||||
private void checkPoint(PointXmlVO pointXmlVO, AtomicBoolean flag, String name) {
|
||||
checkPointRemoveZ(pointXmlVO, flag, name);
|
||||
isEmptyBackAndNumber(pointXmlVO::getPointZ, pointXmlVO::setPointZ, Double.class, name + "起点Z坐标", flag);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
+134
-168
@@ -26,6 +26,8 @@ import org.springframework.stereotype.Component;
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.function.Supplier;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
@@ -199,6 +201,22 @@ public class XmlTypeRealize {
|
||||
return groupInfos;
|
||||
}
|
||||
|
||||
private void isEmptyAndAdd(Supplier<String> getName, Consumer<String> setName, Supplier<String> getCode, Consumer<String> setCode) {
|
||||
String name = getName.get();
|
||||
String code = getCode.get();
|
||||
|
||||
if (StringUtils.isEmpty(name) && StringUtils.isEmpty(code)) {
|
||||
setName.accept(NOT_ASSIGNED);
|
||||
setCode.accept(NOT_ASSIGNED_CODE);
|
||||
}
|
||||
if (StringUtils.isEmpty(code) && !StringUtils.isEmpty(name)){
|
||||
setCode.accept(NOT_ASSIGNED_CODE + " + " + name);
|
||||
}
|
||||
if (!StringUtils.isEmpty(code) && StringUtils.isEmpty(name)){
|
||||
setName.accept(NOT_ASSIGNED + " + " + code);
|
||||
}
|
||||
}
|
||||
|
||||
// 板材信息转换
|
||||
public Map<String, Object> goodsInfoChange(OrderXmlVO orderXmlVO, Long orderId, Long organId) {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
@@ -219,166 +237,112 @@ public class XmlTypeRealize {
|
||||
Map<String, OrderGroupDO> groupInfos = groupInfoChange(orderXmlVO.getGroupXmlVOS(), orderId, organId); // groupInfos 这个在跟着一起变
|
||||
|
||||
Map<String, Object> itemInfos = new HashMap<>();
|
||||
// Map<String, Object> partsInfos = new HashMap<>();
|
||||
|
||||
Map<String, Object> orderPartsRemarks = new HashMap<>();
|
||||
Map<String, Object> partsDOInfos = new HashMap<>();
|
||||
|
||||
|
||||
if (orderXmlVO.getMaterialXmlVO() != null) {
|
||||
MaterialXmlVO materialXmlVO = orderXmlVO.getMaterialXmlVO();
|
||||
if (materialXmlVO.getAccessoryXmlVO() != null && materialXmlVO.getAssemblieXmlVOS() != null && materialXmlVO.getPlateXmlVOS() != null) {
|
||||
if (orderXmlVO.getMaterialXmlVO() == null) {
|
||||
return map;
|
||||
}
|
||||
|
||||
MaterialXmlVO materialXmlVO = orderXmlVO.getMaterialXmlVO();
|
||||
Map<String, List<EdgingXmlVO>> edgingMap;
|
||||
Map<String, List<HardwareXmlVO>> hardwareMap;
|
||||
Map<String, List<AssemblyXmlVO>> assemblyMap;
|
||||
// 配件
|
||||
if (materialXmlVO.getAccessoryXmlVO() != null ) {
|
||||
AccessoryXmlVO accessoryXmlVO = materialXmlVO.getAccessoryXmlVO();
|
||||
if (accessoryXmlVO.getEdgingXmlVOS() != null && accessoryXmlVO.getEdgingXmlVOS().getEdgingXmlVOList() != null && !accessoryXmlVO.getEdgingXmlVOS().getEdgingXmlVOList().isEmpty()) {
|
||||
List<EdgingXmlVO> edgingList = accessoryXmlVO.getEdgingXmlVOS().getEdgingXmlVOList();
|
||||
edgingList.forEach(edgingXmlVO -> {
|
||||
isEmptyAndAdd(edgingXmlVO::getRoomName, edgingXmlVO::setRoomName, edgingXmlVO::getRoomCode, edgingXmlVO::setRoomCode);
|
||||
|
||||
isEmptyAndAdd(edgingXmlVO::getBoxName, edgingXmlVO::setBoxName, edgingXmlVO::getBoxCode, edgingXmlVO::setBoxCode);
|
||||
|
||||
});
|
||||
// 以itemCode为条件进行分组,成map
|
||||
edgingMap = edgingList.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()));
|
||||
|
||||
edgingMap.putAll(edgingMapWithNull);
|
||||
|
||||
}
|
||||
});
|
||||
} else {
|
||||
edgingMap = null;
|
||||
}
|
||||
if (accessoryXmlVO.getHardwareXmlVOS() != null && accessoryXmlVO.getHardwareXmlVOS().getHardwareXmlVOList() != null && !accessoryXmlVO.getHardwareXmlVOS().getHardwareXmlVOList().isEmpty()) {
|
||||
List<HardwareXmlVO> hardwareXmlVOS = accessoryXmlVO.getHardwareXmlVOS().getHardwareXmlVOList();
|
||||
hardwareXmlVOS.forEach(hardwareXmlVO -> {
|
||||
isEmptyAndAdd(hardwareXmlVO::getRoomName, hardwareXmlVO::setRoomName, hardwareXmlVO::getRoomCode, hardwareXmlVO::setRoomCode);
|
||||
|
||||
isEmptyAndAdd(hardwareXmlVO::getBoxName, hardwareXmlVO::setBoxName, hardwareXmlVO::getBoxCode, hardwareXmlVO::setBoxCode);
|
||||
|
||||
});
|
||||
// 以itemCode为条件进行分组,成map
|
||||
hardwareMap = hardwareXmlVOS.stream().collect(Collectors.groupingBy(HardwareXmlVO::getItemCode));
|
||||
// 遍历map
|
||||
hardwareMap.forEach((key, value) -> {
|
||||
if (key == null) { //没有itemCode
|
||||
Map<String, List<HardwareXmlVO>> hardwareMapWithNull = value.stream().collect(Collectors.groupingBy(hardwareXmlVO ->
|
||||
hardwareXmlVO.getManufacturer() + hardwareXmlVO.getBrand() + hardwareXmlVO.getName() + hardwareXmlVO.getMaterial() +
|
||||
hardwareXmlVO.getSpecs() + hardwareXmlVO.getColor() + hardwareXmlVO.getType()));
|
||||
|
||||
hardwareMap.putAll(hardwareMapWithNull);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
hardwareMap = null;
|
||||
}
|
||||
} else {
|
||||
hardwareMap = null;
|
||||
edgingMap = null;
|
||||
}
|
||||
|
||||
if (materialXmlVO.getAssemblieXmlVOS() != null) {
|
||||
AssemblieXmlVOS assemblieXmlVOS = materialXmlVO.getAssemblieXmlVOS();
|
||||
if (assemblieXmlVOS.getAssemblyXmlVOList() != null && !assemblieXmlVOS.getAssemblyXmlVOList().isEmpty()) {
|
||||
List<AssemblyXmlVO> assemblyList = assemblieXmlVOS.getAssemblyXmlVOList();
|
||||
assemblyList.forEach(assemblyXmlVO -> {
|
||||
isEmptyAndAdd(assemblyXmlVO::getRoomName, assemblyXmlVO::setRoomName, assemblyXmlVO::getRoomCode, assemblyXmlVO::setRoomCode);
|
||||
|
||||
isEmptyAndAdd(assemblyXmlVO::getBoxName, assemblyXmlVO::setBoxName, assemblyXmlVO::getBoxCode, assemblyXmlVO::setBoxCode);
|
||||
|
||||
|
||||
});
|
||||
assemblyMap = assemblieXmlVOS.getAssemblyXmlVOList().stream().collect(Collectors.groupingBy(AssemblyXmlVO::getItemCode));
|
||||
assemblyMap.forEach((key, value) -> {
|
||||
if (key == null) { // 没有itemCode
|
||||
Map<String, List<AssemblyXmlVO>> assemblyMapWithNull = value.stream().collect(Collectors.groupingBy(assemblyXmlVO ->
|
||||
assemblyXmlVO.getManufacturer() + assemblyXmlVO.getBrand() + assemblyXmlVO.getName() + assemblyXmlVO.getMaterial() +
|
||||
assemblyXmlVO.getSpecs() + assemblyXmlVO.getColor() + assemblyXmlVO.getType()));
|
||||
|
||||
assemblyMap.putAll(assemblyMapWithNull);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
assemblyMap = null;
|
||||
}
|
||||
} else {
|
||||
assemblyMap = null;
|
||||
}
|
||||
|
||||
Map<String, Map<String, Object>> partInfoAll = goodsInfoChange(organId, orderId, edgingMap, hardwareMap, assemblyMap, roomInfos, groupInfos);
|
||||
itemInfos.putAll(partInfoAll.get("orderItemMap"));
|
||||
orderPartsRemarks.putAll(partInfoAll.get("orderPartsRemarks"));
|
||||
partsDOInfos.putAll(partInfoAll.get("orderPartsDOMap"));
|
||||
|
||||
if (materialXmlVO.getPlateXmlVOS() != null) {
|
||||
PlateXmlVOS plateXmlVOS = materialXmlVO.getPlateXmlVOS();
|
||||
AssemblieXmlVOS assemblieXmlVOS = materialXmlVO.getAssemblieXmlVOS();
|
||||
AccessoryXmlVO accessoryXmlVO = materialXmlVO.getAccessoryXmlVO();
|
||||
// 配件
|
||||
Map<String, List<EdgingXmlVO>> edgingMap;
|
||||
Map<String, List<HardwareXmlVO>> hardwareMap;
|
||||
Map<String, List<AssemblyXmlVO>> assemblyMap;
|
||||
if (accessoryXmlVO.getEdgingXmlVOS() != null && accessoryXmlVO.getEdgingXmlVOS().getEdgingXmlVOList() != null && accessoryXmlVO.getEdgingXmlVOS().getEdgingXmlVOList().size() > 0) {
|
||||
List<EdgingXmlVO> edgingList = accessoryXmlVO.getEdgingXmlVOS().getEdgingXmlVOList();
|
||||
edgingList.forEach(edgingXmlVO -> {
|
||||
if (edgingXmlVO.getRoomName() == null && edgingXmlVO.getRoomCode() == null) {
|
||||
edgingXmlVO.setRoomName(NOT_ASSIGNED);
|
||||
edgingXmlVO.setRoomCode(NOT_ASSIGNED_CODE);
|
||||
}
|
||||
if (edgingXmlVO.getRoomCode() == null && edgingXmlVO.getRoomName() != null){
|
||||
edgingXmlVO.setRoomCode(NOT_ASSIGNED_CODE + " + " + edgingXmlVO.getRoomName());
|
||||
}
|
||||
if (edgingXmlVO.getRoomCode() != null && edgingXmlVO.getRoomName() == null){
|
||||
edgingXmlVO.setRoomName(NOT_ASSIGNED + " + " + edgingXmlVO.getRoomCode());
|
||||
}
|
||||
|
||||
if (edgingXmlVO.getBoxName() == null && edgingXmlVO.getBoxCode() == null) {
|
||||
edgingXmlVO.setBoxName(NOT_ASSIGNED);
|
||||
edgingXmlVO.setBoxCode(NOT_ASSIGNED_CODE);
|
||||
}
|
||||
if (edgingXmlVO.getBoxCode() == null && edgingXmlVO.getBoxName() != null){
|
||||
edgingXmlVO.setBoxCode(NOT_ASSIGNED_CODE + " + " + edgingXmlVO.getBoxName());
|
||||
}
|
||||
if (edgingXmlVO.getBoxCode() != null && edgingXmlVO.getBoxName() == null){
|
||||
edgingXmlVO.setBoxName(NOT_ASSIGNED + " + " + edgingXmlVO.getBoxCode());
|
||||
}
|
||||
// if (edgingXmlVO.getGroupCode() == null && edgingXmlVO.getGroupName() != null){
|
||||
// edgingXmlVO.setGroupCode(NOT_ASSIGNED_CODE + " + " + edgingXmlVO.getGroupName());
|
||||
// }
|
||||
// if (edgingXmlVO.getGroupCode() != null && edgingXmlVO.getGroupName() == null){
|
||||
// edgingXmlVO.setGroupName(NOT_ASSIGNED + " + " + edgingXmlVO.getGroupCode());
|
||||
// }
|
||||
});
|
||||
// 以itemCode为条件进行分组,成map
|
||||
edgingMap = edgingList.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()));
|
||||
|
||||
edgingMap.putAll(edgingMapWithNull);
|
||||
|
||||
}
|
||||
});
|
||||
} else {
|
||||
edgingMap = null;
|
||||
}
|
||||
if (accessoryXmlVO.getHardwareXmlVOS() != null && accessoryXmlVO.getHardwareXmlVOS().getHardwareXmlVOList() != null && accessoryXmlVO.getHardwareXmlVOS().getHardwareXmlVOList().size() > 0) {
|
||||
List<HardwareXmlVO> hardwareXmlVOS = accessoryXmlVO.getHardwareXmlVOS().getHardwareXmlVOList();
|
||||
hardwareXmlVOS.forEach(hardwareXmlVO -> {
|
||||
if (hardwareXmlVO.getRoomName() == null && hardwareXmlVO.getRoomCode() == null) {
|
||||
hardwareXmlVO.setRoomName(NOT_ASSIGNED);
|
||||
hardwareXmlVO.setRoomCode(NOT_ASSIGNED_CODE);
|
||||
}
|
||||
if (hardwareXmlVO.getRoomCode() == null && hardwareXmlVO.getRoomName() != null){
|
||||
hardwareXmlVO.setRoomCode(NOT_ASSIGNED_CODE + " + " + hardwareXmlVO.getRoomName());
|
||||
}
|
||||
if (hardwareXmlVO.getRoomCode() != null && hardwareXmlVO.getRoomName() == null){
|
||||
hardwareXmlVO.setRoomName(NOT_ASSIGNED + " + " + hardwareXmlVO.getRoomCode());
|
||||
}
|
||||
if (hardwareXmlVO.getBoxName() == null && hardwareXmlVO.getBoxCode() == null) {
|
||||
hardwareXmlVO.setBoxName(NOT_ASSIGNED);
|
||||
hardwareXmlVO.setBoxCode(NOT_ASSIGNED_CODE);
|
||||
}
|
||||
if (hardwareXmlVO.getBoxCode() == null && hardwareXmlVO.getBoxName() != null){
|
||||
hardwareXmlVO.setBoxCode(NOT_ASSIGNED_CODE + " + " + hardwareXmlVO.getBoxName());
|
||||
}
|
||||
if (hardwareXmlVO.getBoxCode() != null && hardwareXmlVO.getBoxName() == null){
|
||||
hardwareXmlVO.setBoxName(NOT_ASSIGNED + " + " + hardwareXmlVO.getBoxCode());
|
||||
}
|
||||
// if (hardwareXmlVO.getGroupCode() == null && hardwareXmlVO.getGroupName() != null){
|
||||
// hardwareXmlVO.setGroupCode(NOT_ASSIGNED_CODE + " + " + hardwareXmlVO.getGroupName());
|
||||
// }
|
||||
// if (hardwareXmlVO.getGroupCode() != null && hardwareXmlVO.getGroupName() == null){
|
||||
// hardwareXmlVO.setGroupName(NOT_ASSIGNED + " + " + hardwareXmlVO.getGroupCode());
|
||||
// }
|
||||
});
|
||||
// 以itemCode为条件进行分组,成map
|
||||
hardwareMap = hardwareXmlVOS.stream().collect(Collectors.groupingBy(HardwareXmlVO::getItemCode));
|
||||
// 遍历map
|
||||
hardwareMap.forEach((key, value) -> {
|
||||
if (key == null) { //没有itemCode
|
||||
Map<String, List<HardwareXmlVO>> hardwareMapWithNull = value.stream().collect(Collectors.groupingBy(hardwareXmlVO ->
|
||||
hardwareXmlVO.getManufacturer() + hardwareXmlVO.getBrand() + hardwareXmlVO.getName() + hardwareXmlVO.getMaterial() +
|
||||
hardwareXmlVO.getSpecs() + hardwareXmlVO.getColor() + hardwareXmlVO.getType()));
|
||||
|
||||
hardwareMap.putAll(hardwareMapWithNull);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
hardwareMap = null;
|
||||
}
|
||||
if (assemblieXmlVOS.getAssemblyXmlVOList() != null && assemblieXmlVOS.getAssemblyXmlVOList().size() > 0) {
|
||||
List<AssemblyXmlVO> assemblyList = assemblieXmlVOS.getAssemblyXmlVOList();
|
||||
assemblyList.forEach(assemblyXmlVO -> {
|
||||
if (assemblyXmlVO.getRoomName() == null && assemblyXmlVO.getRoomCode() == null) {
|
||||
assemblyXmlVO.setRoomName(NOT_ASSIGNED);
|
||||
assemblyXmlVO.setRoomCode(NOT_ASSIGNED_CODE);
|
||||
}
|
||||
if (assemblyXmlVO.getRoomCode() == null && assemblyXmlVO.getRoomName() != null){
|
||||
assemblyXmlVO.setRoomCode(NOT_ASSIGNED_CODE + " + " + assemblyXmlVO.getRoomName());
|
||||
}
|
||||
if (assemblyXmlVO.getRoomCode() != null && assemblyXmlVO.getRoomName() == null){
|
||||
assemblyXmlVO.setRoomName(NOT_ASSIGNED + " + " + assemblyXmlVO.getRoomCode());
|
||||
}
|
||||
if (assemblyXmlVO.getBoxName() == null && assemblyXmlVO.getBoxCode() == null) {
|
||||
assemblyXmlVO.setBoxName(NOT_ASSIGNED);
|
||||
assemblyXmlVO.setBoxCode(NOT_ASSIGNED_CODE);
|
||||
}
|
||||
if (assemblyXmlVO.getBoxCode() == null && assemblyXmlVO.getBoxName() != null){
|
||||
assemblyXmlVO.setBoxCode(NOT_ASSIGNED_CODE + " + " + assemblyXmlVO.getBoxName());
|
||||
}
|
||||
if (assemblyXmlVO.getBoxCode() != null && assemblyXmlVO.getBoxName() == null){
|
||||
assemblyXmlVO.setBoxName(NOT_ASSIGNED + " + " + assemblyXmlVO.getBoxCode());
|
||||
}
|
||||
// if (assemblyXmlVO.getGroupCode() == null && assemblyXmlVO.getGroupName() != null){
|
||||
// assemblyXmlVO.setGroupCode(NOT_ASSIGNED_CODE + " + " + assemblyXmlVO.getGroupName());
|
||||
// }
|
||||
// if (assemblyXmlVO.getGroupCode() != null && assemblyXmlVO.getGroupName() == null){
|
||||
// assemblyXmlVO.setGroupName(NOT_ASSIGNED + " + " + assemblyXmlVO.getGroupCode());
|
||||
// }
|
||||
});
|
||||
assemblyMap = assemblieXmlVOS.getAssemblyXmlVOList().stream().collect(Collectors.groupingBy(AssemblyXmlVO::getItemCode));
|
||||
assemblyMap.forEach((key, value) -> {
|
||||
if (key == null) { // 没有itemCode
|
||||
Map<String, List<AssemblyXmlVO>> assemblyMapWithNull = value.stream().collect(Collectors.groupingBy(assemblyXmlVO ->
|
||||
assemblyXmlVO.getManufacturer() + assemblyXmlVO.getBrand() + assemblyXmlVO.getName() + assemblyXmlVO.getMaterial() +
|
||||
assemblyXmlVO.getSpecs() + assemblyXmlVO.getColor() + assemblyXmlVO.getType()));
|
||||
|
||||
assemblyMap.putAll(assemblyMapWithNull);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
assemblyMap = null;
|
||||
}
|
||||
Map<String, Map<String, Object>> partInfoAll = goodsInfoChange(organId, orderId, edgingMap, hardwareMap, assemblyMap, roomInfos, groupInfos);
|
||||
|
||||
// Map<String, Map<String, Object>> partAllInfo = goodsInfoChange(accessoryXmlVO, assemblieXmlVOS, orderId, organId, roomInfos, groupInfos);
|
||||
itemInfos.putAll(partInfoAll.get("orderItemMap"));
|
||||
// partsInfos.putAll(partInfoAll.get("orderPartsMap"));
|
||||
orderPartsRemarks.putAll(partInfoAll.get("orderPartsRemarks"));
|
||||
partsDOInfos.putAll(partInfoAll.get("orderPartsDOMap"));
|
||||
|
||||
// 板材
|
||||
if (plateXmlVOS.getPlateXmlVOList() != null && plateXmlVOS.getPlateXmlVOList().size() > 0) {
|
||||
if (plateXmlVOS.getPlateXmlVOList() != null && !plateXmlVOS.getPlateXmlVOList().isEmpty()) {
|
||||
for (PlateXmlVO plateXmlVO : plateXmlVOS.getPlateXmlVOList()) {
|
||||
if (StringUtils.equals(plateXmlVO.getGrained().trim(), "无")) {
|
||||
plateXmlVO.setGrained("false");
|
||||
@@ -424,14 +388,14 @@ public class XmlTypeRealize {
|
||||
goodsDOs.add(goodsDO);
|
||||
|
||||
// 小板信息
|
||||
// plateDetail = plateInfoChange(plateXmlVO.getBlockXmlVOS(), orderId, goodsDO.getId(), organId, roomInfos, groupInfos, partsInfos, itemInfos, plateDOs, boxBasePositions, roomBasePositions);
|
||||
|
||||
plateInfoChange(plateDetail, organId, orderId, goodsId, plateXmlVO.getBlockXmlVOS(), plateDOs, itemInfos, partsDOInfos, roomInfos, groupInfos, boxBasePositions, roomBasePositions);
|
||||
// plateDetail.add(plateInfoChange(organId, orderId, goodsId, plateXmlVO.getBlockXmlVOS(), plateDOs, itemInfos, partsDOInfos, roomInfos, groupInfos, boxBasePositions, roomBasePositions));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// 取map中的值
|
||||
List<Object> orderBodyDOList = roomInfos.values().stream()
|
||||
@@ -453,8 +417,7 @@ public class XmlTypeRealize {
|
||||
map.put("orderItemDOS", itemDOList);
|
||||
map.put("plateDetail", plateDetail);
|
||||
map.put("orderPartsRemarks", partRemarks);
|
||||
// System.out.println(" orderBodyDOS " + orderBodyDOList);
|
||||
// System.out.println(" orderPartsDOS " + partDOList);
|
||||
|
||||
return map;
|
||||
}
|
||||
|
||||
@@ -584,7 +547,7 @@ public class XmlTypeRealize {
|
||||
for (EdgingXmlVO edgingVO : value) {
|
||||
partsNum = partsNum + Double.parseDouble(edgingVO.getCount());
|
||||
|
||||
if (edgingVO.getRemarkXmlVOS() != null && edgingVO.getRemarkXmlVOS().getRemarkXmlVOList() != null && edgingVO.getRemarkXmlVOS().getRemarkXmlVOList().size() > 0) {
|
||||
if (edgingVO.getRemarkXmlVOS() != null && edgingVO.getRemarkXmlVOS().getRemarkXmlVOList() != null && !edgingVO.getRemarkXmlVOS().getRemarkXmlVOList().isEmpty()) {
|
||||
finalRemarkXmlVOS.addAll(edgingVO.getRemarkXmlVOS().getRemarkXmlVOList());
|
||||
}
|
||||
}
|
||||
@@ -601,7 +564,7 @@ public class XmlTypeRealize {
|
||||
.build());
|
||||
});
|
||||
|
||||
if (finalRemarkXmlVOS.size() > 0) {
|
||||
if (!finalRemarkXmlVOS.isEmpty()) {
|
||||
orderPartsRemarks.put(key, OrderPartsRemark.builder()
|
||||
.partsId(partsId)
|
||||
.orderId(orderId)
|
||||
@@ -653,7 +616,7 @@ public class XmlTypeRealize {
|
||||
for (HardwareXmlVO hardwareVO : value) {
|
||||
partsNum = partsNum + Double.parseDouble(hardwareVO.getCount());
|
||||
|
||||
if (hardwareVO.getRemarkXmlVOS() != null && hardwareVO.getRemarkXmlVOS().getRemarkXmlVOList() != null && hardwareVO.getRemarkXmlVOS().getRemarkXmlVOList().size() > 0) {
|
||||
if (hardwareVO.getRemarkXmlVOS() != null && hardwareVO.getRemarkXmlVOS().getRemarkXmlVOList() != null && !hardwareVO.getRemarkXmlVOS().getRemarkXmlVOList().isEmpty()) {
|
||||
finalRemarkXmlVOS.addAll(hardwareVO.getRemarkXmlVOS().getRemarkXmlVOList());
|
||||
}
|
||||
}
|
||||
@@ -670,7 +633,7 @@ public class XmlTypeRealize {
|
||||
.build());
|
||||
});
|
||||
|
||||
if (finalRemarkXmlVOS.size() > 0) {
|
||||
if (!finalRemarkXmlVOS.isEmpty()) {
|
||||
orderPartsRemarks.put(key, OrderPartsRemark.builder()
|
||||
.partsId(partsId)
|
||||
.orderId(orderId)
|
||||
@@ -722,7 +685,7 @@ public class XmlTypeRealize {
|
||||
for (AssemblyXmlVO assemblyVO : value) {
|
||||
partsNum = partsNum + Double.parseDouble(assemblyVO.getCount());
|
||||
|
||||
if (assemblyVO.getRemarkXmlVOS() != null && assemblyVO.getRemarkXmlVOS().getRemarkXmlVOList() != null && assemblyVO.getRemarkXmlVOS().getRemarkXmlVOList().size() > 0) {
|
||||
if (assemblyVO.getRemarkXmlVOS() != null && assemblyVO.getRemarkXmlVOS().getRemarkXmlVOList() != null && !assemblyVO.getRemarkXmlVOS().getRemarkXmlVOList().isEmpty()) {
|
||||
finalRemarkXmlVOS.addAll(assemblyVO.getRemarkXmlVOS().getRemarkXmlVOList());
|
||||
}
|
||||
}
|
||||
@@ -739,7 +702,7 @@ public class XmlTypeRealize {
|
||||
.build());
|
||||
});
|
||||
|
||||
if (finalRemarkXmlVOS.size() > 0) {
|
||||
if (!finalRemarkXmlVOS.isEmpty()) {
|
||||
orderPartsRemarks.put(key, OrderPartsRemark.builder()
|
||||
.partsId(partsId)
|
||||
.orderId(orderId)
|
||||
@@ -761,9 +724,12 @@ public class XmlTypeRealize {
|
||||
List<Object> plateDOs, Map<String, Object> orderItemMap, Map<String, Object> partsDO,
|
||||
Map<String, Map<String, OrderBodyDO>> roomInfos, Map<String, OrderGroupDO> groupInfos,
|
||||
Map<String, Map<String, BasePosition>> boxBasePositionMap, Map<String, BasePosition> roomBasePositions) {
|
||||
// List<Object> plateDetails = new ArrayList<>();
|
||||
|
||||
if (blockXmlVOS != null && blockXmlVOS.getBlockXmlVOList() != null && blockXmlVOS.getBlockXmlVOList().size() > 0) {
|
||||
if (blockXmlVOS != null && blockXmlVOS.getBlockXmlVOList() == null || blockXmlVOS.getBlockXmlVOList().isEmpty()) {
|
||||
|
||||
}
|
||||
|
||||
if (blockXmlVOS != null && blockXmlVOS.getBlockXmlVOList() != null && !blockXmlVOS.getBlockXmlVOList().isEmpty()) {
|
||||
for (BlockXmlVO blockXmlVO : blockXmlVOS.getBlockXmlVOList()) {
|
||||
|
||||
long plateNo = idWorker.nextId();
|
||||
@@ -800,9 +766,9 @@ public class XmlTypeRealize {
|
||||
.moduleName(blockXmlVO.getModuleName())
|
||||
.moduleCode(blockXmlVO.getModuleCode())
|
||||
.build();
|
||||
// Map<String, Long> idMap = getId(blockXmlVO.getRoomCode(), blockXmlVO.getBoxCode(), roomInfos, blockXmlVO.getGroupCode(), groupInfos, plateNum, unregularNum, orderId, organId);
|
||||
|
||||
Map<String, Long> idMap = getId(positionVO, roomInfos, groupInfos, plateNum, unregularNum, orderId, organId);
|
||||
// 出错 null
|
||||
|
||||
// 柜体基点坐标
|
||||
BasePosition boxBasePoint = null;
|
||||
if (boxBasePositionMap.get(blockXmlVO.getRoomCode()) != null){
|
||||
|
||||
+3
@@ -87,6 +87,9 @@ spring:
|
||||
bootstrap-servers: 127.0.0.1:9092 # 指定 Kafka Broker 地址,可以设置多个,以逗号分隔
|
||||
elasticsearch:
|
||||
uris: 192.168.1.205:9200
|
||||
security-http-ssl-enable: false
|
||||
username: elastic
|
||||
password: admin.
|
||||
|
||||
--- #################### 定时任务相关配置 ####################
|
||||
xxl:
|
||||
|
||||
+91
@@ -186,6 +186,97 @@
|
||||
</update>
|
||||
|
||||
|
||||
<select id="selectGoodsByOrderId"
|
||||
resultType="com.cf.imes.module.executor.controller.admin.order.vo.order.OrderGoodsRespVO">
|
||||
SELECT
|
||||
i.order_id,
|
||||
i.room_id,
|
||||
i.body_id,
|
||||
p.goods_id,
|
||||
g.goods_name,
|
||||
COUNT(DISTINCT p.id) AS totalPlates,
|
||||
SUM(p.area) AS totalArea
|
||||
FROM
|
||||
order_item i
|
||||
RIGHT JOIN
|
||||
order_plate p ON i.organ_id = p.organ_id AND i.order_id = p.order_id AND i.plate_id = p.id
|
||||
RIGHT JOIN
|
||||
order_goods g ON i.organ_id = g.organ_id AND i.order_id = g.order_id AND p.goods_id = g.id
|
||||
WHERE
|
||||
i.order_id = #{orderId} AND i.organ_id = #{organId} AND p.deleted = #{deleted}
|
||||
GROUP BY
|
||||
i.room_id, i.body_id, p.goods_id, g.goods_name
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectGoodsDetailByOrderId" resultType="com.cf.imes.module.executor.controller.admin.order.vo.order.OrderGoodsDetailRespVO">
|
||||
SELECT
|
||||
g.id,
|
||||
g.order_id,
|
||||
g.brand,
|
||||
g.goods_id,
|
||||
g.goods_name,
|
||||
g.material,
|
||||
g.texture,
|
||||
g.color,
|
||||
g.color_black,
|
||||
g.width,
|
||||
g.height,
|
||||
g.thickness,
|
||||
g.remark,
|
||||
g.spec,
|
||||
sub.order_id,
|
||||
sub.totalPlates AS number,
|
||||
sub.totalArea AS area,
|
||||
sub.room_id,
|
||||
sub.body_id,
|
||||
sub.group_id
|
||||
FROM (
|
||||
SELECT
|
||||
i.room_id,
|
||||
i.body_id,
|
||||
i.group_id,
|
||||
i.organ_id,
|
||||
i.order_id,
|
||||
p.goods_id,
|
||||
COUNT(p.id) AS totalPlates,
|
||||
SUM(p.area) AS totalArea
|
||||
FROM
|
||||
order_item i
|
||||
RIGHT JOIN
|
||||
order_plate p ON i.organ_id = p.organ_id AND i.order_id = p.order_id AND i.plate_id = p.id
|
||||
WHERE
|
||||
i.organ_id = #{organId} AND i.order_id = #{orderId} AND p.deleted = #{deleted}
|
||||
<if test="roomId != null and roomId.size() > 0">
|
||||
AND i.room_id IN
|
||||
<foreach item="roomIdItem" collection="roomId" open="(" separator="," close=")">
|
||||
#{roomIdItem}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="bodyId != null and bodyId.size() > 0">
|
||||
AND i.body_id IN
|
||||
<foreach item="bodyIdItem" collection="bodyId" open="(" separator="," close=")">
|
||||
#{bodyIdItem}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="groupId != null and groupId.size() > 0">
|
||||
AND i.group_id IN
|
||||
<foreach item="groupIdItem" collection="groupId" open="(" separator="," close=")">
|
||||
#{groupIdItem}
|
||||
</foreach>
|
||||
</if>
|
||||
<if test="goodsId != null and goodsId.size() > 0">
|
||||
AND p.goods_id IN
|
||||
<foreach item="goodIdItem" collection="goodsId" open="(" separator="," close=")">
|
||||
#{goodIdItem}
|
||||
</foreach>
|
||||
</if>
|
||||
|
||||
GROUP BY
|
||||
i.room_id, i.body_id, i.group_id, p.goods_id, i.organ_id, i.order_id
|
||||
) sub
|
||||
LEFT JOIN
|
||||
order_goods g ON sub.organ_id = g.organ_id AND sub.order_id = g.order_id AND sub.goods_id = g.id
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user