Sfoglia il codice sorgente

fix: 修改质量检测数据

wang.sq@aliyun.com 4 mesi fa
parent
commit
7f84e26e0a

+ 37 - 24
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/util/MsgUtil.java

@@ -44,6 +44,7 @@ import com.github.zuihou.database.mybatis.conditions.Wraps;
 import com.github.zuihou.exception.BizException;
 import com.github.zuihou.tenant.service.ProductionresourceService;
 import com.google.common.collect.Lists;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.apache.poi.ss.usermodel.Cell;
@@ -75,6 +76,7 @@ import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
 @Component
+@Slf4j
 public class MsgUtil implements ApplicationContextAware {
 
     private static Logger logger = LoggerFactory.getLogger(MsgUtil.class);
@@ -371,6 +373,7 @@ public class MsgUtil implements ApplicationContextAware {
 
                     if(1 == measuringResult){
                         logger.warn("三坐标测量失败直接下料");
+                        log.info("三坐标测量失败直接下料");
 
                         // 清楚当前节点工序的redis暂存值
                         List<TaskNode> operationTaskNodes = taskNodeService.list(Wraps.<TaskNode>lbQ().eq(TaskNode::getTaskId, taskNode.getTaskId()));
@@ -402,6 +405,9 @@ public class MsgUtil implements ApplicationContextAware {
                         }
                     }
                 }else if ("5".equals(taskNode.getNodeType())){
+                    logger.info("======三坐标检测===={}",JSONObject.toJSONString(taskNode));
+                    log.info("======三坐标检测===={}",JSONObject.toJSONString(taskNode));
+
                     // 工件坐标系检测 三坐标测量偏移量数据添加
                     BomProcedure procedure = bomProcedureService.getById(task.getProcedureId());
                     BBom bBom = bBomMapper.selectById(procedure.getBomId());
@@ -416,6 +422,8 @@ public class MsgUtil implements ApplicationContextAware {
 
                     //获取偏差值数据
                     Map<String, List<String>> stringListMap = SmbShareFileUtil.processExcelFiles(threeDimensionalResultAddress, toPlcPar,"xlsx");
+                    logger.info("=========三坐标获取偏差值数据========="+ stringListMap);
+                    log.info("=========三坐标获取偏差值数据========="+ stringListMap);
 
                     if (!stringListMap.isEmpty()) {
 
@@ -423,32 +431,37 @@ public class MsgUtil implements ApplicationContextAware {
 
                         stringListMap.forEach((Key, stringsList) -> {
                             List<OrderQuality> orderQualities = orderQualityMapper.selectList(Wraps.<OrderQuality>lbQ().eq(OrderQuality::getDetectionCommand, Key));
+
+                            OrderQuality orderQuality = null;
                             if(orderQualities.isEmpty()){
-                                OrderQuality orderQuality = new OrderQuality();
-                                orderQuality.setDetectionCommand(Key);
-                                orderQuality.setOrderNo(order.getOrderNo());
-                                orderQuality.setOrderId(order.getId());
-                                orderQuality.setTaskId(task.getId());
-                                orderQuality.setWorkpieceId(task.getCompleteBatchNo());
-                                orderQuality.setWorkpieceName(bom.getName());
-                                orderQuality.setProcedureId(task.getProcedureId());
-                                orderQuality.setProcedureName(task.getProcedureName());
-                                // 读取三坐标工件坐标系每根轴偏移量
-                                BigDecimal xOffset = new BigDecimal(stringsList.size()>=6? stringsList.get(0):"0");
-                                BigDecimal yOffset = new BigDecimal(stringsList.size()>=6? stringsList.get(1):"0");
-                                BigDecimal zOffset = new BigDecimal(stringsList.size()>=6? stringsList.get(2):"0");
-                                BigDecimal aOffset = new BigDecimal(stringsList.size()>=6? stringsList.get(3):"0");
-                                BigDecimal bOffset = new BigDecimal(stringsList.size()>=6? stringsList.get(4):"0");
-                                BigDecimal cOffset = new BigDecimal(stringsList.size()>=6? stringsList.get(5):"0");
-                                orderQuality.setExactXaxisOffset(xOffset);
-                                orderQuality.setExactYaxisOffset(yOffset);
-                                orderQuality.setExactZaxisOffset(zOffset);
-                                orderQuality.setExactAaxisOffset(aOffset);
-                                orderQuality.setExactBaxisOffset(bOffset);
-                                orderQuality.setExactCaxisOffset(cOffset);
-
-                                list1.add(orderQuality);
+                                orderQuality = new OrderQuality();
+                            }else {
+                                orderQuality =  orderQualities.get(0);
                             }
+
+                            orderQuality.setDetectionCommand(Key);
+                            orderQuality.setOrderNo(order.getOrderNo());
+                            orderQuality.setOrderId(order.getId());
+                            orderQuality.setTaskId(task.getId());
+                            orderQuality.setWorkpieceId(task.getCompleteBatchNo());
+                            orderQuality.setWorkpieceName(bom.getName());
+                            orderQuality.setProcedureId(task.getProcedureId());
+                            orderQuality.setProcedureName(task.getProcedureName());
+                            // 读取三坐标工件坐标系每根轴偏移量
+                            BigDecimal xOffset = new BigDecimal(stringsList.size()>=6? stringsList.get(0):"0");
+                            BigDecimal yOffset = new BigDecimal(stringsList.size()>=6? stringsList.get(1):"0");
+                            BigDecimal zOffset = new BigDecimal(stringsList.size()>=6? stringsList.get(2):"0");
+                            BigDecimal aOffset = new BigDecimal(stringsList.size()>=6? stringsList.get(3):"0");
+                            BigDecimal bOffset = new BigDecimal(stringsList.size()>=6? stringsList.get(4):"0");
+                            BigDecimal cOffset = new BigDecimal(stringsList.size()>=6? stringsList.get(5):"0");
+                            orderQuality.setExactXaxisOffset(xOffset.setScale(5, RoundingMode.HALF_UP));
+                            orderQuality.setExactYaxisOffset(yOffset.setScale(5, RoundingMode.HALF_UP));
+                            orderQuality.setExactZaxisOffset(zOffset.setScale(5, RoundingMode.HALF_UP));
+                            orderQuality.setExactAaxisOffset(aOffset.setScale(5, RoundingMode.HALF_UP));
+                            orderQuality.setExactBaxisOffset(bOffset.setScale(5, RoundingMode.HALF_UP));
+                            orderQuality.setExactCaxisOffset(cOffset.setScale(5, RoundingMode.HALF_UP));
+
+                            list1.add(orderQuality);
                         });
                         orderQualityMapper.insertBatchSomeColumn(list1);
                     }