skyouc
2025-03-14 89e69825afdc8fb7619444d6e0bbc808502920e5
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java
@@ -10,6 +10,7 @@
import com.vincent.rsf.server.manager.mapper.AsnOrderMapper;
import com.vincent.rsf.server.manager.entity.AsnOrder;
import com.vincent.rsf.server.manager.mapper.PurchaseMapper;
import com.vincent.rsf.server.manager.service.AsnOrderItemService;
import com.vincent.rsf.server.manager.service.AsnOrderService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vincent.rsf.server.system.constant.SerialRuleCode;
@@ -20,8 +21,7 @@
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import java.util.Set;
import java.util.*;
import java.util.stream.Collectors;
/**
@@ -39,8 +39,8 @@
    @Resource
    private PurchaseMapper purchaseMapper;
    @Resource
    private AsnOrderItemMapper asnOrderItemMapper;
    @Autowired
    private AsnOrderItemService asnOrderItemService;
    @Resource
    private SerialRuleMapper serialRuleMapper;
@@ -65,12 +65,34 @@
    @Override
    public R generateBarcode(List<AsnOrder> orders) {
        orders.forEach(order -> {
            List<AsnOrderItem> items = asnOrderItemMapper.selectList(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getAsnId, order.getId()));
            items.forEach(item -> {
                String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_LABEL_CODE, item);
                //TODO asnorderitem  添加单独的字段,保存编码
            });
            List<AsnOrderItem> items = asnOrderItemService.list(new LambdaQueryWrapper<AsnOrderItem>().eq(AsnOrderItem::getAsnId, order.getId()));
            if (!items.isEmpty()) {
                items.forEach(item -> {
                    String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_LABEL_CODE, item);
                    item.setTrackCode(ruleCode);
                });
                if (!asnOrderItemService.saveOrUpdateBatch(items)) {
                    throw new CoolException("生成条码失败!!");
                }
            }
        });
        return R.ok();
    }
    @Override
    public List<AsnOrder> getListByMatnr(Map<String, String> params) {
        if (Objects.isNull(params)) {
            throw new CoolException("查询条件不能为空!!");
        }
        List<AsnOrderItem> orderItems = asnOrderItemService.list(new LambdaQueryWrapper<AsnOrderItem>()
                .like(!Objects.isNull(params.get("maktx")), AsnOrderItem::getMaktx, params.get("maktx"))
                .eq(!Objects.isNull(params.get("matnrCode")), AsnOrderItem::getMatnrCode, params.get("matnrCode")));
        if (orderItems.isEmpty()) {
            return new ArrayList<>();
        }
        List<Long> longList = orderItems.stream().map(AsnOrderItem::getAsnId).collect(Collectors.toList());
        return this.listByIds(longList);
    }
}