From a0c9dea162787d7557b3a6d3498dcbb5374d500c Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期四, 08 十二月 2022 15:12:32 +0800 Subject: [PATCH] # --- src/main/java/com/zy/common/service/erp/task/ErpScheduler.java | 65 +++++++++++++++++++++++++++++++- 1 files changed, 63 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/zy/common/service/erp/task/ErpScheduler.java b/src/main/java/com/zy/common/service/erp/task/ErpScheduler.java index 2ce259c..5535f7a 100644 --- a/src/main/java/com/zy/common/service/erp/task/ErpScheduler.java +++ b/src/main/java/com/zy/common/service/erp/task/ErpScheduler.java @@ -1,12 +1,26 @@ package com.zy.common.service.erp.task; +import com.alibaba.fastjson.JSON; +import com.core.common.Cools; +import com.core.common.DateUtils; +import com.core.exception.CoolException; +import com.zy.asrs.entity.Mat; +import com.zy.asrs.entity.Tag; +import com.zy.asrs.service.MatService; +import com.zy.asrs.service.TagService; import com.zy.asrs.task.AbstractHandler; import com.zy.common.service.erp.ErpService; +import com.zy.common.service.erp.dto.VoucherDto; +import com.zy.common.service.erp.entity.Goods; import lombok.Synchronized; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; +import java.util.List; /** * erp浠诲姟鎺у埗鍣� @@ -18,10 +32,57 @@ @Autowired private ErpService erpService; + @Autowired + private TagService tagService; + @Autowired + private MatService matService; - @Scheduled(cron = "0/30 * * * * ? ") + @Scheduled(cron = "0/5 * * * * ? ") @Synchronized - public void syncMat() { + @Transactional + public synchronized void syncMat() { + Tag top = tagService.getTop(); + List<Goods> goods = erpService.selectGoods(0); + Date now = new Date(); + if (!Cools.isEmpty(goods)) { + for (Goods good : goods) { + Mat mat = matService.selectByMatnr(good.getBarCode()); + if (mat == null) { + mat = new Mat(); + mat.setTagId(top.getId()); + mat.setMatnr(good.getBarCode()); + mat.setMaktx(good.getMaterialNO()); + mat.setSpecs(good.getProdSpec()); + mat.setModel(good.getBatch()); + mat.setWeight(good.getNWT()); + mat.setUnits(good.getNumOfBobbins()==null?null:good.getNumOfBobbins().doubleValue()); + mat.setManuDate(good.getProdDate()); + + mat.setCreateTime(now); + mat.setSku(good.getLocation()); + if (!Cools.isEmpty(good.getLastUpdatedDate())) { + mat.setUpdateTime(DateUtils.convert(good.getLastUpdatedDate().substring(0, 19))); + } + + if (!matService.insert(mat)) { + throw new CoolException(good.getBarCode() + "鍟嗗搧鍚屾澶辫触"); + } else { + int state = 1; + if (!erpService.updateStateForGoods(good.getBarCode(), state)) { + throw new CoolException(good.getBarCode() + "鍟嗗搧淇敼State涓�"+state+"澶辫触"); + } + } + } + } + } + } + + @Scheduled(cron = "0/5 * * * * ? ") + @Synchronized + @Transactional + public synchronized void syncOrder() { + List<VoucherDto> list = erpService.selectOrder(0); + System.out.println(JSON.toJSONString(list)); } } -- Gitblit v1.9.1