SupplierSyncService.java 2.49 KB
package com.huaheng.pc.config.supplier.service;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.annotation.Resource;

import com.huaheng.common.utils.bean.BeanUtils;
import com.huaheng.pc.config.container.domain.Container;
import com.huaheng.pc.config.customer.domain.Customer;
import com.huaheng.pc.config.customer.service.CustomerServiceImpl;
import com.huaheng.pc.config.supplier.domain.Supplier;
import com.huaheng.pc.config.supplier.mapper.SupplierMapper;
import org.springframework.stereotype.Service;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.huaheng.framework.aspectj.lang.annotation.Ds;
import com.huaheng.framework.aspectj.lang.constant.DataSourceName;
import com.huaheng.pc.config.supplier.domain.SupplierErp;
import com.huaheng.pc.config.supplier.mapper.SupplierErpMapper;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;


@Service
public class SupplierSyncService extends ServiceImpl<SupplierMapper, Supplier>{




    @Resource
    private SupplierService supplierService;
    @Resource
    private CustomerServiceImpl customerService;
    @Resource
    private SupplierErpService supplierErpService;


    public void syncSupplierData(){
        List<SupplierErp> list=supplierErpService.findSupplierData();
        System.out.println("=============="+list.size());
        saveAndUpdateData(list);
    }

    @Transactional(propagation = Propagation.REQUIRES_NEW)
    public void saveAndUpdateData(List<SupplierErp> list){
        List<Supplier> lists=new ArrayList<>();
        for (int a=0;a<list.size();a++){
            SupplierErp supplierErp=list.get(a);
            Supplier supplier=new Supplier();
            String code=supplierErp.getPmaa001();
            //查找数据库有无该供应商,有则跳过,无则新增
            Supplier supplier1 = supplierService.getSuppierByCode(code);
            if(supplier1!=null){
//                continue;
//                supplier1.setName(supplierErp.getPmaal());
//                lists.add(supplier1);
                continue;
            }
            supplier.setCode(code);
            supplier.setName(supplierErp.getPmaal());
            lists.add(supplier);
        }
        if(lists!=null&&lists.size()>0){
            supplierService.saveBatch(lists);
//            containerSyncService.updateSyncById(ids);
        }
    }
}