package org.jeecg.modules.quartz.job;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.jeecg.qywx.api.message.vo.News;
import com.sun.xml.bind.v2.TODO;
import org.jeecg.common.util.DateUtils;
import org.jeecg.modules.system.entity.Huayuerp;
import org.jeecg.modules.system.entity.Product;
import org.jeecg.modules.system.entity.ResultToFornt;
import org.jeecg.modules.system.mapper.ProductMapper;
import org.jeecg.modules.system.service.IHuayuerpService;
import org.jeecg.modules.system.service.IProductService;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import javax.annotation.Resource;
import java.io.File;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.stream.Collectors;
/**
* 示例不带参定时任务
*
* @Author Scott
*/
@Slf4j
public class ErpInteractive implements Job {
@Autowired
IHuayuerpService huayuerpService;
@Autowired
private IProductService productService;
@Resource
private ProductMapper productMapper;
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
log.info(String.format(" ERP定时交互 ErpInteractive ! 时间:" + DateUtils.getTimestamp()));
List<Huayuerp> list = huayuerpService.list();
List<Huayuerp> list1 =new ArrayList<>();
// 遍历查出来的数据,如果商品名称在product表中存在 就不管,不存在就进行添加
// List<Huayuerp> filtered = list.stream().map(x -> {
// String productname = x.getProductname();
// QueryWrapper<Product> queryWrapper = new QueryWrapper<>();
// queryWrapper.eq("name", productname);
// Product product = productService.getOne(queryWrapper);
// if (product == null) {
// list1.add(x);
// }
//
// return x;
// }).collect(Collectors.toList());
Iterator<Huayuerp> iter = list.iterator();
while (iter.hasNext()) {
Huayuerp huayuerp = iter.next();
String productname = huayuerp.getProductname();
QueryWrapper<Product> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("name", productname);
Product product = productService.getOne(queryWrapper);
if (product == null) {
list1.add(huayuerp);
}
}
if(list1.size()!=0){
List<Product> products = list1.stream().map(x -> {
Product product = new Product();
Double custom1 = x.getCustom1();
Double custom2 = x.getCustom2();
Integer dqqty = x.getDqqty();
String hlqty = x.getHlqty();
String lnum = x.getLnum();
String productname = x.getProductname();
String roprmtr2 = x.getRoprmtr2();
String svousrt = x.getSvousrt();
product.setStock(dqqty);
product.setProportionOfRawMaterial(hlqty);
product.setComponentProportion(roprmtr2);
product.setWide(custom1);
product.setGramWeightRatio(custom2);
product.setCombBar(lnum);
product.setCategory(svousrt);
product.setName(productname);
// BeanUtils.copyProperties(x, product);
return product;
}).collect(Collectors.toList());
productService.saveBatch(products);
}else{
System.out.println("数据已经转移完毕");
}
}
}