src/main/java/com/zy/common/service/erp/ErpService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/common/service/erp/dto/VoucherDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/common/service/erp/task/ErpScheduler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/common/service/erp/ErpService.java
@@ -1,5 +1,7 @@ package com.zy.common.service.erp; import com.core.common.Cools; import com.zy.common.service.erp.dto.VoucherDto; import com.zy.common.service.erp.entity.Goods; import com.zy.common.service.erp.entity.Voucher; import com.zy.common.service.erp.entity.VoucherDetail; @@ -8,6 +10,7 @@ import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; /** @@ -27,27 +30,44 @@ /** * 获取GOODS表 */ public List<Goods> selectGoods(Integer IsGetData) { // String sql = "select * from Goods where IsGetData = '" + IsGetData +"'"; String sql = "select * from Goods where 1=1"; public List<Goods> selectGoods(Integer state) { String sql = "select * from Goods where 1=1 where state = '" + state + "'"; return erpSqlServer.select(sql, Goods.class); } public List<VoucherDto> selectOrder(Integer state) { List<VoucherDto> list = new ArrayList<>(); List<Voucher> voucherList = this.selectVoucher(state); if (!Cools.isEmpty(voucherList)) { for (Voucher voucher : voucherList) { List<VoucherDetail> voucherDetails = this.selectVoucherDetail(voucher.getVoucherID()); if (!Cools.isEmpty(voucherDetails)) { VoucherDto dto = new VoucherDto(); list.add(dto); dto.setVoucher(voucher); dto.setDetails(voucherDetails); } else { log.error("{}单据找不到明细,请注意检查", voucher.getVoucherID()); } } } return list; } /** * 获取Voucher表 */ public List<Voucher> selectVoucher(Integer IsGetData) { // String sql = "select * from Goods where IsGetData = '" + IsGetData +"'"; String sql = "select * from Voucher where 1=1"; public List<Voucher> selectVoucher(Integer state) { String sql = "select * from Voucher where 1=1 where state = '" + state + "'"; return erpSqlServer.select(sql, Voucher.class); } /** * 获取VoucherDetail表 */ public List<VoucherDetail> selectVoucherDetail(Integer IsGetData) { // String sql = "select * from Goods where IsGetData = '" + IsGetData +"'"; String sql = "select * from VoucherDetail where 1=1"; public List<VoucherDetail> selectVoucherDetail(String VoucherID) { String sql = "select * from VoucherDetail where 1=1 where VoucherID = '" + VoucherID + "'"; return erpSqlServer.select(sql, VoucherDetail.class); } src/main/java/com/zy/common/service/erp/dto/VoucherDto.java
New file @@ -0,0 +1,20 @@ package com.zy.common.service.erp.dto; import com.zy.common.service.erp.entity.Voucher; import com.zy.common.service.erp.entity.VoucherDetail; import lombok.Data; import java.util.ArrayList; import java.util.List; /** * Created by vincent on 2022/12/8 */ @Data public class VoucherDto { private Voucher voucher; private List<VoucherDetail> details = new ArrayList<>(); } src/main/java/com/zy/common/service/erp/task/ErpScheduler.java
@@ -2,6 +2,7 @@ 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; @@ -9,6 +10,7 @@ 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; @@ -17,6 +19,7 @@ import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; /** @@ -39,7 +42,8 @@ @Transactional public synchronized void syncMat() { Tag top = tagService.getTop(); List<Goods> goods = erpService.selectGoods(1); List<Goods> goods = erpService.selectGoods(0); Date now = new Date(); if (!Cools.isEmpty(goods)) { for (Goods good : goods) { Mat mat = matService.selectByMatnr(good.getBarCode()); @@ -54,6 +58,12 @@ 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(JSON.toJSONString(good) + "商品同步失败"); } @@ -62,4 +72,12 @@ } } @Scheduled(cron = "0/5 * * * * ? ") @Synchronized @Transactional public synchronized void syncOrder() { List<VoucherDto> list = erpService.selectOrder(0); System.out.println(JSON.toJSONString(list)); } }