Commit be2632fd by wutong

同步WMS库存,降序, 并后退3分钟,避免漏SKU

parent 78de6a86
...@@ -40,12 +40,11 @@ public class WmsStockJob extends PointJob { ...@@ -40,12 +40,11 @@ public class WmsStockJob extends PointJob {
search.setWarehouseCodes(listWmsStockWarehouse()); search.setWarehouseCodes(listWmsStockWarehouse());
//不传时间查全表 //不传时间查全表
search.setLastModificationTime_start(jobPointLog.getStartTime().minusMinutes(5)); search.setLastModificationTime_start(jobPointLog.getStartTime().minusMinutes(5));
Integer totalPage = 0;
LocalDateTime now = LocalDateTime.now(); LocalDateTime now = LocalDateTime.now();
do { do {
OkHttpClient client = OkHttpUtil.getInstance(); OkHttpClient client = OkHttpUtil.getInstance();
MediaType mediaType = MediaType.parse("application/json"); MediaType mediaType = MediaType.parse("application/json");
page.setPage(jobPointLog.getPageIndex()); page.setPage(jobPointLog.getPageIndex() > 0? jobPointLog.getPageIndex() : 1);
RequestBody body = RequestBody.create(mediaType, JSON.toJSONString(root)); RequestBody body = RequestBody.create(mediaType, JSON.toJSONString(root));
Request request = new Request.Builder() Request request = new Request.Builder()
.url(propertiesUtil.getPropertyAsString("STOCK_WMS_URL")) .url(propertiesUtil.getPropertyAsString("STOCK_WMS_URL"))
...@@ -69,12 +68,15 @@ public class WmsStockJob extends PointJob { ...@@ -69,12 +68,15 @@ public class WmsStockJob extends PointJob {
if (jsonObject.get("isSuccess") != null && jsonObject.getBooleanValue("isSuccess")) { if (jsonObject.get("isSuccess") != null && jsonObject.getBooleanValue("isSuccess")) {
WmsStockInfo wmsStockInfo = jsonObject.getObject("data", WmsStockInfo.class); WmsStockInfo wmsStockInfo = jsonObject.getObject("data", WmsStockInfo.class);
List<WmsStockItem> items = wmsStockInfo.getItems(); List<WmsStockItem> items = wmsStockInfo.getItems();
totalPage = wmsStockInfo.getPageItem().getTotal() % wmsStockInfo.getPageItem().getPageSize() == 0 ? wmsStockInfo.getPageItem().getTotal() / wmsStockInfo.getPageItem().getPageSize() : wmsStockInfo.getPageItem().getTotal() / wmsStockInfo.getPageItem().getPageSize() + 1; if (jobPointLog.getPageIndex().equals(0)) {
int totalPage = wmsStockInfo.getPageItem().getTotal() % jobPointLog.getPageSize() == 0 ? wmsStockInfo.getPageItem().getTotal() / jobPointLog.getPageSize() : wmsStockInfo.getPageItem().getTotal() / jobPointLog.getPageSize() + 1;
jobPointLog.setPageIndex(totalPage + 1);
}
if (items != null && items.size() > 0) { if (items != null && items.size() > 0) {
try { try {
DcBaseStockMapper mapper = SessionUtil.getSession().getMapper(DcBaseStockMapper.class); DcBaseStockMapper mapper = SessionUtil.getSession().getMapper(DcBaseStockMapper.class);
items.forEach(wmsStockItem -> {
DcBaseStock dcBaseStock = new DcBaseStock(); DcBaseStock dcBaseStock = new DcBaseStock();
items.forEach(wmsStockItem -> {
try { try {
BeanUtils.copyProperties(dcBaseStock, wmsStockItem); BeanUtils.copyProperties(dcBaseStock, wmsStockItem);
dcBaseStock.setUsableSales(wmsStockItem.getUsableStock()); dcBaseStock.setUsableSales(wmsStockItem.getUsableStock());
...@@ -104,10 +106,10 @@ public class WmsStockJob extends PointJob { ...@@ -104,10 +106,10 @@ public class WmsStockJob extends PointJob {
} else { } else {
throw new RuntimeException("调用wms系统库存接口失败"); throw new RuntimeException("调用wms系统库存接口失败");
} }
jobPointLog.setPageIndex(jobPointLog.getPageIndex() + 1); jobPointLog.setPageIndex(jobPointLog.getPageIndex() - 1);
} while (jobPointLog.getPageIndex() <= totalPage); } while (jobPointLog.getPageIndex() > 0);
jobPointLog.setPageIndex(1); jobPointLog.setPageIndex(0);
jobPointLog.setStartTime(now); jobPointLog.setStartTime(now.minusMinutes(3));
jobPointLog.setEndTime(LocalDateTime.now()); jobPointLog.setEndTime(LocalDateTime.now());
} }
......
...@@ -30,9 +30,9 @@ public class DailyStockTest { ...@@ -30,9 +30,9 @@ public class DailyStockTest {
public void test12() { public void test12() {
WmsStockJob fbaStockJob = new WmsStockJob(); WmsStockJob fbaStockJob = new WmsStockJob();
JobPointLog jobPointLog = new JobPointLog(); JobPointLog jobPointLog = new JobPointLog();
jobPointLog.setPageIndex(1); jobPointLog.setPageIndex(0);
jobPointLog.setPageSize(1000); jobPointLog.setPageSize(1000);
jobPointLog.setStartTime(LocalDateTime.of(2019,01,01,0,0,0)); jobPointLog.setStartTime(LocalDateTime.of(2019,05,10,9,40,0));
fbaStockJob.executeJob(null,jobPointLog); fbaStockJob.executeJob(null,jobPointLog);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment