廖井涛
2025-07-03 ec37ee18e2467fbde0eeb1539dcdb846f48ad59f
north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
@@ -7,16 +7,14 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.example.erp.common.Constants;
import com.example.erp.entity.pp.FlowCard;
import com.example.erp.entity.sd.OrderDetail;
import com.example.erp.entity.sd.OrderGlassDetail;
import com.example.erp.entity.sd.OrderProcessDetail;
import com.example.erp.entity.sd.*;
import com.example.erp.entity.userInfo.Log;
import com.example.erp.exception.ServiceException;
import com.example.erp.mapper.pp.FlowCardMapper;
import com.example.erp.mapper.sd.OrderGlassDetailMapper;
import com.example.erp.mapper.sd.OrderProcessDetailMapper;
import com.example.erp.mapper.sd.*;
import com.example.erp.service.userInfo.LogService;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDate;
@@ -45,12 +43,21 @@
    OrderProcessDetailMapper orderProcessDetailMapper;
    final
    LogService logService;
    private final ProductMapper productMapper;
    private final ProductDetailMapper productDetailMapper;
    public FlowCardService(FlowCardMapper flowCardMapper, OrderGlassDetailMapper orderGlassDetailMapper, OrderProcessDetailMapper orderProcessDetailMapper, LogService logService) {
    private final OrderDetailMapper orderDetailMapper;
    private final OrderMapper orderMapper;
    public FlowCardService(FlowCardMapper flowCardMapper, OrderGlassDetailMapper orderGlassDetailMapper, OrderProcessDetailMapper orderProcessDetailMapper, LogService logService, ProductMapper productMapper, ProductDetailMapper productDetailMapper, OrderDetailMapper orderDetailMapper, OrderMapper orderMapper) {
        this.flowCardMapper = flowCardMapper;
        this.orderGlassDetailMapper = orderGlassDetailMapper;
        this.orderProcessDetailMapper = orderProcessDetailMapper;
        this.logService = logService;
        this.productMapper = productMapper;
        this.productDetailMapper = productDetailMapper;
        this.orderDetailMapper = orderDetailMapper;
        this.orderMapper = orderMapper;
    }
    //流程卡管理查询
@@ -842,7 +849,13 @@
                               continue;
                           }
                           Map<String, Object> itemmap = new HashMap<>();
                           itemmap.put("data", flowCardMapper.getPrintCustomDataDetails(flowCard.getProcessId(), flowCard.getOrderNumber(), flowCard.getPrintQuantity()));
                           Integer sumQuantity = flowCardMapper.getSumQuantity(flowCard.getOrderId());
                           List<Map<String, Object>> details = flowCardMapper.getPrintCustomDataDetails(flowCard.getProcessId(), flowCard.getOrderNumber(), flowCard.getPrintQuantity());
                           for (Map<String, Object> detail : details) {
                               detail.put("sumQuantity", sumQuantity);
                           }
                           itemmap.put("data", details);
                           list.add(itemmap);
                           // 将该 processId 加入已处理集合
@@ -956,6 +969,66 @@
        }
        return flowCardList;
    }
    public Map<String,Object> getProcessCardAll(Map<String, String> processCards) {
        String processCard = processCards.get("processCard");
        if (!processCard.contains("/")) {
            throw new ServiceException(Constants.Code_600, "错误的流程卡号,请检查!");
        }
        String[] processCardList = processCard.split("/");
        List<String> result = IntStream.range(0, processCardList[1].length())
                .mapToObj(i -> String.valueOf(processCardList[1].charAt(i)))
                .collect(Collectors.toList());
        List<FlowCard> flowCardList = flowCardMapper.selectList(
                new QueryWrapper<FlowCard>()
                        .eq("process_id", processCardList[0])
                        .in("technology_number", result)
        );
        for (FlowCard flowCard : flowCardList) {
            flowCard.setOrderGlassDetail(
                    orderGlassDetailMapper.selectOne(
                            new QueryWrapper<OrderGlassDetail>()
                                    .eq("order_id", flowCard.getOrderId())
                                    .eq("order_number", flowCard.getOrderNumber())
                                    .eq("technology_number", flowCard.getTechnologyNumber())
                    )
            );
            String str = flowCard.getOrderGlassDetail().getGlassChild();
            String delimiter = "mm";
            int index = str.indexOf(delimiter);
            Integer subString = Integer.valueOf(str.substring(0, index).trim());
            flowCard.getOrderGlassDetail().setThickness(subString);
        }
        OrderDetail orderDetail = orderDetailMapper
                .selectOne(new QueryWrapper<OrderDetail>()
                        .eq("order_id", flowCardList.get(0).getOrderId())
                        .eq("order_number", flowCardList.get(0).getOrderNumber())
        );
        Product product = productMapper
                .selectOne(new QueryWrapper<Product>()
                        .eq("id",orderDetail.getProductId()));
        product.setProductDetails(productDetailMapper
                .selectList(new QueryWrapper<ProductDetail>()
                        .eq("prod_id",orderDetail.getProductId())
                )
        );
        Order order = orderMapper.
                selectOne(new QueryWrapper<Order>()
                        .eq("order_id", flowCardList.get(0).getOrderId()));
        order.setMoney(null);
        Map<String,Object> map = new HashMap<>();
        map.put("product",product);
        map.put("flowCard",flowCardList);
        map.put("order",order);
        return map;
    }
    public Boolean checkboxDeleteSv(Map<String, Object> object) {
        String userName = "";
@@ -1257,6 +1330,12 @@
        }
    }
    public List exportDateProcessSv(Map<String, Object> dates) {
        List<LocalDate> date= (List<LocalDate>) dates.get("date");
        return flowCardMapper.exportDateProcessMp(date);
    }
}