| | |
| | | Product product = productMapper.selectById(OrderDetails.get(i).getProductId()); |
| | | |
| | | OrderDetails.get(i).setWeight(Double.valueOf(String.format("%.2f",product.getThickness()*OrderDetails.get(i).getWidth()*OrderDetails.get(i).getHeight()/1000000*2.5))); |
| | | if(OrderDetails.get(i).getBendRadius()!=null && OrderDetails.get(i).getBendRadius()!=0){ |
| | | /*if(OrderDetails.get(i).getBendRadius()!=null && OrderDetails.get(i).getBendRadius()!=0){ |
| | | //获取弯钢弧度 |
| | | Double bendRadius = OrderDetails.get(i).getBendRadius(); |
| | | //获取宽 |
| | |
| | | String archRiseS = String.format("%.1f",bendRadius-(bendRadius*Math.cos(width/2/bendRadius))); |
| | | Double archRise = Double.parseDouble(archRiseS); |
| | | OrderDetails.get(i).setArchRise(archRise); |
| | | } |
| | | }*/ |
| | | |
| | | Map<String,Object> otherColumns = JSON.parseObject(OrderDetails.get(i).getOtherColumns(), new TypeReference<Map<String, Object>>(){}); |
| | | int finalI = i; |
| | |
| | | orderDetailMapper.insertBatch(OrderDetails); |
| | | //往小片表传入产品数据 |
| | | orderGlassDetailMapper.insertOrderGlassDetail(orderId); |
| | | |
| | | //修改成品拱高 |
| | | List<OrderDetail> orderDetails = orderDetailMapper |
| | | .selectList(new LambdaQueryWrapper<OrderDetail>() |
| | | .eq(OrderDetail::getOrderId, orderId) |
| | | .isNotNull(OrderDetail::getBendRadius) |
| | | ); |
| | | |
| | | orderDetails.forEach(orderDetail -> { |
| | | //获取最小弧度 |
| | | OrderGlassDetail orderGlassDetail = orderGlassDetailMapper |
| | | .selectOne(new LambdaQueryWrapper<OrderGlassDetail>() |
| | | .eq(OrderGlassDetail::getOrderId, orderId) |
| | | .eq(OrderGlassDetail::getOrderNumber, orderDetail.getOrderNumber()) |
| | | .orderByDesc(OrderGlassDetail::getArc) |
| | | .last("limit 1") |
| | | ); |
| | | //获取当前序号产品Math.cos( |
| | | Product product = productMapper.selectById(orderDetail.getProductId()); |
| | | //内半径 |
| | | Double radius = orderDetail.getBendRadius() - product.getTotalThickness(); |
| | | |
| | | //内片内弧长 |
| | | Double innerArc = orderGlassDetail.getArc() |
| | | -orderGlassDetail.getArc()*product.getTotalThickness()/orderDetail.getBendRadius(); |
| | | |
| | | //拱高 |
| | | String archRiseS = String.format("%.1f",radius-radius*Math.cos(innerArc/2/radius)); |
| | | Double archRise = Double.parseDouble(archRiseS); |
| | | orderDetail.setArchRise(archRise); |
| | | |
| | | orderDetailMapper.update(null,new LambdaUpdateWrapper<OrderDetail>() |
| | | .set(OrderDetail::getArchRise,archRise) |
| | | .eq(OrderDetail::getId, orderDetail.getId()) |
| | | ); |
| | | |
| | | }); |
| | | |
| | | |
| | | if(orderOtherMoneyList!=null){ |
| | | orderOtherMoneyList.forEach(orderOtherMoney ->{ |
| | | orderOtherMoney.setId(null); |