123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- package com.emato.cus.supervise.biz.acqGoodsSeat;
- import com.emato.cus.supervise.biz.CusWmsTask;
- import com.emato.cus.supervise.biz.acqInventoryInfo.AcqInventoryInfoOmsData;
- import com.emato.cus.supervise.constant.EmtRecordTimeEnum;
- import com.emato.cus.supervise.domain.WmsAcqGoodsOnSeat;
- import com.emato.cus.supervise.domainOms.OmsAcqInventoryInfo;
- import com.emato.cus.supervise.util.GsonUtil;
- import com.emato.cus.supervise.util.LocalDateTimeUtils;
- import com.google.common.collect.Lists;
- import com.google.common.collect.Maps;
- import org.apache.commons.lang3.StringUtils;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Component;
- import java.util.List;
- import java.util.Map;
- /**
- * 库位货物数据 业务
- * @author zengjunlin
- * @version 1.0
- * 2018-02-03 16:21
- */
- @Component
- public class AcqGoodsSeatBiz implements CusWmsTask {
- private static final Logger logger = LoggerFactory.getLogger(AcqGoodsSeatBiz.class);
- @Autowired
- private AcqGoodsOnSeatRecordTime acqGoodsOnSeatRecordTime;
- @Autowired
- private AcqGoodsOnSeatWmsData acqGoodsOnSeatWmsData;
- @Autowired
- private AcqGoodsOnSeatCusData acqGoodsOnSeatCusData;
- @Autowired
- private AcqGoodsOnSeatDataConversion acqGoodsOnSeatDataConversion;
- @Autowired
- private AcqInventoryInfoOmsData acqInventoryInfoOmsData;
- private static final String DATA_TYPE_INFO = "[" + EmtRecordTimeEnum.ACQ_GOODS_ON_SEAT.getCode() + "]" + EmtRecordTimeEnum.ACQ_GOODS_ON_SEAT.getName();
- /**
- * 任务入口
- */
- @Override
- public void task() {
- // 获取扫描时间
- String oldThisTime = acqGoodsOnSeatRecordTime.getEmtRecordTime();
- if (StringUtils.isBlank(oldThisTime)) {
- logger.info("--- 【" + DATA_TYPE_INFO + "】未获取到本次扫描时间, 本次扫描提前结束!!!");
- //下次扫描时间
- acqGoodsOnSeatRecordTime.updateWmsRecordTime(LocalDateTimeUtils.formatNow(LocalDateTimeUtils.DATA_TIME_HYPHEN),
- LocalDateTimeUtils.formatNow(LocalDateTimeUtils.DATA_TIME_HYPHEN));
- return;
- }
- // 扫描WMS 数据
- List<WmsAcqGoodsOnSeat> wmsList = acqGoodsOnSeatWmsData.getWmsData(oldThisTime);
- if (wmsList == null || wmsList.size() == 0) {
- logger.info("--- 【" + DATA_TYPE_INFO + "】获取到本次扫描数据为空, 不执行写数据操作, 本次扫描提前结束!!!");
- //下次扫描时间
- acqGoodsOnSeatRecordTime.updateWmsRecordTime(LocalDateTimeUtils.formatNow(LocalDateTimeUtils.DATA_TIME_HYPHEN),
- oldThisTime);
- return;
- }
- List<String> merchSnList = Lists.newArrayList();
- wmsList.forEach(i -> merchSnList.add(i.getMerchSn()));
- // 根据sku查询oms系统数据。
- List<OmsAcqInventoryInfo> omsList = acqInventoryInfoOmsData.getOmsData(merchSnList);
- if (omsList == null || omsList.isEmpty()) {
- logger.error("wms扫描到的数据" + GsonUtil.toJson(wmsList));
- logger.info("--- 【" + DATA_TYPE_INFO + "】获取到本次扫描OMS数据为空, 不执行写数据操作, 本次扫描提前结束!!!");
- //下次扫描时间
- acqGoodsOnSeatRecordTime.updateWmsRecordTime(LocalDateTimeUtils.formatNow(LocalDateTimeUtils.DATA_TIME_HYPHEN),
- oldThisTime);
- return;
- }
- Map params = Maps.newHashMap();
- params.put("wmsList", wmsList);
- params.put("omsList", omsList);
- List cusList = acqGoodsOnSeatDataConversion.conversion(params);
- // 写CUS 数据
- int res = acqGoodsOnSeatCusData.insertCus(cusList);
- // 更新扫描时间
- boolean bl = acqGoodsOnSeatRecordTime.updateWmsRecordTime(LocalDateTimeUtils.formatNow(LocalDateTimeUtils.DATA_TIME_HYPHEN),
- oldThisTime);
- }
- }
|