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