yaowanxin
3 天以前 005e11377f508e3a79b528572a386a2af43697ca
src/main/java/com/ruoyi/production/controller/ProductProcessRouteItemController.java
@@ -4,11 +4,17 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.ruoyi.framework.web.domain.R;
import com.ruoyi.production.dto.ProductProcessRouteItemDto;
import com.ruoyi.production.mapper.ProductOrderMapper;
import com.ruoyi.production.mapper.ProductWorkOrderMapper;
import com.ruoyi.production.pojo.ProductOrder;
import com.ruoyi.production.pojo.ProductProcessRouteItem;
import com.ruoyi.production.pojo.ProductWorkOrder;
import com.ruoyi.production.service.ProductProcessRouteItemService;
import com.ruoyi.production.service.ProductWorkOrderService;
import com.ruoyi.sales.mapper.SalesLedgerMapper;
import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
import com.ruoyi.sales.pojo.SalesLedger;
import com.ruoyi.sales.pojo.SalesLedgerProduct;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
@@ -23,17 +29,20 @@
import java.util.Map;
import java.util.stream.Collectors;
@RequestMapping("productProcessRoute")
@RequestMapping("/productProcessRoute")
@RestController
@AllArgsConstructor
@Api(tags = "生产工艺路线")
public class ProductProcessRouteItemController {
    private final ProductOrderMapper productOrderMapper;
    private ProductProcessRouteItemService productProcessRouteItemService;
    private ProductWorkOrderService productWorkOrderService;
    private ProductWorkOrderMapper productWorkOrderMapper;
    private SalesLedgerProductMapper salesLedgerProductMapper;
    @GetMapping("list")
    @ApiOperation("根据Id查询工艺项目")
@@ -45,6 +54,18 @@
    @ApiOperation("批量新增修改")
    @Transactional(rollbackFor = Exception.class)
    public R addOrUpdate(@RequestBody ProductProcessRouteItemDto processRouteItemDto) {
        ProductOrder productOrder = productOrderMapper.selectById(processRouteItemDto.getRouteId());
        if (productOrder == null) {
            return R.fail("未找到ID为[" + processRouteItemDto.getRouteId() + "]的产品订单");
        }
        SalesLedgerProduct salesLedgerProduct = salesLedgerProductMapper.selectOne(new LambdaQueryWrapper<SalesLedgerProduct>()
                .eq(SalesLedgerProduct::getSalesLedgerId, productOrder.getSalesLedgerId()));
        if (salesLedgerProduct == null) {
            return R.fail("未找到销售台账ID为[" + productOrder.getSalesLedgerId() + "]的台账产品");
        }
        List<ProductProcessRouteItem> items = processRouteItemDto.getProcessRouteItem();
        if (CollectionUtils.isEmpty(items)) {
            return R.ok();
@@ -71,7 +92,7 @@
                List<Map<String, Object>> maxNoList = productWorkOrderMapper.selectMaps(queryWrapper);
                String maxWorkOrderNo = null;
                if (!maxNoList.isEmpty() && maxNoList.get(0).get("maxNo") != null) {
                if (!maxNoList.isEmpty() && maxNoList.get(0) != null && maxNoList.get(0).get("maxNo") != null) {
                    maxWorkOrderNo = maxNoList.get(0).get("maxNo").toString();
                }
                int startSequence = 1;
@@ -90,7 +111,9 @@
                    String workOrderNoStr = String.format("%s%03d", datePrefix, startSequence + i);
                    ProductWorkOrder workOrder = new ProductWorkOrder();
                    workOrder.setProductProcessRouteItemId(item.getId());
                    workOrder.setProductOrderId(item.getRouteId());
                    workOrder.setWorkOrderNo(workOrderNoStr);
                    workOrder.setPlanQuantity(salesLedgerProduct.getQuantity());
                    workOrder.setStatus(1);
                    workOrders.add(workOrder);
                }