From a3a67679a0f5edcaf0a20f7caf4f776be36acb60 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@63.com>
Date: 星期四, 08 十二月 2022 15:17:03 +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