mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-13 21:32:07 +08:00
工作台接口修改
This commit is contained in:
+2
@@ -10,6 +10,8 @@ public interface DictTypeConstants {
|
|||||||
String GRAIN_TYPE = "grainType";// 小板纹路类型
|
String GRAIN_TYPE = "grainType";// 小板纹路类型
|
||||||
String DOOR_OPENING_DIRECTIONS = "doorOpeningDirections";//开门方向
|
String DOOR_OPENING_DIRECTIONS = "doorOpeningDirections";//开门方向
|
||||||
String PLATE_TYPE = "order_plate_type"; // 板类型
|
String PLATE_TYPE = "order_plate_type"; // 板类型
|
||||||
|
String UNIT_LENGTH = "unit_length"; // 长度单位
|
||||||
|
String UNIT_AREA = "area_unit"; // 面积单位
|
||||||
|
|
||||||
|
|
||||||
// ========== HOLE 模块 ==========
|
// ========== HOLE 模块 ==========
|
||||||
|
|||||||
+95
-58
@@ -1,12 +1,9 @@
|
|||||||
package com.cf.imes.module.executor.controller.admin.order;
|
package com.cf.imes.module.executor.controller.admin.order;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
|
|
||||||
import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
|
import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
|
||||||
import com.cf.imes.framework.common.pojo.PageParam;
|
import com.cf.imes.framework.common.pojo.PageParam;
|
||||||
import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils;
|
import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils;
|
||||||
import com.cf.imes.framework.web.config.WebProperties;
|
|
||||||
import com.cf.imes.framework.web.core.util.WebFrameworkUtils;
|
|
||||||
import com.cf.imes.module.executor.controller.admin.order.vo.order.*;
|
import com.cf.imes.module.executor.controller.admin.order.vo.order.*;
|
||||||
import com.cf.imes.module.executor.controller.admin.order.vo.product.OrderBodyRespVO;
|
import com.cf.imes.module.executor.controller.admin.order.vo.product.OrderBodyRespVO;
|
||||||
import com.cf.imes.module.executor.controller.admin.order.vo.product.OrderRoomBodyRespVO;
|
import com.cf.imes.module.executor.controller.admin.order.vo.product.OrderRoomBodyRespVO;
|
||||||
@@ -20,12 +17,11 @@ import com.cf.imes.module.executor.util.fileConversion.admin.api.webcad.ApiTypeR
|
|||||||
import com.cf.imes.module.executor.util.fileConversion.admin.files.excel.ExcelReadUtil;
|
import com.cf.imes.module.executor.util.fileConversion.admin.files.excel.ExcelReadUtil;
|
||||||
import com.cf.imes.module.executor.util.fileConversion.admin.files.excel.OrderPlateImportExcelVO;
|
import com.cf.imes.module.executor.util.fileConversion.admin.files.excel.OrderPlateImportExcelVO;
|
||||||
import com.cf.imes.module.executor.util.fileConversion.admin.files.xml.VO.OrderXmlVO;
|
import com.cf.imes.module.executor.util.fileConversion.admin.files.xml.VO.OrderXmlVO;
|
||||||
import com.cf.imes.module.executor.util.fileConversion.admin.files.xml.XMLReadUtil;
|
import com.cf.imes.module.executor.util.fileConversion.admin.files.xml.XMLUtil;
|
||||||
|
import com.cf.imes.module.executor.util.fileConversion.admin.files.xml.XmlBuilder;
|
||||||
import com.cf.imes.module.executor.util.fileConversion.admin.files.xml.XmlTypeRealize;
|
import com.cf.imes.module.executor.util.fileConversion.admin.files.xml.XmlTypeRealize;
|
||||||
import io.swagger.v3.oas.annotations.Parameters;
|
import io.swagger.v3.oas.annotations.Parameters;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springdoc.webmvc.core.RequestService;
|
|
||||||
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
|
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
@@ -61,12 +57,9 @@ import com.cf.imes.module.executor.service.order.OrderService;
|
|||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
import org.springframework.web.context.request.RequestAttributes;
|
|
||||||
import org.springframework.web.context.request.RequestContextHolder;
|
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.concurrent.CompletableFuture;
|
|
||||||
import java.util.concurrent.ExecutionException;
|
import java.util.concurrent.ExecutionException;
|
||||||
|
|
||||||
|
|
||||||
@@ -93,7 +86,7 @@ public class OrderController {
|
|||||||
private IdentifierGenerator identifierGenerator;
|
private IdentifierGenerator identifierGenerator;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private XmlTypeRealize xmlTypeRealize;
|
private XMLUtil xmlUtil;
|
||||||
|
|
||||||
|
|
||||||
@PutMapping("/update")
|
@PutMapping("/update")
|
||||||
@@ -195,8 +188,7 @@ public class OrderController {
|
|||||||
@Operation(summary = "生产单api数据导入新增")
|
@Operation(summary = "生产单api数据导入新增")
|
||||||
@Parameter(name = "orderNo", description = "原订单号", required = true, example = "20230809027818")
|
@Parameter(name = "orderNo", description = "原订单号", required = true, example = "20230809027818")
|
||||||
@PreAuthorize("@ss.hasPermission('production:manager-list:create')")
|
@PreAuthorize("@ss.hasPermission('production:manager-list:create')")
|
||||||
public CommonResult<Long> getApiData(@RequestParam(value = "orderNo") String orderNo)
|
public CommonResult<Long> getApiData(@RequestParam(value = "orderNo") String orderNo){
|
||||||
throws InterruptedException, ExecutionException {
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Long orderId = (Long) identifierGenerator.nextId(null);
|
Long orderId = (Long) identifierGenerator.nextId(null);
|
||||||
@@ -292,70 +284,107 @@ public class OrderController {
|
|||||||
@RequestParam(value = "type") Integer type,
|
@RequestParam(value = "type") Integer type,
|
||||||
@RequestParam(value = "index", required = false, defaultValue = "0") Integer index,
|
@RequestParam(value = "index", required = false, defaultValue = "0") Integer index,
|
||||||
@RequestParam(value = "id", required = false, defaultValue = "0") Long orderId,
|
@RequestParam(value = "id", required = false, defaultValue = "0") Long orderId,
|
||||||
HttpServletResponse response) throws IOException {
|
HttpServletResponse response) {
|
||||||
try {
|
try {
|
||||||
List<?> list = null;
|
List<OrderPlateImportExcelVO> list = null;
|
||||||
OrderDO orderDO = new OrderDO();
|
|
||||||
OrderXmlVO orderXmlVO = null;
|
OrderXmlVO orderXmlVO = null;
|
||||||
|
|
||||||
Map<String, Object> mapOrder = null;
|
OrderDO orderDO = null;
|
||||||
String err = "";
|
Map<String, Object> mapOrder;
|
||||||
|
|
||||||
|
Boolean flag = true;
|
||||||
|
|
||||||
|
|
||||||
if (type == 0) { //excel
|
if (type == 0) { //excel
|
||||||
excelReadUtil.setErr(0);
|
excelReadUtil.setErr(0);
|
||||||
Map<String, Object> map = excelReadUtil.read(file);
|
Map<String, Object> map = excelReadUtil.read(file);
|
||||||
if (excelReadUtil.isErr() > 0) {
|
list = (List<OrderPlateImportExcelVO>) map.get("plate");
|
||||||
ExcelWriterUtil.write(response, (Map<Object, Object>) map.get("order"), (List<OrderPlateImportExcelVO>) map.get("plate"),
|
mapOrder = (Map<String, Object>) map.get("orderPri");
|
||||||
orderService.getSavePath() + File.separator + "order_add_excel_err.xlsx");
|
|
||||||
return;
|
if (index == 0) { // 全部
|
||||||
|
if (mapOrder != null) {
|
||||||
|
Map<String, Object> mapChange = excelReadUtil.changeOrderDO(mapOrder);
|
||||||
|
mapOrder = (Map<String, Object>) mapChange.get("file");
|
||||||
|
orderDO = (OrderDO) mapChange.get("order");
|
||||||
|
flag = (Boolean) mapChange.get("error");
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
list = (List<?>) map.get("plate");
|
orderDO = orderService.getOrder(orderId);
|
||||||
mapOrder = (Map<String, Object>) map.get("order");
|
if (orderDO == null) {
|
||||||
orderDO = (OrderDO) mapOrder.get("order");
|
mapOrder = new HashMap<>();
|
||||||
|
mapOrder.put("自定义单号", "生产单号不存在");
|
||||||
|
flag = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mapOrder == null) {
|
||||||
|
mapOrder = new HashMap<>();
|
||||||
|
mapOrder.put("自定义单号", "生产单内容解析为空");
|
||||||
|
flag = false;
|
||||||
|
}else if (orderDO == null) {
|
||||||
|
mapOrder.put("自定义单号", "生产单内为空");
|
||||||
|
flag = false;
|
||||||
|
} else if (orderDO.getCustomOrderNo() != null && !orderService.customOrderNoIsExists(orderDO.getCustomOrderNo())) {
|
||||||
|
mapOrder.put("自定义单号", mapOrder.get("自定义单号") + "自定义单号重复");
|
||||||
|
flag = false;
|
||||||
|
} else if ( excelReadUtil.isErr() > 0 ){
|
||||||
|
flag = false;
|
||||||
|
} else if ( excelReadUtil.isErr() == 0 && flag ){
|
||||||
if (list.size() == 0) {
|
if (list.size() == 0) {
|
||||||
orderDO.setStatus(OrderStatusEnum.EMPTY.getStatus());
|
orderDO.setStatus(OrderStatusEnum.EMPTY.getStatus());
|
||||||
} else {
|
} else {
|
||||||
orderDO.setStatus(OrderStatusEnum.NEW_ORDER.getStatus());
|
orderDO.setStatus(OrderStatusEnum.NEW_ORDER.getStatus());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (!flag) {
|
||||||
|
ExcelWriterUtil.write(response, mapOrder, list, orderService.getSavePath() + File.separator + "order_add_excel_err.xlsx");
|
||||||
|
return;
|
||||||
|
}
|
||||||
} else if (type == 1) { // json
|
} else if (type == 1) { // json
|
||||||
|
|
||||||
} else if (type == 2) { // xml
|
} else if (type == 2) { // xml
|
||||||
orderXmlVO = (OrderXmlVO) XMLReadUtil.read(file, OrderXmlVO.class);
|
orderXmlVO = (OrderXmlVO) XMLUtil.read(file, OrderXmlVO.class);
|
||||||
// 数据内容正确判断
|
|
||||||
// if(){
|
|
||||||
//
|
|
||||||
// }
|
|
||||||
assert orderXmlVO != null;
|
|
||||||
mapOrder = xmlTypeRealize.changeOrder(orderXmlVO, getUserOrganId());
|
|
||||||
orderDO = (OrderDO) mapOrder.get("order");
|
|
||||||
if (orderXmlVO.getMaterialXmlVO().getPlateXmlVOS().getPlateXmlVOList().size() == 0) {
|
|
||||||
orderDO.setStatus(OrderStatusEnum.EMPTY.getStatus());
|
|
||||||
} else {
|
|
||||||
orderDO.setStatus(OrderStatusEnum.NEW_ORDER.getStatus());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (index == null || index == 0) { // 整单导入
|
if (index == 0){
|
||||||
err = ((String) mapOrder.get("error"));
|
if (orderXmlVO != null) {
|
||||||
orderDO.setOrderType(OrderTypeEnum.MAIN_ORDER.getStatus());
|
mapOrder = xmlUtil.changeDate(orderXmlVO, getUserOrganId()); // 生产单数据格式验证
|
||||||
if (!orderService.customOrderNoIsExists(orderDO.getCustomOrderNo())) {
|
orderDO = (OrderDO) mapOrder.get("order");
|
||||||
err += orderDO.getCustomOrderNo() + "-自定义生产单号已存在;";
|
flag = (Boolean) mapOrder.get("error");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
orderDO = orderService.getOrder(orderId);
|
||||||
|
if (orderDO == null) {
|
||||||
|
orderXmlVO = new OrderXmlVO().setMemo("生产单号不存在");
|
||||||
|
flag = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (!err.equals("")) {
|
|
||||||
ExcelWriterUtil.writeErr(response, err, orderService.getSavePath() + File.separator + "order_err.xlsx");
|
// 生产数据格式验证
|
||||||
|
if (orderXmlVO == null) {
|
||||||
|
orderXmlVO = new OrderXmlVO().setMemo("文件内容解析为空");
|
||||||
|
flag = false;
|
||||||
|
} else if (orderDO == null) {
|
||||||
|
orderXmlVO = new OrderXmlVO().setMemo("生产单内容为空");
|
||||||
|
flag = false;
|
||||||
|
} else if (orderDO.getCustomOrderNo() != null && !orderService.customOrderNoIsExists(orderDO.getCustomOrderNo())) {
|
||||||
|
orderXmlVO.setCustomOrderNo(orderXmlVO.getCustomOrderNo() + "自定义单号重复");
|
||||||
|
flag = false;
|
||||||
|
} else if (flag){ // 生产单的内容正确
|
||||||
|
if (orderXmlVO.getMaterialXmlVO().getPlateXmlVOS().getPlateXmlVOList().size() == 0) {
|
||||||
|
orderDO.setStatus(OrderStatusEnum.EMPTY.getStatus());
|
||||||
|
} else {
|
||||||
|
orderDO.setStatus(OrderStatusEnum.NEW_ORDER.getStatus());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!flag){
|
||||||
|
String xmlStr = XmlBuilder.objectToXmlStr(orderXmlVO);
|
||||||
|
XMLUtil.writeErr(response, xmlStr, " 错误.xml");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
} else { // 板材导入
|
|
||||||
orderDO = orderService.getOrder(orderId);
|
|
||||||
}
|
}
|
||||||
|
orderService.importExcelData(orderDO, type , index, list, orderXmlVO);
|
||||||
orderService.importExcelData(orderDO, list, index, orderXmlVO);
|
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
ExcelWriterUtil.writeErr(response, "系统出现未知错误,请下载模板,按照模板重新上传文件,注意编码格式", orderService.getSavePath() + File.separator + "order_err.xlsx");
|
log.error("文件导入异常", e);
|
||||||
log.error("导入文件出现异常", e);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -453,12 +482,20 @@ public class OrderController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 统计
|
// 统计
|
||||||
// 生产单超期/到期告警 (工作台)
|
// 生产单超期(工作台)
|
||||||
@GetMapping("/getOrderWarn")
|
@GetMapping("/getOrderOverdue")
|
||||||
@Operation(summary = "生产单超期/到期告警 (工作台)")
|
@Operation(summary = "生产单超期 (工作台)")
|
||||||
@PreAuthorize("@ss.hasPermission('productManager:List')")
|
@PreAuthorize("@ss.hasPermission('productManager:List')")
|
||||||
public CommonResult<Map<String, PageResult<OrderOverdueRespVO>>> getOrderOverdue(@Valid PageParam pageParam) {
|
public CommonResult<PageResult<OrderOverdueRespVO>> getOrderOverdue(@Valid PageParam pageParam) {
|
||||||
return success(orderService.getOrderWarn(pageParam));
|
return success(orderService.getOrderOverdue(pageParam));
|
||||||
|
}
|
||||||
|
|
||||||
|
// 生产单到期告警 (工作台)
|
||||||
|
@GetMapping("/getOrderWarn")
|
||||||
|
@Operation(summary = "生产单到期告警 (工作台)")
|
||||||
|
@PreAuthorize("@ss.hasPermission('productManager:List')")
|
||||||
|
public CommonResult<PageResult<OrderOverdueRespVO>> getOrderNear(@Valid PageParam pageParam) {
|
||||||
|
return success(orderService.getOrderNear(pageParam));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
+8
-2
@@ -11,6 +11,7 @@ import com.cf.imes.module.executor.controller.admin.order.vo.product.OrderRoomBo
|
|||||||
import com.cf.imes.module.executor.controller.admin.orderParts.vo.OrderPartsRespVO;
|
import com.cf.imes.module.executor.controller.admin.orderParts.vo.OrderPartsRespVO;
|
||||||
import com.cf.imes.module.executor.dal.dataobject.order.OrderDO;
|
import com.cf.imes.module.executor.dal.dataobject.order.OrderDO;
|
||||||
import com.cf.imes.framework.common.pojo.PageResult;
|
import com.cf.imes.framework.common.pojo.PageResult;
|
||||||
|
import com.cf.imes.module.executor.util.fileConversion.admin.files.excel.OrderPlateImportExcelVO;
|
||||||
import com.cf.imes.module.executor.util.fileConversion.admin.files.xml.VO.OrderXmlVO;
|
import com.cf.imes.module.executor.util.fileConversion.admin.files.xml.VO.OrderXmlVO;
|
||||||
import org.springframework.boot.system.ApplicationHome;
|
import org.springframework.boot.system.ApplicationHome;
|
||||||
|
|
||||||
@@ -107,7 +108,7 @@ public interface OrderService {
|
|||||||
/**
|
/**
|
||||||
* 文件数据导入
|
* 文件数据导入
|
||||||
*/
|
*/
|
||||||
void importExcelData(OrderDO orderDO, List<?> list, Integer index, OrderXmlVO orderXmlVO);
|
void importExcelData(OrderDO orderDO, Integer type, Integer index, List<OrderPlateImportExcelVO> list, OrderXmlVO orderXmlVO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 生产导入文件模板下载
|
* 生产导入文件模板下载
|
||||||
@@ -141,7 +142,12 @@ public interface OrderService {
|
|||||||
/**
|
/**
|
||||||
* 生产单超期告警分析统计
|
* 生产单超期告警分析统计
|
||||||
*/
|
*/
|
||||||
Map<String,PageResult<OrderOverdueRespVO>> getOrderWarn(PageParam pageParam);
|
PageResult<OrderOverdueRespVO> getOrderOverdue(PageParam pageParam);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生产单到期告警分析统计
|
||||||
|
*/
|
||||||
|
PageResult<OrderOverdueRespVO> getOrderNear(PageParam pageParam);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
+30
-14
@@ -44,6 +44,7 @@ import com.cf.imes.module.executor.util.deviseData.structure.PlateDetail;
|
|||||||
import com.cf.imes.module.executor.util.fileConversion.admin.api.webcad.ApiDataAchieve;
|
import com.cf.imes.module.executor.util.fileConversion.admin.api.webcad.ApiDataAchieve;
|
||||||
import com.cf.imes.module.executor.util.fileConversion.admin.api.webcad.ApiTypeRealize;
|
import com.cf.imes.module.executor.util.fileConversion.admin.api.webcad.ApiTypeRealize;
|
||||||
import com.cf.imes.module.executor.util.fileConversion.admin.files.excel.ExcelTypeRealize;
|
import com.cf.imes.module.executor.util.fileConversion.admin.files.excel.ExcelTypeRealize;
|
||||||
|
import com.cf.imes.module.executor.util.fileConversion.admin.files.excel.OrderPlateImportExcelVO;
|
||||||
import com.cf.imes.module.executor.util.fileConversion.admin.files.xml.VO.OrderXmlVO;
|
import com.cf.imes.module.executor.util.fileConversion.admin.files.xml.VO.OrderXmlVO;
|
||||||
import com.cf.imes.module.executor.util.fileConversion.admin.files.xml.XmlTypeRealize;
|
import com.cf.imes.module.executor.util.fileConversion.admin.files.xml.XmlTypeRealize;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -423,17 +424,30 @@ public class OrderServiceImpl implements OrderService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void importExcelData(OrderDO orderDO, List<?> list, Integer index, OrderXmlVO orderXmlVO) {
|
public void importExcelData(OrderDO orderDO, Integer type, Integer index, List<OrderPlateImportExcelVO> list, OrderXmlVO orderXmlVO) {
|
||||||
if (index == null || index == 0) {
|
if (index == null || index == 0) {
|
||||||
orderDO.setId((Long) snowFlakeGenerator.nextId(null));
|
orderDO.setId((Long) snowFlakeGenerator.nextId(null));
|
||||||
|
String nickName = SecurityFrameworkUtils.getLoginUser().getNickname();
|
||||||
|
if (orderDO.getSalesman() == null || orderDO.getSalesman().equals("")) {
|
||||||
|
orderDO.setSalesman(nickName);
|
||||||
|
}
|
||||||
|
if (orderDO.getSplitter() == null || orderDO.getSplitter().equals("")) {
|
||||||
|
orderDO.setSplitter(nickName);
|
||||||
|
}
|
||||||
orderMapper.insert(orderDO);
|
orderMapper.insert(orderDO);
|
||||||
}
|
}
|
||||||
Map<String, List<?>> listMap = null;
|
Map<String, List<?>> listMap = null;
|
||||||
|
|
||||||
if (list != null && list.size() > 0) {
|
if (type == 0){
|
||||||
listMap = excelTypeRealize.changeDate(list, orderDO.getId());
|
if (list != null && list.size() > 0) {
|
||||||
} else if (orderXmlVO != null) {
|
listMap = excelTypeRealize.changeDate(list, orderDO.getId());
|
||||||
listMap = xmlTypeRealize.goodsInfoChange(orderXmlVO, orderDO.getId(), getUserOrganId());
|
}
|
||||||
|
} else if (type == 1) {
|
||||||
|
|
||||||
|
} else if (type == 2) {
|
||||||
|
if (orderXmlVO != null) {
|
||||||
|
listMap = xmlTypeRealize.goodsInfoChange(orderXmlVO, orderDO.getId(), getUserOrganId());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
List<RawGoodsDO> rawGoodsDO = (List<RawGoodsDO>) listMap.get("rawGoodsDOS");
|
List<RawGoodsDO> rawGoodsDO = (List<RawGoodsDO>) listMap.get("rawGoodsDOS");
|
||||||
List<GoodsDO> goodsDO = (List<GoodsDO>) listMap.get("goodsDOS");
|
List<GoodsDO> goodsDO = (List<GoodsDO>) listMap.get("goodsDOS");
|
||||||
@@ -564,19 +578,21 @@ public class OrderServiceImpl implements OrderService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String, PageResult<OrderOverdueRespVO>> getOrderWarn(PageParam pageParam) {
|
public PageResult<OrderOverdueRespVO> getOrderOverdue(PageParam pageParam) {
|
||||||
Map<String, PageResult<OrderOverdueRespVO>> map = new HashMap<>();
|
|
||||||
|
|
||||||
LocalDate todayDate = LocalDate.now();
|
LocalDate todayDate = LocalDate.now();
|
||||||
LocalDate tomorrow = LocalDate.now().plus(1, ChronoUnit.DAYS);
|
|
||||||
PageDTO<OrderOverdueRespVO> page = new PageDTO<>(pageParam.getPageNo(), pageParam.getPageSize());
|
PageDTO<OrderOverdueRespVO> page = new PageDTO<>(pageParam.getPageNo(), pageParam.getPageSize());
|
||||||
// 查询预警单
|
|
||||||
IPage<OrderOverdueRespVO> orderNearVOS = orderMapper.selectOrderNear(tomorrow, OrganContextHolder.getOrganId(), page);
|
|
||||||
map.put("orderNearVOS", new PageResult<OrderOverdueRespVO>(orderNearVOS.getRecords(), orderNearVOS.getTotal()));
|
|
||||||
// 查询超时单
|
// 查询超时单
|
||||||
IPage<OrderOverdueRespVO> orderOverdueVOS = orderMapper.selectOrderOverdue(todayDate, OrganContextHolder.getOrganId(), page);
|
IPage<OrderOverdueRespVO> orderOverdueVOS = orderMapper.selectOrderOverdue(todayDate, OrganContextHolder.getOrganId(), page);
|
||||||
map.put("orderOverdueVOS", new PageResult<OrderOverdueRespVO>(orderOverdueVOS.getRecords(), orderOverdueVOS.getTotal()));
|
return new PageResult<OrderOverdueRespVO>(orderOverdueVOS.getRecords(), orderOverdueVOS.getTotal());
|
||||||
return map;
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PageResult<OrderOverdueRespVO> getOrderNear(PageParam pageParam) {
|
||||||
|
PageDTO<OrderOverdueRespVO> page = new PageDTO<>(pageParam.getPageNo(), pageParam.getPageSize());
|
||||||
|
LocalDate tomorrow = LocalDate.now().plus(1, ChronoUnit.DAYS);
|
||||||
|
// 查询预警单
|
||||||
|
IPage<OrderOverdueRespVO> orderNearVOS = orderMapper.selectOrderNear(tomorrow, OrganContextHolder.getOrganId(), page);
|
||||||
|
return new PageResult<OrderOverdueRespVO>(orderNearVOS.getRecords(), orderNearVOS.getTotal());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
+1
-1
@@ -30,7 +30,7 @@ public class ExcelWriterUtil {
|
|||||||
|
|
||||||
// 写excel
|
// 写excel
|
||||||
public static void write(HttpServletResponse response,
|
public static void write(HttpServletResponse response,
|
||||||
Map<Object, Object> orderMap,
|
Map<String, Object> orderMap,
|
||||||
List<OrderPlateImportExcelVO> list,
|
List<OrderPlateImportExcelVO> list,
|
||||||
String filePathErr) throws IOException {
|
String filePathErr) throws IOException {
|
||||||
|
|
||||||
|
|||||||
+6
-6
@@ -15,16 +15,16 @@ import lombok.NoArgsConstructor;
|
|||||||
public class BasePosition {
|
public class BasePosition {
|
||||||
private String basePoint;// 基准点
|
private String basePoint;// 基准点
|
||||||
|
|
||||||
private String basePointX;// 基准点X坐标
|
private Double basePointX;// 基准点X坐标
|
||||||
|
|
||||||
private String basePointY;// 基准点Y坐标
|
private Double basePointY;// 基准点Y坐标
|
||||||
|
|
||||||
private String basePointZ;// 基准点Z坐标
|
private Double basePointZ;// 基准点Z坐标
|
||||||
|
|
||||||
private String axisXrotate;// 绕X轴旋转角度
|
private Double axisXrotate;// 绕X轴旋转角度
|
||||||
|
|
||||||
private String axisYrotate;// 绕Y轴旋转角度
|
private Double axisYrotate;// 绕Y轴旋转角度
|
||||||
|
|
||||||
private String axisZrotate;// 绕Z轴旋转角度
|
private Double axisZrotate;// 绕Z轴旋转角度
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-1
@@ -1,5 +1,6 @@
|
|||||||
package com.cf.imes.module.executor.util.deviseData.structure;
|
package com.cf.imes.module.executor.util.deviseData.structure;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -99,7 +100,7 @@ public class PlateDetail{
|
|||||||
private List<HoleDetail> sideHoleDetail;//侧面孔明细
|
private List<HoleDetail> sideHoleDetail;//侧面孔明细
|
||||||
|
|
||||||
// 备注
|
// 备注
|
||||||
private Map<String,String> remark;// 板件备注 (生产数据接口中)
|
private Map<String,String> plateRemark;// 板件备注 (生产数据接口中)
|
||||||
private Map<String,String> sideRemark;// 封边备注
|
private Map<String,String> sideRemark;// 封边备注
|
||||||
|
|
||||||
private String extraRemark; // 扩展备注(包含铰链备注、订单板件流水号)(板材明细中)
|
private String extraRemark; // 扩展备注(包含铰链备注、订单板件流水号)(板材明细中)
|
||||||
|
|||||||
+38
-1
@@ -55,7 +55,7 @@ public class ToolUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 数据类型转换
|
// 数据类型转换
|
||||||
public static boolean convertToType(String str, Class<?> targetType) {
|
public static Boolean convertToType(String str, Class<?> targetType) {
|
||||||
try {
|
try {
|
||||||
Method method = targetType.getMethod("parse" + targetType.getSimpleName(), String.class);
|
Method method = targetType.getMethod("parse" + targetType.getSimpleName(), String.class);
|
||||||
method.invoke(null, str);
|
method.invoke(null, str);
|
||||||
@@ -65,5 +65,42 @@ public class ToolUtil {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 数值正负判断
|
||||||
|
public static Boolean checkNumber(String numberStr) {
|
||||||
|
try {
|
||||||
|
double number = Double.parseDouble(numberStr);
|
||||||
|
// 进行正负判断
|
||||||
|
if (number >= 0) {
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
} catch (NumberFormatException e) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 数据长度判断
|
||||||
|
public static boolean checkPrecision(String numberStr, Integer length, Integer decimalLength) {
|
||||||
|
if (numberStr == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 分割整数部分和小数部分
|
||||||
|
String[] parts = numberStr.split("\\.");
|
||||||
|
String integerPart = parts[0];
|
||||||
|
String decimalPart = parts.length > 1 ? parts[1] : "";
|
||||||
|
|
||||||
|
// 检查整数部分位数
|
||||||
|
if (integerPart.length() > length) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 检查小数部分位数
|
||||||
|
if (decimalPart.length() > decimalLength) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-4
@@ -795,8 +795,8 @@ public class ApiTypeRealize {
|
|||||||
.setThroughModelCount(Double.valueOf(block.getJSONObject("ExtraRemark").getJSONObject("extra").getString("throughModelCount")))
|
.setThroughModelCount(Double.valueOf(block.getJSONObject("ExtraRemark").getJSONObject("extra").getString("throughModelCount")))
|
||||||
.setHas2DModel(Boolean.valueOf(block.getJSONObject("ExtraRemark").getJSONObject("extra").getString("has2DModel")))
|
.setHas2DModel(Boolean.valueOf(block.getJSONObject("ExtraRemark").getJSONObject("extra").getString("has2DModel")))
|
||||||
.setHas3DModel(Boolean.valueOf(block.getJSONObject("ExtraRemark").getJSONObject("extra").getString("has3DModel")))
|
.setHas3DModel(Boolean.valueOf(block.getJSONObject("ExtraRemark").getJSONObject("extra").getString("has3DModel")))
|
||||||
.setRemark(remarkToMap(block))
|
.setPlateRemark(remarkToMap(block));
|
||||||
.setSideRemark(edgeRemarkToMap(block.getJSONObject("ExtraRemark").getJSONObject("extra")));
|
// .setSideRemark(edgeRemarkToMap(block.getJSONObject("ExtraRemark").getJSONObject("extra")));
|
||||||
}
|
}
|
||||||
plateDetails.put(block.getLong("BlockNo"), plateDetail);
|
plateDetails.put(block.getLong("BlockNo"), plateDetail);
|
||||||
}
|
}
|
||||||
@@ -975,8 +975,8 @@ public class ApiTypeRealize {
|
|||||||
// 将remark转为map
|
// 将remark转为map
|
||||||
public Map<String, String> remarkToMap(JSONObject block) {
|
public Map<String, String> remarkToMap(JSONObject block) {
|
||||||
Map<String, String> map = new HashMap<>();
|
Map<String, String> map = new HashMap<>();
|
||||||
for (int i = 0; i < 4; i++) {
|
for (int i = 1; i < 6; i++) {
|
||||||
if (block.getString("remark" + i) != null && !block.getString("remark" + i).isEmpty()) {
|
if (block.getString("Remark" + i) != null && !block.getString("Remark" + i).isEmpty()) {
|
||||||
map.put("remark" + i, block.getString("remark" + i));
|
map.put("remark" + i, block.getString("remark" + i));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+112
-40
@@ -8,6 +8,7 @@ import com.alibaba.nacos.common.utils.StringUtils;
|
|||||||
import com.cf.imes.framework.organ.core.context.OrganContextHolder;
|
import com.cf.imes.framework.organ.core.context.OrganContextHolder;
|
||||||
import com.cf.imes.module.executor.dal.dataobject.order.OrderDO;
|
import com.cf.imes.module.executor.dal.dataobject.order.OrderDO;
|
||||||
import com.cf.imes.module.executor.enums.DataTypeEnum;
|
import com.cf.imes.module.executor.enums.DataTypeEnum;
|
||||||
|
import com.cf.imes.module.executor.enums.OrderTypeEnum;
|
||||||
import com.cf.imes.module.executor.util.fileConversion.admin.ToolUtil;
|
import com.cf.imes.module.executor.util.fileConversion.admin.ToolUtil;
|
||||||
import com.cf.imes.module.system.api.dict.DictDataApi;
|
import com.cf.imes.module.system.api.dict.DictDataApi;
|
||||||
import com.cf.imes.module.system.api.dict.dto.DictDataRespDTO;
|
import com.cf.imes.module.system.api.dict.dto.DictDataRespDTO;
|
||||||
@@ -21,13 +22,10 @@ import java.io.*;
|
|||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.time.format.DateTimeParseException;
|
|
||||||
import java.time.temporal.ChronoUnit;
|
import java.time.temporal.ChronoUnit;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.concurrent.atomic.AtomicBoolean;
|
import java.util.concurrent.atomic.AtomicBoolean;
|
||||||
import java.util.concurrent.atomic.AtomicInteger;
|
import java.util.concurrent.atomic.AtomicInteger;
|
||||||
import java.util.regex.Matcher;
|
|
||||||
import java.util.regex.Pattern;
|
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Component
|
@Component
|
||||||
@@ -45,7 +43,7 @@ public class ExcelReadUtil { // 文件读取
|
|||||||
// 读文件
|
// 读文件
|
||||||
EasyExcel.read(file.getInputStream(), excelListener).headRowNumber(-1).sheet().doRead();
|
EasyExcel.read(file.getInputStream(), excelListener).headRowNumber(-1).sheet().doRead();
|
||||||
|
|
||||||
Map<Object, Object> orderMap = new HashMap<>();// order
|
Map<String, Object> orderMap = new HashMap<>();// order
|
||||||
List<Map<Integer, String>> dataLists = excelListener.getDataLists();// 读取的内容
|
List<Map<Integer, String>> dataLists = excelListener.getDataLists();// 读取的内容
|
||||||
List<OrderPlateImportExcelVO> list = new ArrayList<>();// plate
|
List<OrderPlateImportExcelVO> list = new ArrayList<>();// plate
|
||||||
|
|
||||||
@@ -78,72 +76,146 @@ public class ExcelReadUtil { // 文件读取
|
|||||||
// if (MapUtil.isEmpty(orderMap) || CollectionUtil.isEmpty(list)) {
|
// if (MapUtil.isEmpty(orderMap) || CollectionUtil.isEmpty(list)) {
|
||||||
// isErr.set(-1);
|
// isErr.set(-1);
|
||||||
// }
|
// }
|
||||||
map.put("order", changeOrderDO(orderMap));
|
map.put("orderPri", orderMap);
|
||||||
map.put("plate", list);
|
map.put("plate", list);
|
||||||
return map;
|
return map;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// order 数据转换
|
// order 数据转换
|
||||||
public Map<String, Object> changeOrderDO(Map<Object, Object> orderMap) {
|
public Map<String, Object> changeOrderDO(Map<String, Object> orderMap) {
|
||||||
Map<String, Object> map = new HashMap<>();
|
Map<String, Object> map = new HashMap<>();
|
||||||
String error = "";
|
boolean error = true;
|
||||||
// 判断是否为空
|
|
||||||
if (orderMap.get("客户") == null) {
|
if (orderMap.get("客户") == null) {
|
||||||
error += "客户不能为空;";
|
orderMap.put("客户", "---< 客户不能为空 >---");
|
||||||
|
error = false;
|
||||||
}
|
}
|
||||||
if (orderMap.get("经销商") == null) {
|
if (orderMap.get("经销商") == null) {
|
||||||
error += "经销商不能为空;";
|
orderMap.put("经销商", "---< 经销商不能为空 >---");
|
||||||
|
error = false;
|
||||||
}
|
}
|
||||||
if (orderMap.get("客户地址") == null) {
|
if (orderMap.get("客户地址") == null) {
|
||||||
error += "客户地址不能为空;";
|
orderMap.put("客户地址", "---< 客户地址不能为空 >---");
|
||||||
|
error = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (orderMap.get("客户电话") == null) {
|
if (orderMap.get("客户电话") == null) {
|
||||||
error += "客户电话不能为空;";
|
orderMap.put("客户电话", "---< 客户电话不能为空 >---");
|
||||||
|
error = false;
|
||||||
} else {
|
} else {
|
||||||
if (!ToolUtil.validatePhoneNumber((String) orderMap.get("客户电话"))) {
|
if (!ToolUtil.validatePhoneNumber((String) orderMap.get("客户电话"))) {
|
||||||
error += orderMap.get("客户电话") + "-客户电话格式错误;";
|
orderMap.put("客户电话", orderMap.get("客户电话") + "---< 客户电话格式错误 >---");
|
||||||
|
error = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (orderMap.get("经销商电话") != null) {
|
if (orderMap.get("经销商电话") != null) {
|
||||||
if (!ToolUtil.validatePhoneNumber((String) orderMap.get("经销商电话"))) {
|
if (!ToolUtil.validatePhoneNumber((String) orderMap.get("经销商电话"))) {
|
||||||
error += orderMap.get("经销商电话") + "-经销商电话格式错误;";
|
orderMap.put("经销商电话", orderMap.get("经销商电话") + "---< 经销商电话格式错误 >---");
|
||||||
|
error = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
OrderDO orderDO = OrderDO.builder()
|
LocalDate deliverDate = null;
|
||||||
.organId(OrganContextHolder.getOrganId())
|
|
||||||
.dataType(DataTypeEnum.FILE_IMPORT.getStatus())
|
|
||||||
.orderDate(LocalDateTime.now())
|
|
||||||
.customer((String) orderMap.get("客户")) //
|
|
||||||
.customOrderNo((String) orderMap.get("自定义单号"))
|
|
||||||
.dealer((String) orderMap.get("经销商")) //
|
|
||||||
.dealerPhoneNumber((String) orderMap.get("经销商电话"))
|
|
||||||
.address((String) orderMap.get("客户地址")) //
|
|
||||||
.phoneNumber((String) orderMap.get("客户电话")) //
|
|
||||||
.salesman((String) orderMap.get("业务员"))
|
|
||||||
.splitter((String) orderMap.get("拆单员"))
|
|
||||||
.remark((String) orderMap.get("备注"))
|
|
||||||
.build();
|
|
||||||
if (orderMap.get("出货日期") == null) {
|
if (orderMap.get("出货日期") == null) {
|
||||||
error += "出货日期不能为空;";
|
orderMap.put("出货日期", "---< 出货日期不能为空 >---");
|
||||||
|
error = false;
|
||||||
} else {
|
} else {
|
||||||
String s = (String) orderMap.get("出货日期");
|
String s = (String) orderMap.get("出货日期");
|
||||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||||
Map<String, Object> mapDate = ToolUtil.changeDate(s, formatter);
|
Map<String, Object> mapDate = ToolUtil.changeDate(s, formatter);
|
||||||
if (mapDate.get("error") instanceof Integer && (Integer) mapDate.get("error") == -1) {
|
if (mapDate.get("error") instanceof Integer && (Integer) mapDate.get("error") == -1) {
|
||||||
error += s + "-出货日期格式错误;";
|
orderMap.put("出货日期", s + "---< 出货日期格式错误 >---");
|
||||||
|
error = false;
|
||||||
} else {
|
} else {
|
||||||
LocalDate deliveryDate = (LocalDate) mapDate.get("date");
|
deliverDate = (LocalDate) mapDate.get("date");
|
||||||
if (deliveryDate.isBefore(LocalDate.now())) {
|
if (deliverDate.isBefore(LocalDate.now())) {
|
||||||
deliveryDate = LocalDate.now().plus(30, ChronoUnit.DAYS);
|
deliverDate = LocalDate.now().plus(30, ChronoUnit.DAYS);
|
||||||
}
|
}
|
||||||
orderDO.setDeliveryDate(deliveryDate.atStartOfDay());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
OrderDO orderDO = new OrderDO();
|
||||||
|
if (error) {
|
||||||
|
orderDO = OrderDO.builder()
|
||||||
|
.organId(OrganContextHolder.getOrganId())
|
||||||
|
.dataType(DataTypeEnum.FILE_IMPORT.getStatus())
|
||||||
|
.orderDate(LocalDateTime.now())
|
||||||
|
.customer((String) orderMap.get("客户"))
|
||||||
|
.customOrderNo((String) orderMap.get("自定义单号"))
|
||||||
|
.dealer((String) orderMap.get("经销商"))
|
||||||
|
.dealerPhoneNumber((String) orderMap.get("经销商电话"))
|
||||||
|
.address((String) orderMap.get("客户地址"))
|
||||||
|
.phoneNumber((String) orderMap.get("客户电话"))
|
||||||
|
.salesman((String) orderMap.get("业务员"))
|
||||||
|
.splitter((String) orderMap.get("拆单员"))
|
||||||
|
.deliveryDate(deliverDate.atStartOfDay())
|
||||||
|
.orderType(OrderTypeEnum.MAIN_ORDER.getStatus())
|
||||||
|
.remark((String) orderMap.get("备注"))
|
||||||
|
.build();
|
||||||
|
}
|
||||||
map.put("order", orderDO);
|
map.put("order", orderDO);
|
||||||
|
map.put("file", orderMap);
|
||||||
map.put("error", error);
|
map.put("error", error);
|
||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
|
// public Map<String, Object> changeOrderDO(Map<Object, Object> orderMap) {
|
||||||
|
// Map<String, Object> map = new HashMap<>();
|
||||||
|
// String error = "";
|
||||||
|
// if (orderMap.get("客户") == null) {
|
||||||
|
// error += "客户不能为空;";
|
||||||
|
// }
|
||||||
|
// if (orderMap.get("经销商") == null) {
|
||||||
|
// error += "经销商不能为空;";
|
||||||
|
// }
|
||||||
|
// if (orderMap.get("客户地址") == null) {
|
||||||
|
// error += "客户地址不能为空;";
|
||||||
|
// }
|
||||||
|
// if (orderMap.get("客户电话") == null) {
|
||||||
|
// error += "客户电话不能为空;";
|
||||||
|
// } else {
|
||||||
|
// if (!ToolUtil.validatePhoneNumber((String) orderMap.get("客户电话"))) {
|
||||||
|
// error += orderMap.get("客户电话") + "-客户电话格式错误;";
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// if (orderMap.get("经销商电话") != null) {
|
||||||
|
// if (!ToolUtil.validatePhoneNumber((String) orderMap.get("经销商电话"))) {
|
||||||
|
// error += orderMap.get("经销商电话") + "-经销商电话格式错误;";
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// OrderDO orderDO = OrderDO.builder()
|
||||||
|
// .organId(OrganContextHolder.getOrganId())
|
||||||
|
// .dataType(DataTypeEnum.FILE_IMPORT.getStatus())
|
||||||
|
// .orderDate(LocalDateTime.now())
|
||||||
|
// .customer((String) orderMap.get("客户")) //
|
||||||
|
// .customOrderNo((String) orderMap.get("自定义单号"))
|
||||||
|
// .dealer((String) orderMap.get("经销商")) //
|
||||||
|
// .dealerPhoneNumber((String) orderMap.get("经销商电话"))
|
||||||
|
// .address((String) orderMap.get("客户地址")) //
|
||||||
|
// .phoneNumber((String) orderMap.get("客户电话")) //
|
||||||
|
// .salesman((String) orderMap.get("业务员"))
|
||||||
|
// .splitter((String) orderMap.get("拆单员"))
|
||||||
|
// .orderType(OrderTypeEnum.MAIN_ORDER.getStatus())
|
||||||
|
// .remark((String) orderMap.get("备注"))
|
||||||
|
// .build();
|
||||||
|
// if (orderMap.get("出货日期") == null) {
|
||||||
|
// error += "出货日期不能为空;";
|
||||||
|
// } else {
|
||||||
|
// String s = (String) orderMap.get("出货日期");
|
||||||
|
// DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||||
|
// Map<String, Object> mapDate = ToolUtil.changeDate(s, formatter);
|
||||||
|
// if (mapDate.get("error") instanceof Integer && (Integer) mapDate.get("error") == -1) {
|
||||||
|
// error += s + "-出货日期格式错误;";
|
||||||
|
// } else {
|
||||||
|
// LocalDate deliveryDate = (LocalDate) mapDate.get("date");
|
||||||
|
// if (deliveryDate.isBefore(LocalDate.now())) {
|
||||||
|
// deliveryDate = LocalDate.now().plus(30, ChronoUnit.DAYS);
|
||||||
|
// }
|
||||||
|
// orderDO.setDeliveryDate(deliveryDate.atStartOfDay());
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// map.put("order", orderDO);
|
||||||
|
// map.put("error", error);
|
||||||
|
// return map;
|
||||||
|
// }
|
||||||
|
|
||||||
// 赋值单元格数据
|
// 赋值单元格数据
|
||||||
private OrderPlateImportExcelVO changeValue(Map<Integer, String> dataMap) {
|
private OrderPlateImportExcelVO changeValue(Map<Integer, String> dataMap) {
|
||||||
@@ -319,9 +391,9 @@ public class ExcelReadUtil { // 文件读取
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 检查商品物料编码或是商品名称、规格、材质、颜色不可全为空
|
// 检查商品物料编码或是商品名称、规格、材质、颜色不可全为空
|
||||||
if (StringUtils.isEmpty(vo.getGoodsId()) && (StringUtils.isEmpty(vo.getGoodsName()) || StringUtils.isEmpty(vo.getSpec())
|
if (StringUtils.isEmpty(vo.getGoodsName()) || StringUtils.isEmpty(vo.getSpec())
|
||||||
|| StringUtils.isEmpty(vo.getMaterial()) || StringUtils.isEmpty(vo.getColor()) || StringUtils.isEmpty(vo.getUnit()))) {
|
|| StringUtils.isEmpty(vo.getMaterial()) || StringUtils.isEmpty(vo.getColor()) || StringUtils.isEmpty(vo.getUnit())) {
|
||||||
errList.add("商品物料编码或是商品名称、规格、材质、颜色、单位不可全为空");
|
errList.add("商品商品名称、规格、材质、颜色、单位不可为空");
|
||||||
flag = false;
|
flag = false;
|
||||||
}
|
}
|
||||||
// 若商品类型为板材,需检查房间、柜体、板名称、成品长、成品宽、拆单长、拆单宽、厚、左封边、右封边、上封边、下封边、排版面、纹路、开门方向不能为空
|
// 若商品类型为板材,需检查房间、柜体、板名称、成品长、成品宽、拆单长、拆单宽、厚、左封边、右封边、上封边、下封边、排版面、纹路、开门方向不能为空
|
||||||
@@ -392,9 +464,9 @@ public class ExcelReadUtil { // 文件读取
|
|||||||
errList.add("房间、柜体、板名称不能为空");
|
errList.add("房间、柜体、板名称不能为空");
|
||||||
}
|
}
|
||||||
//成品长、成品宽、拆单长、拆单宽、厚、左封边、右封边、上封边、下封边 不能为空
|
//成品长、成品宽、拆单长、拆单宽、厚、左封边、右封边、上封边、下封边 不能为空
|
||||||
if (StringUtils.isEmpty(vo.getHeight()) && StringUtils.isEmpty(vo.getWidth()) && StringUtils.isEmpty(vo.getSplitHeight())
|
if (StringUtils.isEmpty(vo.getHeight()) || StringUtils.isEmpty(vo.getWidth()) || StringUtils.isEmpty(vo.getSplitHeight())
|
||||||
&& StringUtils.isEmpty(vo.getSplitWidth()) && StringUtils.isEmpty(vo.getThickness()) && StringUtils.isEmpty(vo.getSealLeft())
|
|| StringUtils.isEmpty(vo.getSplitWidth()) || StringUtils.isEmpty(vo.getThickness()) || StringUtils.isEmpty(vo.getSealLeft())
|
||||||
&& StringUtils.isEmpty(vo.getSealRight()) && StringUtils.isEmpty(vo.getSealUp()) && StringUtils.isEmpty(vo.getSealDown())) {
|
|| StringUtils.isEmpty(vo.getSealRight()) || StringUtils.isEmpty(vo.getSealUp()) || StringUtils.isEmpty(vo.getSealDown())) {
|
||||||
|
|
||||||
flag = false;
|
flag = false;
|
||||||
errList.add("小板轮廓数据不能为空");
|
errList.add("小板轮廓数据不能为空");
|
||||||
|
|||||||
+4
-4
@@ -50,12 +50,12 @@ public class ExcelTypeRealize {
|
|||||||
final String NOT_ASSIGNED = "未命名";
|
final String NOT_ASSIGNED = "未命名";
|
||||||
|
|
||||||
// 数据转换 + 错误验证
|
// 数据转换 + 错误验证
|
||||||
public Map<String, List<?>> changeDate(List<?> list, Long orderId) {
|
public Map<String, List<?>> changeDate(List<OrderPlateImportExcelVO> excelVOS, Long orderId) {
|
||||||
if (list.isEmpty()) {
|
if (excelVOS.isEmpty()) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
List<OrderPlateImportExcelVO> excelVOS = (List<OrderPlateImportExcelVO>) list;
|
// List<OrderPlateImportExcelVO> excelVOS = (List<OrderPlateImportExcelVO>) list;
|
||||||
Map<String, List<?>> map = new HashMap<>();
|
Map<String, List<?>> map = new HashMap<>();
|
||||||
|
|
||||||
Long organId = OrganContextHolder.getOrganId();
|
Long organId = OrganContextHolder.getOrganId();
|
||||||
@@ -266,7 +266,7 @@ public class ExcelTypeRealize {
|
|||||||
// if (orderBodyDO.getName() != null && !orderBodyDO.getName().trim().isEmpty()) {
|
// if (orderBodyDO.getName() != null && !orderBodyDO.getName().trim().isEmpty()) {
|
||||||
orderBodyDOS.add(orderBodyDO);
|
orderBodyDOS.add(orderBodyDO);
|
||||||
// }
|
// }
|
||||||
System.out.println(" ban-num " + plateCountByCabinetName[0]);
|
// System.out.println(" ban-num " + plateCountByCabinetName[0]);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
+20
@@ -111,6 +111,26 @@ public class BlockXmlVO implements Serializable {
|
|||||||
@XmlAttribute(name = "coatingReverse")
|
@XmlAttribute(name = "coatingReverse")
|
||||||
private String coatingReverse;
|
private String coatingReverse;
|
||||||
|
|
||||||
|
// 长度单位
|
||||||
|
@XmlAttribute(name = "unitLength")
|
||||||
|
private String unitLength;
|
||||||
|
|
||||||
|
// 面积单位
|
||||||
|
@XmlAttribute(name = "unitArea")
|
||||||
|
private String unitArea;
|
||||||
|
|
||||||
|
// 成品面积
|
||||||
|
@XmlAttribute(name = "area")
|
||||||
|
private String area;
|
||||||
|
|
||||||
|
// 开料面积
|
||||||
|
@XmlAttribute(name = "areaCutting")
|
||||||
|
private String areaCutting;
|
||||||
|
|
||||||
|
// 是否钻孔
|
||||||
|
@XmlAttribute(name = "drilling")
|
||||||
|
private String drilling;
|
||||||
|
|
||||||
// 房间ID
|
// 房间ID
|
||||||
@XmlAttribute(name = "roomId")
|
@XmlAttribute(name = "roomId")
|
||||||
private String roomId;
|
private String roomId;
|
||||||
|
|||||||
+8
@@ -20,6 +20,14 @@ public class BlockXmlVOS implements Serializable {
|
|||||||
@XmlAttribute( name = "count")
|
@XmlAttribute( name = "count")
|
||||||
private String count;
|
private String count;
|
||||||
|
|
||||||
|
// 面积
|
||||||
|
@XmlAttribute( name = "area")
|
||||||
|
private String area;
|
||||||
|
|
||||||
|
// 面积单位
|
||||||
|
@XmlAttribute( name = "unit")
|
||||||
|
private String unit;
|
||||||
|
|
||||||
//
|
//
|
||||||
@XmlElement( name = "Block")
|
@XmlElement( name = "Block")
|
||||||
private List<BlockXmlVO> blockXmlVOList;
|
private List<BlockXmlVO> blockXmlVOList;
|
||||||
|
|||||||
+5
@@ -15,6 +15,11 @@ import java.util.List;
|
|||||||
@XmlAccessorType(XmlAccessType.FIELD)
|
@XmlAccessorType(XmlAccessType.FIELD)
|
||||||
public class OutlineXmlVO implements Serializable {
|
public class OutlineXmlVO implements Serializable {
|
||||||
|
|
||||||
|
// 点阵数量
|
||||||
|
@XmlAttribute(name = "count")
|
||||||
|
private String count;
|
||||||
|
|
||||||
|
|
||||||
@XmlElement(name = "Point")
|
@XmlElement(name = "Point")
|
||||||
private List<PointXmlVO> pointXmlVOList;
|
private List<PointXmlVO> pointXmlVOList;
|
||||||
}
|
}
|
||||||
|
|||||||
+4
@@ -71,6 +71,10 @@ public class PlateXmlVO implements Serializable {
|
|||||||
@XmlAttribute(name = "thickness")
|
@XmlAttribute(name = "thickness")
|
||||||
private String thickness;
|
private String thickness;
|
||||||
|
|
||||||
|
// 是否余料
|
||||||
|
@XmlAttribute(name = "oddment")
|
||||||
|
private String oddment;
|
||||||
|
|
||||||
// 余料长
|
// 余料长
|
||||||
@XmlAttribute(name = "oddmentLength")
|
@XmlAttribute(name = "oddmentLength")
|
||||||
private String oddmentLength;
|
private String oddmentLength;
|
||||||
|
|||||||
+4
@@ -20,4 +20,8 @@ public class PlateXmlVOS implements Serializable {
|
|||||||
|
|
||||||
@XmlElement( name = "Plate")
|
@XmlElement( name = "Plate")
|
||||||
private List<PlateXmlVO> plateXmlVOList;
|
private List<PlateXmlVO> plateXmlVOList;
|
||||||
|
|
||||||
|
// 上传结果
|
||||||
|
@XmlElement( name = "result")
|
||||||
|
private String result;
|
||||||
}
|
}
|
||||||
|
|||||||
-129
@@ -1,129 +0,0 @@
|
|||||||
package com.cf.imes.module.executor.util.fileConversion.admin.files.xml;
|
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSON;
|
|
||||||
import com.cf.imes.module.executor.util.fileConversion.admin.ToolUtil;
|
|
||||||
import com.cf.imes.module.executor.util.fileConversion.admin.files.xml.VO.*;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.springframework.stereotype.Component;
|
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
|
||||||
|
|
||||||
import java.io.*;
|
|
||||||
import java.nio.charset.StandardCharsets;
|
|
||||||
|
|
||||||
@Slf4j
|
|
||||||
@Component
|
|
||||||
public class XMLReadUtil {
|
|
||||||
|
|
||||||
final String TYPE_ERR = "数据类型错误";
|
|
||||||
|
|
||||||
public static Object read(MultipartFile file, Class<?> clazz) throws IOException {
|
|
||||||
|
|
||||||
|
|
||||||
byte[] firstThreeBytes = new byte[3];
|
|
||||||
|
|
||||||
// 用字符缓冲流获取XML文件内容
|
|
||||||
|
|
||||||
InputStream inputStream = file.getInputStream();
|
|
||||||
inputStream.read(firstThreeBytes, 0, 3);
|
|
||||||
// if (firstThreeBytes[0] == (byte) 0xEF && firstThreeBytes[1] == (byte) 0xBB && firstThreeBytes[2] == (byte) 0xBF) {
|
|
||||||
// // 跳过 BOM
|
|
||||||
// inputStream.skip(3);
|
|
||||||
// }
|
|
||||||
try (BufferedReader br = new BufferedReader(new InputStreamReader(inputStream, StandardCharsets.UTF_8))) {
|
|
||||||
StringBuffer builder = new StringBuffer();
|
|
||||||
String line;
|
|
||||||
while ((line = br.readLine()) != null) {
|
|
||||||
builder.append(line);
|
|
||||||
}
|
|
||||||
|
|
||||||
// XML转为JAVA对象
|
|
||||||
Object odfBody = XmlBuilder.xmlStrToOject(clazz, builder.toString());
|
|
||||||
|
|
||||||
return odfBody;
|
|
||||||
} catch (IOException e) {
|
|
||||||
log.error("Error reading the file: " + file.getOriginalFilename(), e);
|
|
||||||
} catch (Exception e) {
|
|
||||||
log.error("Error parsing the XML to an OrderXmlVO object", e);
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 数据格式转换
|
|
||||||
public Boolean checkVO(OrderXmlVO orderXmlVO) {
|
|
||||||
Boolean flag = true;
|
|
||||||
|
|
||||||
RoomXmlVOS roomXmlVOS = orderXmlVO.getRoomXmlVOS();
|
|
||||||
if ( roomXmlVOS != null ) {
|
|
||||||
for ( RoomXmlVO room : roomXmlVOS.getRoomXmlVOList() ) {
|
|
||||||
if (room != null){
|
|
||||||
if (!ToolUtil.convertToType(room.getHeight(), Double.class)){
|
|
||||||
room.setHeight(room.getHeight() + "-" + TYPE_ERR);
|
|
||||||
}
|
|
||||||
if (!ToolUtil.convertToType(room.getLength(), Double.class)){
|
|
||||||
room.setLength(room.getLength() + "-" + TYPE_ERR);
|
|
||||||
}
|
|
||||||
if (!ToolUtil.convertToType(room.getWidth(), Double.class)){
|
|
||||||
room.setWidth(room.getWidth() + "-" + TYPE_ERR);
|
|
||||||
}
|
|
||||||
if (!ToolUtil.convertToType(room.getCount(), Integer.class)){
|
|
||||||
room.setCount(room.getCount() + "-" + TYPE_ERR);
|
|
||||||
}
|
|
||||||
if (room.getBoxXmlVOList() != null){
|
|
||||||
for (BoxXmlVO box : room.getBoxXmlVOList()) {
|
|
||||||
if (box != null){
|
|
||||||
if (!ToolUtil.convertToType(box.getHeight(), Double.class)){
|
|
||||||
box.setHeight(box.getHeight() + "-" + TYPE_ERR);
|
|
||||||
}
|
|
||||||
if (!ToolUtil.convertToType(box.getLength(), Double.class)){
|
|
||||||
box.setLength(box.getLength() + "-" + TYPE_ERR);
|
|
||||||
}
|
|
||||||
if (!ToolUtil.convertToType(box.getWidth(), Double.class)){
|
|
||||||
box.setWidth(box.getWidth() + "-" + TYPE_ERR);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ModuleXmlVOS moduleXmlVOS = orderXmlVO.getModuleXmlVOS();
|
|
||||||
if ( moduleXmlVOS != null ) {
|
|
||||||
for ( ModuleXmlVO module : moduleXmlVOS.getModuleXmlVOList() ) {
|
|
||||||
if (module != null){
|
|
||||||
if (!ToolUtil.convertToType(module.getHeight(), Double.class)){
|
|
||||||
module.setHeight(module.getHeight() + "-" + TYPE_ERR);
|
|
||||||
}
|
|
||||||
if (!ToolUtil.convertToType(module.getLength(), Double.class)){
|
|
||||||
module.setLength(module.getLength() + "-" + TYPE_ERR);
|
|
||||||
}
|
|
||||||
if (!ToolUtil.convertToType(module.getWidth(), Double.class)){
|
|
||||||
module.setWidth(module.getWidth() + "-" + TYPE_ERR);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
GroupXmlVOS grooveXmlVOS = orderXmlVO.getGroupXmlVOS();
|
|
||||||
if ( grooveXmlVOS != null ) {
|
|
||||||
for ( GroupXmlVO groove : grooveXmlVOS.getGroupXmlVOList() ) {
|
|
||||||
if (groove != null){
|
|
||||||
if (!ToolUtil.convertToType(groove.getHeight(), Double.class)){
|
|
||||||
groove.setHeight(groove.getHeight() + "-" + TYPE_ERR);
|
|
||||||
}
|
|
||||||
if (!ToolUtil.convertToType(groove.getLength(), Double.class)){
|
|
||||||
groove.setLength(groove.getLength() + "-"+ TYPE_ERR);
|
|
||||||
}
|
|
||||||
if (!ToolUtil.convertToType(groove.getWidth(), Double.class)){
|
|
||||||
groove.setWidth(groove.getWidth() + "-" + TYPE_ERR);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
return flag;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
+999
@@ -0,0 +1,999 @@
|
|||||||
|
package com.cf.imes.module.executor.util.fileConversion.admin.files.xml;
|
||||||
|
|
||||||
|
import com.alibaba.nacos.common.utils.StringUtils;
|
||||||
|
import com.cf.imes.module.executor.dal.dataobject.order.OrderDO;
|
||||||
|
import com.cf.imes.module.executor.enums.DataTypeEnum;
|
||||||
|
import com.cf.imes.module.executor.enums.DictTypeConstants;
|
||||||
|
import com.cf.imes.module.executor.enums.OrderTypeEnum;
|
||||||
|
import com.cf.imes.module.executor.util.fileConversion.admin.ToolUtil;
|
||||||
|
import com.cf.imes.module.executor.util.fileConversion.admin.files.xml.VO.*;
|
||||||
|
import com.cf.imes.module.system.api.dict.DictDataApi;
|
||||||
|
import com.cf.imes.module.system.api.dict.dto.DictDataRespDTO;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import java.io.*;
|
||||||
|
import java.net.URLEncoder;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
|
import java.time.temporal.ChronoUnit;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
|
@Component
|
||||||
|
public class XMLUtil {
|
||||||
|
|
||||||
|
final String TYPE_ERR = "数据类型错误";
|
||||||
|
final String POSITIVE_ERR = "数据需为正数";
|
||||||
|
final String LONG_ERR = "数据长度不符合(共8位整数位5位,小数位3位)";
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private DictDataApi dictDataApi;
|
||||||
|
|
||||||
|
public static Object read(MultipartFile file, Class<?> clazz) throws IOException {
|
||||||
|
|
||||||
|
|
||||||
|
byte[] firstThreeBytes = new byte[3];
|
||||||
|
|
||||||
|
// 用字符缓冲流获取XML文件内容
|
||||||
|
|
||||||
|
InputStream inputStream = file.getInputStream();
|
||||||
|
inputStream.read(firstThreeBytes, 0, 3);
|
||||||
|
// if (firstThreeBytes[0] == (byte) 0xEF && firstThreeBytes[1] == (byte) 0xBB && firstThreeBytes[2] == (byte) 0xBF) {
|
||||||
|
// // 跳过 BOM
|
||||||
|
// inputStream.skip(3);
|
||||||
|
// }
|
||||||
|
try (BufferedReader br = new BufferedReader(new InputStreamReader(inputStream, StandardCharsets.UTF_8))) {
|
||||||
|
StringBuffer builder = new StringBuffer();
|
||||||
|
String line;
|
||||||
|
while ((line = br.readLine()) != null) {
|
||||||
|
builder.append(line);
|
||||||
|
}
|
||||||
|
|
||||||
|
// XML转为JAVA对象
|
||||||
|
Object odfBody = XmlBuilder.xmlStrToOject(clazz, builder.toString());
|
||||||
|
|
||||||
|
return odfBody;
|
||||||
|
} catch (IOException e) {
|
||||||
|
log.error("Error reading the file: " + file.getOriginalFilename(), e);
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("Error parsing the XML to an OrderXmlVO object", e);
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void writeErr(HttpServletResponse response, String xmlStr, String name) throws IOException {
|
||||||
|
// 获取输出流
|
||||||
|
Writer writer = new OutputStreamWriter(response.getOutputStream(), StandardCharsets.UTF_8);
|
||||||
|
|
||||||
|
// 输出 XML 数据
|
||||||
|
writer.write(xmlStr);
|
||||||
|
writer.flush();
|
||||||
|
writer.close();
|
||||||
|
|
||||||
|
// 设置响应头
|
||||||
|
response.setContentType("application/xml; charset=UTF-8");
|
||||||
|
response.addHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(name, StandardCharsets.UTF_8.name()));
|
||||||
|
}
|
||||||
|
|
||||||
|
// 生产单数据格式验证
|
||||||
|
public Map<String, Object> changeDate(OrderXmlVO orderXmlVO, Long organId) {
|
||||||
|
Map<String, Object> map = new HashMap<>();
|
||||||
|
boolean error = true;
|
||||||
|
|
||||||
|
if (orderXmlVO.getCustomOrderNo() == null) {
|
||||||
|
orderXmlVO.setCustomOrderNo("---< 客户不能为空 >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
if (orderXmlVO.getDealer() == null) {
|
||||||
|
orderXmlVO.setDealer("---< 经销商不能为空 >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
if (orderXmlVO.getCustomerAddress() == null) {
|
||||||
|
orderXmlVO.setCustomerAddress("---< 客户地址不能为空 >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
if (orderXmlVO.getCustomerPhone() == null) {
|
||||||
|
orderXmlVO.setCustomerPhone("---< 客户电话不能为空 >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
if (!ToolUtil.validatePhoneNumber(orderXmlVO.getCustomerPhone())) {
|
||||||
|
orderXmlVO.setCustomerPhone("---< " + orderXmlVO.getCustomerPhone() + "客户电话格式错误 >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (orderXmlVO.getDealerPhone() != null) {
|
||||||
|
if (!ToolUtil.validatePhoneNumber(orderXmlVO.getDealerPhone())) {
|
||||||
|
orderXmlVO.setDealerPhone("---< " + orderXmlVO.getDealerPhone() + "经销商电话格式错误 >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
LocalDate orderDate = null;
|
||||||
|
LocalDate deliverDate = null;
|
||||||
|
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
||||||
|
Map<String, Object> mapDate = ToolUtil.changeDate(orderXmlVO.getOrderDate(), formatter);
|
||||||
|
if (orderXmlVO.getOrderDate() == null) {
|
||||||
|
orderXmlVO.setOrderDate("---< 订单日期不能为空 >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
if (mapDate.get("error") instanceof Integer && (Integer) mapDate.get("error") == -1) {
|
||||||
|
orderXmlVO.setOrderDate("---< " + orderXmlVO.getOrderDate() + "订单日期格式错误 >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
orderDate = (LocalDate) mapDate.get("date");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
mapDate = ToolUtil.changeDate(orderXmlVO.getDeliveryDate(), formatter);
|
||||||
|
if (orderXmlVO.getDeliveryDate() == null) {
|
||||||
|
orderXmlVO.setDeliveryDate("---< 出货日期不能为空 >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
if (mapDate.get("error") instanceof Integer && (Integer) mapDate.get("error") == -1) {
|
||||||
|
orderXmlVO.setDeliveryDate("---< " + orderXmlVO.getDeliveryDate() + "出货日期格式错误 >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
deliverDate = (LocalDate) mapDate.get("date");
|
||||||
|
if (orderDate != null && deliverDate.isBefore(orderDate)) {
|
||||||
|
deliverDate = orderDate.plus(30, ChronoUnit.DAYS);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
OrderDO orderDO = new OrderDO();
|
||||||
|
if (error){
|
||||||
|
assert orderDate != null;
|
||||||
|
orderDO = OrderDO.builder()
|
||||||
|
.organId(organId)
|
||||||
|
.dataType(DataTypeEnum.FILE_IMPORT.getStatus())
|
||||||
|
.customer(orderXmlVO.getCustomer())
|
||||||
|
.customOrderNo(orderXmlVO.getCustomOrderNo())
|
||||||
|
.dealer(orderXmlVO.getDealer())
|
||||||
|
.dealerPhoneNumber(orderXmlVO.getDealerPhone())
|
||||||
|
.address(orderXmlVO.getCustomerAddress())
|
||||||
|
.phoneNumber(orderXmlVO.getCustomerPhone())
|
||||||
|
.salesman(orderXmlVO.getSeller())
|
||||||
|
.splitter(orderXmlVO.getAnalyst())
|
||||||
|
.remark(orderXmlVO.getMemo())
|
||||||
|
.orderDate(orderDate.atStartOfDay())
|
||||||
|
.deliveryDate(deliverDate.atStartOfDay())
|
||||||
|
.orderType(OrderTypeEnum.MAIN_ORDER.getStatus())
|
||||||
|
.build();
|
||||||
|
}
|
||||||
|
|
||||||
|
// 生产单信息验证
|
||||||
|
map.put("order", orderDO);
|
||||||
|
map.put("file", orderXmlVO);
|
||||||
|
map.put("error", error);
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 数据格式转换
|
||||||
|
public Boolean checkVO(OrderXmlVO orderXmlVO) {
|
||||||
|
Boolean flag = true;
|
||||||
|
|
||||||
|
RoomXmlVOS roomXmlVOS = orderXmlVO.getRoomXmlVOS();
|
||||||
|
if ( roomXmlVOS != null ) {
|
||||||
|
checkRoom(roomXmlVOS, flag);
|
||||||
|
}
|
||||||
|
|
||||||
|
ModuleXmlVOS moduleXmlVOS = orderXmlVO.getModuleXmlVOS();
|
||||||
|
if ( moduleXmlVOS != null ) {
|
||||||
|
checkModules(moduleXmlVOS, flag);
|
||||||
|
}
|
||||||
|
|
||||||
|
GroupXmlVOS grooveXmlVOS = orderXmlVO.getGroupXmlVOS();
|
||||||
|
if ( grooveXmlVOS != null ) {
|
||||||
|
checkGroups(grooveXmlVOS, flag);
|
||||||
|
}
|
||||||
|
|
||||||
|
MaterialXmlVO materialXmlVO = orderXmlVO.getMaterialXmlVO();
|
||||||
|
if ( materialXmlVO != null ) {
|
||||||
|
PlateXmlVOS plateXmlVOS = materialXmlVO.getPlateXmlVOS();
|
||||||
|
if (plateXmlVOS != null) {
|
||||||
|
|
||||||
|
} else {
|
||||||
|
materialXmlVO.setPlateXmlVOS(new PlateXmlVOS().setResult("---< 板材信息不能为空 >---"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return flag;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 房间数据格式验证
|
||||||
|
public void checkRoom(RoomXmlVOS roomXmlVOS, Boolean error) {
|
||||||
|
if (StringUtils.isEmpty(roomXmlVOS.getCount())) {
|
||||||
|
roomXmlVOS.setCount("---< 房间数量不能为空 >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
if (ToolUtil.convertToType(roomXmlVOS.getCount(), Integer.class)){
|
||||||
|
if (!ToolUtil.checkNumber(roomXmlVOS.getCount())){
|
||||||
|
roomXmlVOS.setCount("---< " + roomXmlVOS.getCount() + POSITIVE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
roomXmlVOS.setCount("---< " + roomXmlVOS.getCount() + TYPE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for ( RoomXmlVO room : roomXmlVOS.getRoomXmlVOList() ) {
|
||||||
|
if (room != null){
|
||||||
|
if (StringUtils.isEmpty(room.getId())){
|
||||||
|
room.setId("---< 房间编号不能为空 >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(room.getName())){
|
||||||
|
room.setName("---< 房间名称不能为空 >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(room.getHeight()) ){
|
||||||
|
Boolean flag = checkNumber(room.getHeight(), Double.class);
|
||||||
|
if (!flag) {
|
||||||
|
room.setHeight("---< " + room.getHeight() + POSITIVE_ERR + "或是" + TYPE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
room.setHeight("0");
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(room.getLength()) ){
|
||||||
|
Boolean flag = checkNumber(room.getLength(), Double.class);
|
||||||
|
if (!flag) {
|
||||||
|
room.setLength("---< " + room.getLength() + POSITIVE_ERR + "或是" + TYPE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
room.setLength("0");
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(room.getWidth()) ){
|
||||||
|
Boolean flag = checkNumber(room.getWidth(), Double.class);
|
||||||
|
if (!flag) {
|
||||||
|
room.setWidth("---< " + room.getWidth() + POSITIVE_ERR + "或是" + TYPE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}else {
|
||||||
|
room.setWidth("0");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (room.getBoxXmlVOList() != null && room.getBoxXmlVOList().size() > 0){
|
||||||
|
checkBoxList(room.getBoxXmlVOList(), error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 柜体数据格式验证
|
||||||
|
public void checkBoxList(List<BoxXmlVO> boxXmlVOList, Boolean error) {
|
||||||
|
for ( BoxXmlVO box : boxXmlVOList ) {
|
||||||
|
if (StringUtils.isEmpty(box.getId())){
|
||||||
|
box.setId("---< 柜体编号不能为空 >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(box.getName())){
|
||||||
|
box.setName("---< 柜体名称不能为空 >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(box.getHeight()) ){
|
||||||
|
Boolean flag = checkNumber(box.getHeight(), Double.class);
|
||||||
|
if (!flag) {
|
||||||
|
box.setHeight("---< " + box.getHeight() + POSITIVE_ERR + "或是" + TYPE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
box.setHeight("0");
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(box.getLength()) ){
|
||||||
|
Boolean flag = checkNumber(box.getLength(), Double.class);
|
||||||
|
if (!flag) {
|
||||||
|
box.setLength("---< " + box.getLength() + POSITIVE_ERR + "或是" + TYPE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
box.setLength("0");
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(box.getWidth()) ){
|
||||||
|
Boolean flag = checkNumber(box.getWidth(), Double.class);
|
||||||
|
if (!flag) {
|
||||||
|
box.setWidth("---< " + box.getWidth() + POSITIVE_ERR + "或是" + TYPE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
box.setWidth("0");
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(box.getBasePointX())){
|
||||||
|
if (!ToolUtil.convertToType(box.getBasePointX(), Double.class)) {
|
||||||
|
box.setBasePointX("---< " + box.getBasePointX() + TYPE_ERR + " >---");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
box.setBasePointX("0");
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(box.getBasePointY())){
|
||||||
|
if (!ToolUtil.convertToType(box.getBasePointY(), Double.class)) {
|
||||||
|
box.setBasePointY("---< " + box.getBasePointY() + TYPE_ERR + " >---");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
box.setBasePointY("0");
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(box.getBasePointZ())){
|
||||||
|
if (!ToolUtil.convertToType(box.getBasePointZ(), Double.class)) {
|
||||||
|
box.setBasePointZ("---< " + box.getBasePointZ() + TYPE_ERR + " >---");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
box.setBasePointZ("0");
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(box.getAxisYrotate())){
|
||||||
|
if (!ToolUtil.convertToType(box.getAxisYrotate(), Double.class)) {
|
||||||
|
box.setAxisYrotate("---< " + box.getAxisYrotate() + TYPE_ERR + " >---");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
box.setAxisYrotate("0");
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(box.getAxisXrotate())){
|
||||||
|
if (!ToolUtil.convertToType(box.getAxisXrotate(), Double.class)) {
|
||||||
|
box.setAxisXrotate("---< " + box.getAxisXrotate() + TYPE_ERR + " >---");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
box.setAxisXrotate("0");
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(box.getAxisZrotate())){
|
||||||
|
if (!ToolUtil.convertToType(box.getAxisZrotate(), Double.class)) {
|
||||||
|
box.setAxisZrotate("---< " + box.getAxisZrotate() + TYPE_ERR + " >---");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
box.setAxisZrotate("0");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 模块数据格式验证
|
||||||
|
public void checkModules(ModuleXmlVOS moduleXmlVOS, Boolean error) {
|
||||||
|
if (StringUtils.isEmpty(moduleXmlVOS.getCount())) {
|
||||||
|
moduleXmlVOS.setCount("---< 模块数量不能为空 >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
if (ToolUtil.convertToType(moduleXmlVOS.getCount(), Integer.class)){
|
||||||
|
if (!ToolUtil.checkNumber(moduleXmlVOS.getCount())){
|
||||||
|
moduleXmlVOS.setCount("---< " + moduleXmlVOS.getCount() + POSITIVE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
moduleXmlVOS.setCount("---< " + moduleXmlVOS.getCount() + TYPE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (moduleXmlVOS.getModuleXmlVOList() != null && moduleXmlVOS.getModuleXmlVOList().size() > 0){
|
||||||
|
checkModuleList(moduleXmlVOS.getModuleXmlVOList(), error);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
// 模块数据格式验证
|
||||||
|
public void checkModuleList(List<ModuleXmlVO> moduleXmlVOSList, Boolean error) {
|
||||||
|
for ( ModuleXmlVO module : moduleXmlVOSList ) {
|
||||||
|
if (StringUtils.isEmpty(module.getId())){
|
||||||
|
module.setId("---< 柜体编号不能为空 >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(module.getName())){
|
||||||
|
module.setName("---< 柜体名称不能为空 >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(module.getLength()) ){
|
||||||
|
Boolean flag = checkNumber(module.getLength(), Double.class);
|
||||||
|
if (!flag) {
|
||||||
|
module.setLength("---< " + module.getLength() + POSITIVE_ERR + "或是" + TYPE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
module.setLength("0");
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(module.getWidth()) ){
|
||||||
|
Boolean flag = checkNumber(module.getWidth(), Double.class);
|
||||||
|
if (!flag) {
|
||||||
|
module.setWidth("---< " + module.getWidth() + POSITIVE_ERR + "或是" + TYPE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
module.setWidth("0");
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(module.getHeight()) ){
|
||||||
|
Boolean flag = checkNumber(module.getHeight(), Double.class);
|
||||||
|
if (!flag) {
|
||||||
|
module.setHeight("---< " + module.getHeight() + POSITIVE_ERR + "或是" + TYPE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
module.setHeight("0");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 加工组数据格式验证
|
||||||
|
public void checkGroups(GroupXmlVOS groupXmlVOS, Boolean error) {
|
||||||
|
if (StringUtils.isEmpty(groupXmlVOS.getCount())) {
|
||||||
|
groupXmlVOS.setCount("---< 模块数量不能为空 >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
if (ToolUtil.convertToType(groupXmlVOS.getCount(), Integer.class)){
|
||||||
|
if (!ToolUtil.checkNumber(groupXmlVOS.getCount())){
|
||||||
|
groupXmlVOS.setCount("---< " + groupXmlVOS.getCount() + POSITIVE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
groupXmlVOS.setCount("---< " + groupXmlVOS.getCount() + TYPE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (groupXmlVOS.getGroupXmlVOList() != null && groupXmlVOS.getGroupXmlVOList().size() > 0){
|
||||||
|
checkGroupList(groupXmlVOS.getGroupXmlVOList(), error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 加工组数据格式验证
|
||||||
|
public void checkGroupList(List<GroupXmlVO> groupXmlVOList, Boolean error) {
|
||||||
|
for ( GroupXmlVO group : groupXmlVOList ) {
|
||||||
|
if (StringUtils.isEmpty(group.getId())){
|
||||||
|
group.setId("---< 加工组编号不能为空 >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(group.getName())){
|
||||||
|
group.setName("---< 加工组名称不能为空 >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(group.getLength()) ){
|
||||||
|
Boolean flag = checkNumber(group.getLength(), Double.class);
|
||||||
|
if (!flag) {
|
||||||
|
group.setLength("---< " + group.getLength() + POSITIVE_ERR + "或是" + TYPE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
group.setLength("0");
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(group.getWidth()) ){
|
||||||
|
Boolean flag = checkNumber(group.getWidth(), Double.class);
|
||||||
|
if (!flag) {
|
||||||
|
group.setWidth( "---< " + group.getWidth() + POSITIVE_ERR + "或是" + TYPE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
group.setWidth("0");
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(group.getHeight()) ){
|
||||||
|
Boolean flag = checkNumber(group.getHeight(), Double.class);
|
||||||
|
if (!flag) {
|
||||||
|
group.setHeight("---< " + group.getHeight() + POSITIVE_ERR + "或是" + TYPE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
group.setHeight("0");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 板材数据格式验证
|
||||||
|
public void checkPlates(List<PlateXmlVO> plateXmlVOList, Boolean error) {
|
||||||
|
for ( PlateXmlVO plate : plateXmlVOList ) {
|
||||||
|
if (StringUtils.isEmpty(plate.getName())){
|
||||||
|
plate.setId("---< 板材名称不能为空 >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(plate.getMaterial())){
|
||||||
|
plate.setItemNo("---< 板材材质不能为空 >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
// 纹理有效性判断
|
||||||
|
if (StringUtils.isEmpty(plate.getGrained())) {
|
||||||
|
plate.setGrained("有");
|
||||||
|
} else {
|
||||||
|
if (!StringUtils.equals(plate.getGrained().trim(), "无") && !StringUtils.equals(plate.getGrained().trim(), "有")) {
|
||||||
|
plate.setGrained("---< " + plate.getGrained() + " 板材纹理无效 >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(plate.getCoatingObverse())) {
|
||||||
|
plate.setCoatingObverse("---< 板材正面颜色不可为空>---");
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(plate.getLength())){
|
||||||
|
plate.setLength("---< 板材长度不可为空>---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
Boolean flag = checkNumber(plate.getLength(), Double.class);
|
||||||
|
if (!flag) {
|
||||||
|
plate.setLength("---< " + plate.getLength() + POSITIVE_ERR + "或是" + TYPE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
if (!ToolUtil.checkPrecision(plate.getLength(), 5, 3)){
|
||||||
|
plate.setLength("---< " + plate.getLength() + LONG_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(plate.getWidth())){
|
||||||
|
plate.setWidth("---< 板材宽度不可为空>---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
Boolean flag = checkNumber(plate.getWidth(), Double.class);
|
||||||
|
if (!flag) {
|
||||||
|
plate.setWidth("---< " + plate.getWidth() + POSITIVE_ERR + "或是" + TYPE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
if (!ToolUtil.checkPrecision(plate.getWidth(), 5, 3)){
|
||||||
|
plate.setWidth("---< " + plate.getWidth() + LONG_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(plate.getThickness())){
|
||||||
|
plate.setThickness("---< 板材宽度不可为空>---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
Boolean flag = checkNumber(plate.getThickness(), Double.class);
|
||||||
|
if (!flag) {
|
||||||
|
plate.setThickness("---< " + plate.getThickness() + POSITIVE_ERR + "或是" + TYPE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
if (!ToolUtil.checkPrecision(plate.getThickness(), 5, 3)){
|
||||||
|
plate.setThickness("---< " + plate.getThickness() + LONG_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(plate.getOddmentLength())){
|
||||||
|
Boolean flag = checkNumber(plate.getOddmentLength(), Double.class);
|
||||||
|
if (!flag) {
|
||||||
|
plate.setOddmentLength("---< " + plate.getOddmentLength() + POSITIVE_ERR + "或是" + TYPE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
if (!ToolUtil.checkPrecision(plate.getOddmentLength(), 5, 3)){
|
||||||
|
plate.setOddmentLength("---< " + plate.getOddmentLength() + LONG_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(plate.getOddmentWidth())){
|
||||||
|
Boolean flag = checkNumber(plate.getOddmentWidth(), Double.class);
|
||||||
|
if (!flag) {
|
||||||
|
plate.setOddmentWidth("---< " + plate.getOddmentWidth() + POSITIVE_ERR + "或是" + TYPE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
if (!ToolUtil.checkPrecision(plate.getOddmentWidth(), 5, 3)){
|
||||||
|
plate.setOddmentWidth("---< " + plate.getOddmentWidth() + LONG_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(plate.getOddmentThickness())){
|
||||||
|
Boolean flag = checkNumber(plate.getOddmentThickness(), Double.class);
|
||||||
|
if (!flag) {
|
||||||
|
plate.setOddmentThickness("---< " + plate.getOddmentThickness() + POSITIVE_ERR + "或是" + TYPE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
if (!ToolUtil.checkPrecision(plate.getOddmentThickness(), 5, 3)){
|
||||||
|
plate.setOddmentThickness("---< " + plate.getOddmentThickness() + LONG_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!StringUtils.isEmpty(plate.getOddment())) {
|
||||||
|
if (!StringUtils.equals(plate.getOddment().trim(), "是") && !StringUtils.equals(plate.getOddment().trim(), "否")) {
|
||||||
|
plate.setGrained("---< " + plate.getOddment() + "板材是否余料标识无效无效 >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(plate.getUnitLength())){
|
||||||
|
plate.setThickness("---< 板材长度单位不可为空>---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(plate.getArea())){
|
||||||
|
plate.setArea("---< 板材面积不可为空>---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
Boolean flag = checkNumber(plate.getArea(), Double.class);
|
||||||
|
if (!flag) {
|
||||||
|
plate.setArea("---< " + plate.getArea() + POSITIVE_ERR + "或是" + TYPE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (plate.getBlockXmlVOS() != null) {
|
||||||
|
checkBlocks(plate.getBlockXmlVOS(), error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 小板数据格式验证
|
||||||
|
public void checkBlocks(BlockXmlVOS blockXmlVOS, Boolean error) {
|
||||||
|
if (StringUtils.isNotEmpty(blockXmlVOS.getCount())) {
|
||||||
|
blockXmlVOS.setCount("---< 小板片数不可为空>---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
Boolean flag = checkNumber(blockXmlVOS.getCount(), Integer.class);
|
||||||
|
if (!flag) {
|
||||||
|
blockXmlVOS.setCount("---< " + blockXmlVOS.getCount() + POSITIVE_ERR + "或是" + TYPE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
if (!ToolUtil.checkNumber(blockXmlVOS.getCount())){
|
||||||
|
blockXmlVOS.setCount("---< " + blockXmlVOS.getCount() + POSITIVE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotEmpty(blockXmlVOS.getArea())) {
|
||||||
|
blockXmlVOS.setArea("---< 小板总面积不可为空>---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
Boolean flag = checkNumber(blockXmlVOS.getArea(), Integer.class);
|
||||||
|
if (!flag) {
|
||||||
|
blockXmlVOS.setArea("---< " + blockXmlVOS.getArea() + POSITIVE_ERR + "或是" + TYPE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
if (!ToolUtil.checkNumber(blockXmlVOS.getArea())){
|
||||||
|
blockXmlVOS.setArea("---< " + blockXmlVOS.getArea() + POSITIVE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isNotEmpty(blockXmlVOS.getCount())) {
|
||||||
|
blockXmlVOS.setArea("---< 小板面积单位不可为空>---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (blockXmlVOS.getBlockXmlVOList() != null) {
|
||||||
|
checkBlockList(blockXmlVOS.getBlockXmlVOList(), error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 板块数据格式验证
|
||||||
|
public void checkBlockList(List<BlockXmlVO> blockXmlVOList, Boolean error) {
|
||||||
|
if (blockXmlVOList.size() > 0) {
|
||||||
|
for (BlockXmlVO blockXmlVO : blockXmlVOList) {
|
||||||
|
if (StringUtils.isEmpty(blockXmlVO.getName())){
|
||||||
|
blockXmlVO.setName("未命名");
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(blockXmlVO.getType())) {
|
||||||
|
blockXmlVO.setType("---< 板块类型不可为空 >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
DictDataRespDTO dictData = dictDataApi.parseDictData(DictTypeConstants.PLATE_TYPE, blockXmlVO.getType()).getData();
|
||||||
|
if (dictData == null) {
|
||||||
|
blockXmlVO.setType("---< " + blockXmlVO.getType() + "板块类型无效 >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(blockXmlVO.getOpenDirection())) {
|
||||||
|
blockXmlVO.setOpenDirection("---< 板块开门方向不可为空 >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
DictDataRespDTO dictData = dictDataApi.parseDictData(DictTypeConstants.DOOR_OPENING_DIRECTIONS, blockXmlVO.getOpenDirection()).getData();
|
||||||
|
if (dictData == null) {
|
||||||
|
blockXmlVO.setOpenDirection("---< " + blockXmlVO.getOpenDirection() + "板块开门方向无效 >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(blockXmlVO.getTexture())) {
|
||||||
|
blockXmlVO.setTexture("---< 板块设计纹路不可为空 >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
DictDataRespDTO dictData = dictDataApi.parseDictData(DictTypeConstants.DOOR_OPENING_DIRECTIONS, blockXmlVO.getTexture()).getData();
|
||||||
|
if (dictData == null) {
|
||||||
|
blockXmlVO.setTexture("---< " + blockXmlVO.getTexture() + "板块设计纹路无效 >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(blockXmlVO.getLayoutFace())) {
|
||||||
|
blockXmlVO.setLayoutFace("---< 板块排版面不可为空 >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
DictDataRespDTO dictData = dictDataApi.parseDictData(DictTypeConstants.TYPOGRAPHY_TYPE, blockXmlVO.getLayoutFace()).getData();
|
||||||
|
if (dictData == null) {
|
||||||
|
blockXmlVO.setLayoutFace("---< " + blockXmlVO.getLayoutFace() + "板块排版面无效 >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(blockXmlVO.getCoatingType())) {
|
||||||
|
blockXmlVO.setCoatingType("---< 板块设计饰面不可为空 >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(blockXmlVO.getCoatingObverse())) {
|
||||||
|
blockXmlVO.setCoatingObverse("---< 板块正面颜色不可为空 >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(blockXmlVO.getCoatingObverse())) {
|
||||||
|
blockXmlVO.setCoatingReverse("---< 板块反面颜色不可为空 >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(blockXmlVO.getLength())) {
|
||||||
|
blockXmlVO.setLength("---< 板块长度不可为空 >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
if (!checkNumber(blockXmlVO.getLength(), Double.class,5, 3)){
|
||||||
|
blockXmlVO.setLength("---< " + blockXmlVO.getLength() + POSITIVE_ERR + "或是" + TYPE_ERR + "或是" + LONG_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(blockXmlVO.getWidth())) {
|
||||||
|
blockXmlVO.setWidth("---< 板块宽度不可为空 >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
if (!checkNumber(blockXmlVO.getWidth(), Double.class,5, 3)){
|
||||||
|
blockXmlVO.setWidth("---< " + blockXmlVO.getWidth() + POSITIVE_ERR + "或是" + TYPE_ERR + "或是" + LONG_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(blockXmlVO.getThickness())) {
|
||||||
|
blockXmlVO.setThickness("---< 板块厚度不可为空 >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
if (!checkNumber(blockXmlVO.getThickness(), Double.class,5, 3)){
|
||||||
|
blockXmlVO.setThickness("---< " + blockXmlVO.getThickness() + POSITIVE_ERR + "或是" + TYPE_ERR + "或是" + LONG_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(blockXmlVO.getCuttingLength())) {
|
||||||
|
blockXmlVO.setCuttingLength("---< 板块开料长不可为空 >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
if (!checkNumber(blockXmlVO.getThickness(), Double.class,5, 3)){
|
||||||
|
blockXmlVO.setCuttingLength("---< " + blockXmlVO.getCuttingLength() + POSITIVE_ERR + "或是" + TYPE_ERR + "或是" + LONG_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(blockXmlVO.getCuttingWidth())) {
|
||||||
|
blockXmlVO.setCuttingWidth("---< 板块开料宽不可为空 >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
if (!checkNumber(blockXmlVO.getCuttingWidth(), Double.class,5, 3)){
|
||||||
|
blockXmlVO.setCuttingWidth("---< " + blockXmlVO.getCuttingWidth() + POSITIVE_ERR + "或是" + TYPE_ERR + "或是" + LONG_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(blockXmlVO.getCuttingThickness())) {
|
||||||
|
blockXmlVO.setCuttingThickness("---< 板块开料厚不可为空 >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
if (!checkNumber(blockXmlVO.getCuttingThickness(), Double.class,5, 3)){
|
||||||
|
blockXmlVO.setCuttingThickness("---< " + blockXmlVO.getCuttingThickness() + POSITIVE_ERR + "或是" + TYPE_ERR + "或是" + LONG_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(blockXmlVO.getRawLength())) {
|
||||||
|
blockXmlVO.setRawLength("---< 板块胚料长不可为空 >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
if (!checkNumber(blockXmlVO.getRawLength(), Double.class,5, 3)){
|
||||||
|
blockXmlVO.setRawLength("---< " + blockXmlVO.getRawLength() + POSITIVE_ERR + "或是" + TYPE_ERR + "或是" + LONG_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(blockXmlVO.getRawWidth())) {
|
||||||
|
blockXmlVO.setRawWidth("---< 板块胚料宽不可为空 >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
if (!checkNumber(blockXmlVO.getRawWidth(), Double.class,5, 3)){
|
||||||
|
blockXmlVO.setRawWidth("---< " + blockXmlVO.getRawWidth() + POSITIVE_ERR + "或是" + TYPE_ERR + "或是" + LONG_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(blockXmlVO.getRawThickness())) {
|
||||||
|
blockXmlVO.setRawThickness("---< 板块胚料厚不可为空 >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
if (!checkNumber(blockXmlVO.getRawThickness(), Double.class,5, 3)){
|
||||||
|
blockXmlVO.setRawThickness("---< " + blockXmlVO.getRawThickness() + POSITIVE_ERR + "或是" + TYPE_ERR + "或是" + LONG_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(blockXmlVO.getUnitLength())) {
|
||||||
|
blockXmlVO.setRawThickness("---< 板块长度单位不可为空 >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
DictDataRespDTO dictData = dictDataApi.parseDictData(DictTypeConstants.UNIT_LENGTH, blockXmlVO.getUnitLength()).getData();
|
||||||
|
if (dictData == null){
|
||||||
|
blockXmlVO.setUnitLength("---< " + blockXmlVO.getUnitLength() + " 长度单位无效 >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(blockXmlVO.getArea())) {
|
||||||
|
blockXmlVO.setArea("---< 板块成品面积不可为空 >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
if (!checkNumber(blockXmlVO.getArea(), Double.class)){
|
||||||
|
blockXmlVO.setArea("---< " + blockXmlVO.getArea() + POSITIVE_ERR + "或是" + TYPE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(blockXmlVO.getAreaCutting())){
|
||||||
|
blockXmlVO.setAreaCutting("---< 板块开料面积不可为空 >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
if (!checkNumber(blockXmlVO.getAreaCutting(), Double.class)){
|
||||||
|
blockXmlVO.setAreaCutting("---< " + blockXmlVO.getAreaCutting() + POSITIVE_ERR + "或是" + TYPE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(blockXmlVO.getUnitArea())) {
|
||||||
|
blockXmlVO.setUnitArea("---< 板块面积单位不可为空 >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
DictDataRespDTO dictData = dictDataApi.parseDictData(DictTypeConstants.UNIT_AREA, blockXmlVO.getUnitArea()).getData();
|
||||||
|
if (dictData == null){
|
||||||
|
blockXmlVO.setUnitArea("---< " + blockXmlVO.getUnitArea() + "面积单位无效 >---");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(blockXmlVO.getMultipleNumber())){
|
||||||
|
blockXmlVO.setMultipleNumber("1");
|
||||||
|
} else {
|
||||||
|
if (!checkNumber(blockXmlVO.getMultipleNumber(), Integer.class)){
|
||||||
|
blockXmlVO.setMultipleNumber("---< " + blockXmlVO.getMultipleNumber() + POSITIVE_ERR + "或是" + TYPE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(blockXmlVO.getUnregular())){
|
||||||
|
blockXmlVO.setUnregular("---< 板块是否异形不可为空 >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
if (!StringUtils.equals(blockXmlVO.getUnregular().trim(), "是") && !StringUtils.equals(blockXmlVO.getUnregular().trim(), "否")) {
|
||||||
|
blockXmlVO.setUnregular("---< " + blockXmlVO.getUnregular() + "板材是否异形数据无效 >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(blockXmlVO.getDrilling())){
|
||||||
|
blockXmlVO.setDrilling("---< 板块是否钻孔不可为空 >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
if (!StringUtils.equals(blockXmlVO.getDrilling().trim(), "是") && !StringUtils.equals(blockXmlVO.getDrilling().trim(), "否")) {
|
||||||
|
blockXmlVO.setDrilling("---< " + blockXmlVO.getDrilling()+ "板材是否钻孔数据无效 >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(blockXmlVO.getSlotting())){
|
||||||
|
blockXmlVO.setSlotting("---< 板块是否挖槽不可为空 >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
if (!StringUtils.equals(blockXmlVO.getSlotting().trim(), "是") && !StringUtils.equals(blockXmlVO.getSlotting().trim(), "否")) {
|
||||||
|
blockXmlVO.setSlotting("---< " + blockXmlVO.getSlotting() + "板材是否挖槽数据无效 >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(blockXmlVO.getBasePointX())){
|
||||||
|
blockXmlVO.setBasePointX("---< 板块基点X坐标不可为空 >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
if (!ToolUtil.convertToType(blockXmlVO.getBasePointX(), Double.class)) {
|
||||||
|
blockXmlVO.setBasePointX("---< " + blockXmlVO.getBasePointX() + TYPE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(blockXmlVO.getBasePointY())){
|
||||||
|
blockXmlVO.setBasePointY("---< 板块基点Y坐标不可为空 >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
if (!ToolUtil.convertToType(blockXmlVO.getBasePointX(), Double.class)) {
|
||||||
|
blockXmlVO.setBasePointY("---< " + blockXmlVO.getBasePointY() + TYPE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(blockXmlVO.getBasePointZ())){
|
||||||
|
blockXmlVO.setBasePointZ("---< 板块基点X坐标不可为空 >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
if (!ToolUtil.convertToType(blockXmlVO.getBasePointZ(), Double.class)) {
|
||||||
|
blockXmlVO.setBasePointZ("---< " + blockXmlVO.getBasePointZ() + TYPE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(blockXmlVO.getAxisXrotate())){
|
||||||
|
blockXmlVO.setAxisXrotate("---< 板块绕X轴旋转角度不可为空 >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
if (!ToolUtil.convertToType(blockXmlVO.getAxisXrotate(), Double.class)) {
|
||||||
|
blockXmlVO.setAxisXrotate("---< " + blockXmlVO.getAxisXrotate() + TYPE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(blockXmlVO.getAxisYrotate())){
|
||||||
|
blockXmlVO.setAxisYrotate("---< 板块绕Y轴旋转角度不可为空 >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
if (!ToolUtil.convertToType(blockXmlVO.getAxisYrotate(), Double.class)) {
|
||||||
|
blockXmlVO.setAxisYrotate("---< " + blockXmlVO.getAxisYrotate() + TYPE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(blockXmlVO.getAxisZrotate())){
|
||||||
|
blockXmlVO.setAxisZrotate("---< 板块绕Z轴旋转角度不可为空 >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
if (!ToolUtil.convertToType(blockXmlVO.getAxisZrotate(), Double.class)) {
|
||||||
|
blockXmlVO.setAxisZrotate("---< " + blockXmlVO.getAxisZrotate() + TYPE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (blockXmlVO.getOutlineXmlVO() != null){
|
||||||
|
checkOutline(blockXmlVO.getOutlineXmlVO(), error);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 成品轮廓数据验证
|
||||||
|
public void checkOutline(OutlineXmlVO outlineXmlVO, Boolean error) {
|
||||||
|
if (!StringUtils.isNotEmpty(outlineXmlVO.getCount())){
|
||||||
|
Boolean flag = checkNumber(outlineXmlVO.getCount(), Integer.class);
|
||||||
|
if (!flag) {
|
||||||
|
outlineXmlVO.setCount("---< " + outlineXmlVO.getCount() + POSITIVE_ERR + "或是" + TYPE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (outlineXmlVO.getPointXmlVOList() != null && outlineXmlVO.getPointXmlVOList().size() > 0){
|
||||||
|
for (PointXmlVO pointXmlVO : outlineXmlVO.getPointXmlVOList()) {
|
||||||
|
if (StringUtils.isEmpty(pointXmlVO.getPointX())){
|
||||||
|
pointXmlVO.setPointX("---< 板块轮廓起点坐标X不可为空 >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
if (!ToolUtil.convertToType(pointXmlVO.getPointX(), Double.class)) {
|
||||||
|
pointXmlVO.setPointX("---< " + pointXmlVO.getPointX() + TYPE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(pointXmlVO.getPointY())){
|
||||||
|
pointXmlVO.setPointY("---< 板块轮廓起点坐标Y不可为空 >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
if (!ToolUtil.convertToType(pointXmlVO.getPointY(), Double.class)) {
|
||||||
|
pointXmlVO.setPointY("---< " + pointXmlVO.getPointY() + TYPE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(pointXmlVO.getCurvature())){
|
||||||
|
pointXmlVO.setPointZ("---< 板块轮廓边圆弧凹凸度不可为空 >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
if (!ToolUtil.convertToType(pointXmlVO.getCurvature(), Double.class)) {
|
||||||
|
pointXmlVO.setCurvature("---< " + pointXmlVO.getCurvature() + TYPE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(pointXmlVO.getRadius())){
|
||||||
|
pointXmlVO.setRadius("---< 板块轮廓边圆弧半径不可为空 >---");
|
||||||
|
error = false;
|
||||||
|
} else {
|
||||||
|
if (!ToolUtil.convertToType(pointXmlVO.getRadius(), Double.class)) {
|
||||||
|
pointXmlVO.setRadius("---< " + pointXmlVO.getRadius() + TYPE_ERR + " >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (StringUtils.isEmpty(pointXmlVO.getEdgingId())){
|
||||||
|
pointXmlVO.setProcess("---< 板块轮廓封边条ID不可为空 >---");
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 数据格式+数据正数判断
|
||||||
|
private Boolean checkNumber(String numberStr, Class<?> targetType) {
|
||||||
|
boolean error = true;
|
||||||
|
if (ToolUtil.convertToType(numberStr, targetType)) {
|
||||||
|
if (!ToolUtil.checkNumber(numberStr)){
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
error = false;
|
||||||
|
}
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
// 数据格式+数据正数+数据长度判断
|
||||||
|
private Boolean checkNumber(String numberStr, Class<?> targetType, Integer length, Integer decimalLength) {
|
||||||
|
Boolean flag = checkNumber(numberStr, targetType);
|
||||||
|
if (!flag) {
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
if (!ToolUtil.checkPrecision(numberStr, length, decimalLength)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
+20
@@ -3,8 +3,10 @@ package com.cf.imes.module.executor.util.fileConversion.admin.files.xml;
|
|||||||
|
|
||||||
import java.io.Reader;
|
import java.io.Reader;
|
||||||
import java.io.StringReader;
|
import java.io.StringReader;
|
||||||
|
import java.io.StringWriter;
|
||||||
|
|
||||||
import javax.xml.bind.JAXBContext;
|
import javax.xml.bind.JAXBContext;
|
||||||
|
import javax.xml.bind.Marshaller;
|
||||||
import javax.xml.bind.Unmarshaller;
|
import javax.xml.bind.Unmarshaller;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -38,5 +40,23 @@ public class XmlBuilder {
|
|||||||
return xmlObject;
|
return xmlObject;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 将指定的POJO转为XML
|
||||||
|
* @param object 要转换的对象
|
||||||
|
* @return XML 字符串
|
||||||
|
* @throws Exception 如果转换过程中出现错误
|
||||||
|
*/
|
||||||
|
public static String objectToXmlStr(Object object) throws Exception {
|
||||||
|
StringWriter writer = new StringWriter();
|
||||||
|
JAXBContext context = JAXBContext.newInstance(object.getClass());
|
||||||
|
|
||||||
|
// 对象转为XML的接口
|
||||||
|
Marshaller marshaller = context.createMarshaller();
|
||||||
|
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
|
||||||
|
marshaller.marshal(object, writer);
|
||||||
|
|
||||||
|
return writer.toString();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+27
-102
@@ -1,21 +1,18 @@
|
|||||||
package com.cf.imes.module.executor.util.fileConversion.admin.files.xml;
|
package com.cf.imes.module.executor.util.fileConversion.admin.files.xml;
|
||||||
|
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.alibaba.nacos.common.utils.StringUtils;
|
||||||
import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
|
import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator;
|
||||||
import com.cf.imes.framework.mybatis.core.generator.SnowFlakeGenerator;
|
|
||||||
import com.cf.imes.module.executor.controller.admin.orderParts.vo.OrderPartsRemark;
|
import com.cf.imes.module.executor.controller.admin.orderParts.vo.OrderPartsRemark;
|
||||||
import com.cf.imes.module.executor.dal.dataobject.goods.GoodsDO;
|
import com.cf.imes.module.executor.dal.dataobject.goods.GoodsDO;
|
||||||
import com.cf.imes.module.executor.dal.dataobject.order.OrderDO;
|
|
||||||
import com.cf.imes.module.executor.dal.dataobject.orderBody.OrderBodyDO;
|
import com.cf.imes.module.executor.dal.dataobject.orderBody.OrderBodyDO;
|
||||||
import com.cf.imes.module.executor.dal.dataobject.orderGroup.OrderGroupDO;
|
import com.cf.imes.module.executor.dal.dataobject.orderGroup.OrderGroupDO;
|
||||||
import com.cf.imes.module.executor.dal.dataobject.orderItem.OrderItemDO;
|
import com.cf.imes.module.executor.dal.dataobject.orderItem.OrderItemDO;
|
||||||
import com.cf.imes.module.executor.dal.dataobject.orderParts.OrderPartsDO;
|
import com.cf.imes.module.executor.dal.dataobject.orderParts.OrderPartsDO;
|
||||||
import com.cf.imes.module.executor.dal.dataobject.plate.PlateDO;
|
import com.cf.imes.module.executor.dal.dataobject.plate.PlateDO;
|
||||||
import com.cf.imes.module.executor.dal.dataobject.rawgoods.RawGoodsDO;
|
import com.cf.imes.module.executor.dal.dataobject.rawgoods.RawGoodsDO;
|
||||||
import com.cf.imes.module.executor.enums.DataTypeEnum;
|
|
||||||
import com.cf.imes.module.executor.util.deviseData.structure.*;
|
import com.cf.imes.module.executor.util.deviseData.structure.*;
|
||||||
import com.cf.imes.module.executor.util.fileConversion.admin.SnowflakeIdWorker3rd;
|
import com.cf.imes.module.executor.util.fileConversion.admin.SnowflakeIdWorker3rd;
|
||||||
import com.cf.imes.module.executor.util.fileConversion.admin.ToolUtil;
|
|
||||||
import com.cf.imes.module.executor.util.fileConversion.admin.files.xml.VO.*;
|
import com.cf.imes.module.executor.util.fileConversion.admin.files.xml.VO.*;
|
||||||
import com.cf.imes.module.system.api.dict.DictDataApi;
|
import com.cf.imes.module.system.api.dict.DictDataApi;
|
||||||
import com.cf.imes.module.system.api.dict.dto.DictDataRespDTO;
|
import com.cf.imes.module.system.api.dict.dto.DictDataRespDTO;
|
||||||
@@ -26,8 +23,6 @@ import org.springframework.stereotype.Component;
|
|||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.time.LocalDate;
|
|
||||||
import java.time.format.DateTimeFormatter;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -55,82 +50,6 @@ public class XmlTypeRealize {
|
|||||||
@Resource
|
@Resource
|
||||||
private IdentifierGenerator identifierGenerator;
|
private IdentifierGenerator identifierGenerator;
|
||||||
|
|
||||||
// 数据转换 + 错误验证
|
|
||||||
public Map<String, List<?>> changeDate(OrderXmlVO orderXmlVO, Long orderId, Long organId) {
|
|
||||||
if (orderXmlVO == null) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
Map<String, List<?>> map = new HashMap<>();
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 生产单转换
|
|
||||||
public Map<String, Object> changeOrder(OrderXmlVO orderXmlVO, Long organId) {
|
|
||||||
Map<String, Object> map = new HashMap<>();
|
|
||||||
String error = "";
|
|
||||||
|
|
||||||
if (orderXmlVO.getCustomOrderNo() == null) {
|
|
||||||
error += "客户不能为空;";
|
|
||||||
}
|
|
||||||
if (orderXmlVO.getDealer() == null) {
|
|
||||||
error += "经销商不能为空;";
|
|
||||||
}
|
|
||||||
if (orderXmlVO.getCustomerAddress() == null) {
|
|
||||||
error += "客户地址不能为空;";
|
|
||||||
}
|
|
||||||
if (orderXmlVO.getCustomerPhone() == null) {
|
|
||||||
error += "客户电话不能为空;";
|
|
||||||
} else {
|
|
||||||
if (!ToolUtil.validatePhoneNumber(orderXmlVO.getCustomerPhone())) {
|
|
||||||
error += orderXmlVO.getCustomerPhone() + "-客户电话格式错误;";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (orderXmlVO.getDealerPhone() != null) {
|
|
||||||
if (!ToolUtil.validatePhoneNumber(orderXmlVO.getDealerPhone())) {
|
|
||||||
error += orderXmlVO.getDealerPhone() + "-经销商电话格式错误;";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
OrderDO orderDO = OrderDO.builder()
|
|
||||||
.organId(organId)
|
|
||||||
.dataType(DataTypeEnum.FILE_IMPORT.getStatus())
|
|
||||||
.customer(orderXmlVO.getCustomer())
|
|
||||||
.customOrderNo(orderXmlVO.getCustomOrderNo())
|
|
||||||
.dealer(orderXmlVO.getDealer())
|
|
||||||
.dealerPhoneNumber(orderXmlVO.getDealerPhone())
|
|
||||||
.address(orderXmlVO.getCustomerAddress())
|
|
||||||
.phoneNumber(orderXmlVO.getCustomerPhone())
|
|
||||||
.salesman(orderXmlVO.getSeller())
|
|
||||||
.splitter(orderXmlVO.getAnalyst())
|
|
||||||
.remark(orderXmlVO.getMemo())
|
|
||||||
.build();
|
|
||||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
||||||
Map<String, Object> mapDate = ToolUtil.changeDate(orderXmlVO.getOrderDate(), formatter);
|
|
||||||
if (orderXmlVO.getOrderDate() == null) {
|
|
||||||
error += "-订单日期不可为空;";
|
|
||||||
} else {
|
|
||||||
if (mapDate.get("error") instanceof Integer && (Integer) mapDate.get("error") == -1) {
|
|
||||||
error += orderXmlVO.getOrderDate() + "-订单日期格式错误;";
|
|
||||||
} else {
|
|
||||||
orderDO.setOrderDate(((LocalDate) mapDate.get("date")).atStartOfDay());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
mapDate = ToolUtil.changeDate(orderXmlVO.getDeliveryDate(), formatter);
|
|
||||||
if (orderXmlVO.getDeliveryDate() == null) {
|
|
||||||
error += "-出货日期不可为空;";
|
|
||||||
} else {
|
|
||||||
if (mapDate.get("error") instanceof Integer && (Integer) mapDate.get("error") == -1) {
|
|
||||||
error += orderXmlVO.getDeliveryDate() + "-出货日期格式错误;";
|
|
||||||
} else {
|
|
||||||
orderDO.setDeliveryDate(((LocalDate) mapDate.get("date")).atStartOfDay());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
map.put("order", orderDO);
|
|
||||||
map.put("error", error);
|
|
||||||
return map;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 房间柜体信息转换
|
// 房间柜体信息转换
|
||||||
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) {
|
||||||
|
|
||||||
@@ -170,12 +89,12 @@ public class XmlTypeRealize {
|
|||||||
for (RoomXmlVO roomXmlVO : roomXmlVOS.getRoomXmlVOList()) {
|
for (RoomXmlVO roomXmlVO : roomXmlVOS.getRoomXmlVOList()) {
|
||||||
for (BoxXmlVO boxXmlVO : roomXmlVO.getBoxXmlVOList()) {
|
for (BoxXmlVO boxXmlVO : roomXmlVO.getBoxXmlVOList()) {
|
||||||
BasePosition basePosition = BasePosition.builder()
|
BasePosition basePosition = BasePosition.builder()
|
||||||
.basePointX(boxXmlVO.getBasePointX())
|
.basePointX(Double.valueOf(boxXmlVO.getBasePointX()))
|
||||||
.basePointY(boxXmlVO.getBasePointY())
|
.basePointY(Double.valueOf(boxXmlVO.getBasePointY()))
|
||||||
.basePointZ(boxXmlVO.getBasePointZ())
|
.basePointZ(Double.valueOf(boxXmlVO.getBasePointZ()))
|
||||||
.axisXrotate(boxXmlVO.getAxisXrotate())
|
.axisXrotate(Double.valueOf(boxXmlVO.getAxisXrotate()))
|
||||||
.axisYrotate(boxXmlVO.getAxisYrotate())
|
.axisYrotate(Double.valueOf(boxXmlVO.getAxisYrotate()))
|
||||||
.axisZrotate(boxXmlVO.getAxisZrotate())
|
.axisZrotate(Double.valueOf(boxXmlVO.getAxisZrotate()))
|
||||||
.build();
|
.build();
|
||||||
basePositions.put(boxXmlVO.getId(), basePosition);
|
basePositions.put(boxXmlVO.getId(), basePosition);
|
||||||
}
|
}
|
||||||
@@ -248,6 +167,12 @@ public class XmlTypeRealize {
|
|||||||
// 板材 小板
|
// 板材 小板
|
||||||
if (plateXmlVOS.getPlateXmlVOList() != null && plateXmlVOS.getPlateXmlVOList().size() > 0) {
|
if (plateXmlVOS.getPlateXmlVOList() != null && plateXmlVOS.getPlateXmlVOList().size() > 0) {
|
||||||
for (PlateXmlVO plateXmlVO : plateXmlVOS.getPlateXmlVOList()) {
|
for (PlateXmlVO plateXmlVO : plateXmlVOS.getPlateXmlVOList()) {
|
||||||
|
if (StringUtils.equals(plateXmlVO.getGrained().trim(), "无")) {
|
||||||
|
plateXmlVO.setGrained("false");
|
||||||
|
} else if (StringUtils.equals(plateXmlVO.getGrained().trim(), "有")) {
|
||||||
|
plateXmlVO.setGrained("true");
|
||||||
|
}
|
||||||
|
|
||||||
Long rawGoodsId = (Long) identifierGenerator.nextId(null);
|
Long rawGoodsId = (Long) identifierGenerator.nextId(null);
|
||||||
Long goodsId = (Long) identifierGenerator.nextId(null);
|
Long goodsId = (Long) identifierGenerator.nextId(null);
|
||||||
rawGoodsDOs.add(RawGoodsDO.builder()
|
rawGoodsDOs.add(RawGoodsDO.builder()
|
||||||
@@ -259,7 +184,7 @@ public class XmlTypeRealize {
|
|||||||
.material(plateXmlVO.getMaterial())
|
.material(plateXmlVO.getMaterial())
|
||||||
.color(plateXmlVO.getCoatingObverse())
|
.color(plateXmlVO.getCoatingObverse())
|
||||||
.colorBlack(plateXmlVO.getCoatingReverse())
|
.colorBlack(plateXmlVO.getCoatingReverse())
|
||||||
.texture(ToolUtil.convertToType(plateXmlVO.getGrained(), Boolean.class) ? Boolean.valueOf(plateXmlVO.getGrained()) : false)
|
.texture(Boolean.valueOf(plateXmlVO.getGrained()))
|
||||||
.thickness(Double.parseDouble(plateXmlVO.getThickness()))
|
.thickness(Double.parseDouble(plateXmlVO.getThickness()))
|
||||||
.brand(plateXmlVO.getBrand())
|
.brand(plateXmlVO.getBrand())
|
||||||
.spec(plateXmlVO.getSpecs())
|
.spec(plateXmlVO.getSpecs())
|
||||||
@@ -275,7 +200,7 @@ public class XmlTypeRealize {
|
|||||||
.material(plateXmlVO.getMaterial())
|
.material(plateXmlVO.getMaterial())
|
||||||
.color(plateXmlVO.getCoatingObverse())
|
.color(plateXmlVO.getCoatingObverse())
|
||||||
.colorBlack(plateXmlVO.getCoatingReverse())
|
.colorBlack(plateXmlVO.getCoatingReverse())
|
||||||
.texture(ToolUtil.convertToType(plateXmlVO.getGrained(), Boolean.class) ? Boolean.valueOf(plateXmlVO.getGrained()) : false)
|
.texture(Boolean.valueOf(plateXmlVO.getGrained()))
|
||||||
.width(BigDecimal.valueOf(Double.parseDouble(plateXmlVO.getWidth())))
|
.width(BigDecimal.valueOf(Double.parseDouble(plateXmlVO.getWidth())))
|
||||||
.height(BigDecimal.valueOf(Double.parseDouble(plateXmlVO.getLength())))
|
.height(BigDecimal.valueOf(Double.parseDouble(plateXmlVO.getLength())))
|
||||||
.thickness(BigDecimal.valueOf(Double.parseDouble(plateXmlVO.getThickness())))
|
.thickness(BigDecimal.valueOf(Double.parseDouble(plateXmlVO.getThickness())))
|
||||||
@@ -617,7 +542,7 @@ public class XmlTypeRealize {
|
|||||||
.area(area)
|
.area(area)
|
||||||
.texture(Integer.valueOf(dictDataApi.parseDictData(DictTypeConstants.GRAIN_TYPE, blockXmlVO.getTexture()).getData().getValue()))
|
.texture(Integer.valueOf(dictDataApi.parseDictData(DictTypeConstants.GRAIN_TYPE, blockXmlVO.getTexture()).getData().getValue()))
|
||||||
.holeFace(Integer.valueOf(dictDataApi.parseDictData(DictTypeConstants.TYPOGRAPHY_TYPE, blockXmlVO.getLayoutFace()).getData().getValue()))
|
.holeFace(Integer.valueOf(dictDataApi.parseDictData(DictTypeConstants.TYPOGRAPHY_TYPE, blockXmlVO.getLayoutFace()).getData().getValue()))
|
||||||
.isDoor(doorType == 0)
|
.isDoor(doorType != 0)
|
||||||
.openDoorType(doorType)
|
.openDoorType(doorType)
|
||||||
.isSpecialShaped(convertToBoolean(blockXmlVO.getUnregular()))
|
.isSpecialShaped(convertToBoolean(blockXmlVO.getUnregular()))
|
||||||
.build();
|
.build();
|
||||||
@@ -637,12 +562,12 @@ public class XmlTypeRealize {
|
|||||||
// 基点坐标获取
|
// 基点坐标获取
|
||||||
BasePosition plateBasePosition = BasePosition.builder()
|
BasePosition plateBasePosition = BasePosition.builder()
|
||||||
.basePoint(blockXmlVO.getId())
|
.basePoint(blockXmlVO.getId())
|
||||||
.basePointX(blockXmlVO.getBasePointX())
|
.basePointX(Double.valueOf(blockXmlVO.getBasePointX()))
|
||||||
.basePointY(blockXmlVO.getBasePointY())
|
.basePointY(Double.valueOf(blockXmlVO.getBasePointY()))
|
||||||
.basePointZ(blockXmlVO.getBasePointZ())
|
.basePointZ(Double.valueOf(blockXmlVO.getBasePointZ()))
|
||||||
.axisXrotate(blockXmlVO.getAxisXrotate())
|
.axisXrotate(Double.valueOf(blockXmlVO.getAxisXrotate()))
|
||||||
.axisYrotate(blockXmlVO.getAxisYrotate())
|
.axisYrotate(Double.valueOf(blockXmlVO.getAxisYrotate()))
|
||||||
.axisZrotate(blockXmlVO.getAxisZrotate())
|
.axisZrotate(Double.valueOf(blockXmlVO.getAxisZrotate()))
|
||||||
.build();
|
.build();
|
||||||
PlateDetail plateDetail = PlateDetail.builder()
|
PlateDetail plateDetail = PlateDetail.builder()
|
||||||
.plateId(plateId)
|
.plateId(plateId)
|
||||||
@@ -667,8 +592,8 @@ public class XmlTypeRealize {
|
|||||||
.holeDetail(new ArrayList<>())
|
.holeDetail(new ArrayList<>())
|
||||||
.contourDetail(new ArrayList<>())
|
.contourDetail(new ArrayList<>())
|
||||||
.sideHoleDetail(new ArrayList<>())
|
.sideHoleDetail(new ArrayList<>())
|
||||||
.remark(new HashMap<>())
|
.plateRemark(new HashMap<>())
|
||||||
.sideRemark(new HashMap<>())
|
// .sideRemark(new HashMap<>())
|
||||||
.isUnRegular(plateDO.getIsSpecialShaped())
|
.isUnRegular(plateDO.getIsSpecialShaped())
|
||||||
.build();
|
.build();
|
||||||
// 小板、es 封边值
|
// 小板、es 封边值
|
||||||
@@ -745,7 +670,7 @@ public class XmlTypeRealize {
|
|||||||
.radius(Double.parseDouble(pointXmlVO.getRadius()))
|
.radius(Double.parseDouble(pointXmlVO.getRadius()))
|
||||||
.sealSize(size)
|
.sealSize(size)
|
||||||
.build());
|
.build());
|
||||||
plateDetail.getSideRemark().put(pointXmlVO.getId(), pointXmlVO.getRemark());
|
// plateDetail.getSideRemark().put(pointXmlVO.getId(), pointXmlVO.getRemark());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
plateDetail.setSealUp(sealUp).setSealDown(sealDown).setSealLeft(sealLeft).setSealRight(sealRight);
|
plateDetail.setSealUp(sealUp).setSealDown(sealDown).setSealLeft(sealLeft).setSealRight(sealRight);
|
||||||
@@ -892,9 +817,9 @@ public class XmlTypeRealize {
|
|||||||
private void addRemark(PlateDO plateDO, PlateDetail plateDetail, BlockXmlVO blockXmlVO) {
|
private void addRemark(PlateDO plateDO, PlateDetail plateDetail, BlockXmlVO blockXmlVO) {
|
||||||
if (blockXmlVO.getRemarkXmlVOS() != null && blockXmlVO.getRemarkXmlVOS().getRemarkXmlVOList() != null && blockXmlVO.getRemarkXmlVOS().getRemarkXmlVOList().size() > 0) {
|
if (blockXmlVO.getRemarkXmlVOS() != null && blockXmlVO.getRemarkXmlVOS().getRemarkXmlVOList() != null && blockXmlVO.getRemarkXmlVOS().getRemarkXmlVOList().size() > 0) {
|
||||||
for (RemarkXmlVO remarkXmlVO : blockXmlVO.getRemarkXmlVOS().getRemarkXmlVOList()) {
|
for (RemarkXmlVO remarkXmlVO : blockXmlVO.getRemarkXmlVOS().getRemarkXmlVOList()) {
|
||||||
plateDetail.getRemark().put(remarkXmlVO.getName(), remarkXmlVO.getInfo());
|
plateDetail.getPlateRemark().put(remarkXmlVO.getName(), remarkXmlVO.getInfo());
|
||||||
}
|
}
|
||||||
plateDO.setRemark(JSONObject.toJSONString(plateDetail.getRemark()));
|
plateDO.setRemark(JSONObject.toJSONString(plateDetail.getPlateRemark()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
Binary file not shown.
Reference in New Issue
Block a user