src/main/java/com/ruoyi/production/controller/ProductOrderController.java
@@ -72,4 +72,9 @@ public R delete(@PathVariable("ids") Long[] ids) { return R.ok(productOrderService.delete(ids)); } @PatchMapping("/{id}") public R finishOrder(@PathVariable Long id) { return R.ok(productOrderService.finishOrder(id)); } } src/main/java/com/ruoyi/production/dto/ProductWorkOrderDto.java
@@ -33,6 +33,7 @@ //生产订单号 @ApiModelProperty(value = "生产订单号") private String productOrderNpsNo; private Boolean productOrderIsEnd; @ApiModelProperty(value = "完成进度") private BigDecimal completionStatus; src/main/java/com/ruoyi/production/pojo/ProductOrder.java
@@ -116,4 +116,5 @@ @ApiModelProperty(value = "批号") private String batchNo; private Boolean isEnd; } src/main/java/com/ruoyi/production/service/ProductOrderService.java
@@ -3,7 +3,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.production.dto.ProductBomDto; import com.ruoyi.production.dto.ProductOrderDto; import com.ruoyi.production.dto.ProductStructureDto; import com.ruoyi.production.pojo.ProcessRoute; @@ -25,4 +24,6 @@ Boolean addProductOrder(ProductOrder productOrder); Boolean delete(Long[] id); int finishOrder(Long orderId); } src/main/java/com/ruoyi/production/service/impl/ProductOrderServiceImpl.java
@@ -1,5 +1,6 @@ package com.ruoyi.production.service.impl; import cn.hutool.core.util.BooleanUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -7,8 +8,6 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.enums.StockOutQualifiedRecordTypeEnum; import com.ruoyi.common.enums.StockInUnQualifiedRecordTypeEnum; import com.ruoyi.procurementrecord.utils.StockUtils; import com.ruoyi.production.dto.ProductOrderDto; import com.ruoyi.production.dto.ProductStructureDto; @@ -16,7 +15,6 @@ import com.ruoyi.production.pojo.*; import com.ruoyi.production.service.ProductOrderService; import com.ruoyi.quality.mapper.QualityInspectMapper; import com.ruoyi.quality.pojo.QualityInspect; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -67,7 +65,17 @@ @Override public IPage<ProductOrderDto> pageProductOrder(Page page, ProductOrderDto productOrder) { return productOrderMapper.pageProductOrder(page, productOrder); IPage<ProductOrderDto> productOrderDtoIPage = productOrderMapper.pageProductOrder(page, productOrder); List<ProductOrderDto> productOrderDtos = productOrderDtoIPage.getRecords(); for (int i = 0; i < productOrderDtos.size(); i++) { ProductOrderDto productOrderDto = productOrderDtos.get(i); if (BooleanUtil.isTrue(productOrderDto.getIsEnd())) { // 如果生产订单被结束,则将完成进度设置为100% productOrderDto.setCompletionStatus(BigDecimal.valueOf(100)); } } return productOrderDtoIPage; } @Override @@ -201,4 +209,11 @@ } @Override public int finishOrder(Long orderId) { ProductOrder productOrder = new ProductOrder(); productOrder.setId(orderId); productOrder.setIsEnd(true); return productOrderMapper.updateById(productOrder); } } src/main/resources/mapper/production/ProductOrderMapper.xml
@@ -14,6 +14,7 @@ <result property="updateTime" column="update_time"/> <result property="expectedSchedule" column="expected_schedule"/> <result property="manufacturingTeam" column="manufacturing_team"/> <result property="isEnd" column="is_end"/> </resultMap> <select id="pageProductOrder" resultType="com.ruoyi.production.dto.ProductOrderDto"> select po.*, src/main/resources/mapper/production/ProductWorkOrderMapper.xml
@@ -28,6 +28,7 @@ pm.uid_no, p.product_name AS productName, po.nps_no AS productOrderNpsNo, po.is_end as productOrderIsEnd, ROUND(pwo.complete_quantity / pwo.plan_quantity * 100, 2) AS completionStatus, CASE WHEN pwo.work_order_no LIKE 'FG%' THEN '返工返修'