north-glass-erp/northglass-erp/src/components/sd/delivery/PrintSheet2.vue
@@ -138,7 +138,7 @@ <thead> <tr v-if="index===0"> <th style="width: 6%;">序号</th> <th style="width: 20%;">楼层编号</th> <th style="width: 20%;">楼层编号(箱号)</th> <th style="width: 20%;" colspan="2">宽X高</th> <th style="width: 10%;">数量</th> <th style="width: 10%;">面积</th> north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet2.vue
@@ -190,7 +190,7 @@ <td>下料-宽</td> <td>弧长</td> <td>下料-高</td> <td>成品拱高</td> <td>拱高</td> <td colspan="7"></td> </tr> @@ -202,7 +202,7 @@ <td>{{item2.childWidth}}</td> <td>{{item2.arc}}</td> <td>{{item2.childHeight}}</td> <td>{{item1.archRise}}</td> <td>{{item2.archRise?item2.archRise:item1.archRise}}</td> <td colspan="7"></td> </tr> north-glass-erp/northglass-erp/src/views/sd/order/SelectOrder.vue
@@ -670,7 +670,10 @@ size="small"> {{ $t('basicData.edit') }} </el-button> <el-popconfirm @confirm="getTableRow(row,'delete')" :title="$t('searchOrder.deleteConfirm')"> <el-popconfirm v-if="userStore.user.permissions.indexOf('selectOrder.edit') > -1" @confirm="getTableRow(row,'delete')" :title="$t('searchOrder.deleteConfirm')"> <template #reference> <el-button link type="primary" size="small">{{ $t('basicData.delete') }}</el-button> </template> north-glass-erp/src/main/java/com/example/erp/entity/sd/OrderGlassDetail.java
@@ -33,8 +33,10 @@ @TableField(value = "`group`") private Integer group; private LocalDate productionTime; private Double archRise; private LocalDate createTime; @TableField(select = false,exist = false) private Integer thickness; north-glass-erp/src/main/java/com/example/erp/mapper/sd/ProductMapper.java
@@ -21,4 +21,6 @@ List<Product> selectProduct(@Param("productName") String productName,@Param("productNameValue") String productNameValue); List<Product> selectProductId(@Param("productName") String productName,@Param("productNameValue") String productNameValue,@Param("id") Long id); Double getGlassThickness(Integer productId, Integer technologyNumber); } north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
@@ -318,31 +318,36 @@ orderDetails.forEach(orderDetail -> { //获取最小弧度 OrderGlassDetail orderGlassDetail = orderGlassDetailMapper .selectOne(new LambdaQueryWrapper<OrderGlassDetail>() List<OrderGlassDetail> orderGlassDetails = orderGlassDetailMapper .selectList(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(); for(OrderGlassDetail orderGlassDetail:orderGlassDetails) { //获取当前层数与之前层数的厚度 Double glassThickness = productMapper .getGlassThickness(orderDetail.getProductId(), orderGlassDetail.getTechnologyNumber()); //内半径 Double radius = orderDetail.getBendRadius() - glassThickness; //拱高 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()) ); //内片内弧长 Double innerArc = orderGlassDetails.get(0).getArc() - orderGlassDetails.get(0).getArc() * glassThickness / orderDetail.getBendRadius(); //拱高 String archRiseS = String.format("%.1f", radius - radius * Math.cos(innerArc / 2 / radius)); Double archRise = Double.parseDouble(archRiseS); orderGlassDetailMapper.update(null, new LambdaUpdateWrapper<OrderGlassDetail>() .set(OrderGlassDetail::getArchRise, archRise) .eq(OrderGlassDetail::getId, orderGlassDetail.getId()) ); // orderDetailMapper.update(null,new LambdaUpdateWrapper<OrderDetail>() // .set(OrderDetail::getArchRise,archRise) // .eq(OrderDetail::getId, orderDetail.getId()) } }); north-glass-erp/src/main/resources/mapper/sd/ProductMapper.xml
@@ -133,4 +133,14 @@ <update id="updateProductStateById"> update product set state = #{state} where id = #{id} </update> <select id="getGlassThickness"> select sum(REPLACE(JSON_UNQUOTE(JSON_EXTRACT(separation, '$.thickness')),'mm','')) from product_detail as a where a.prod_id = #{productId} and a.id <= (select b.id from product_detail as b where b.prod_id = #{productId} and b.glass_sort = #{technologyNumber}) </select> </mapper>