diff --git a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataWmsClient.java b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataWmsClient.java index e97ee8e2..2635c5bd 100644 --- a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataWmsClient.java +++ b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataWmsClient.java @@ -11,7 +11,6 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import java.util.Date; -import java.util.List; /** * @version 1.0 @@ -68,6 +67,6 @@ public interface IErpDataWmsClient { * 物料状态监控同步 */ @PostMapping(GET_GOODS_EXT_STATUS) - R> getGoodsExtStatus(); + R getGoodsExtStatus(@RequestParam("goodsCode")String goodsCode); } diff --git a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataWmsClientFallback.java b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataWmsClientFallback.java index e6eddd5d..bd99171a 100644 --- a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataWmsClientFallback.java +++ b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/feign/IErpDataWmsClientFallback.java @@ -8,7 +8,6 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; import java.util.Date; -import java.util.List; /** * @version 1.0 @@ -43,7 +42,7 @@ public class IErpDataWmsClientFallback implements IErpDataWmsClient{ } @Override - public R> getGoodsExtStatus() { + public R getGoodsExtStatus(@RequestParam("goodsCode")String goodsCode) { return R.fail("获取数据失败"); } diff --git a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/vo/StGoodsExtStatusVO.java b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/vo/StGoodsExtStatusVO.java index 0f846c90..a833008c 100644 --- a/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/vo/StGoodsExtStatusVO.java +++ b/blade-service-api/blade-erpdata-api/src/main/java/org/springblade/erpdata/pojo/vo/StGoodsExtStatusVO.java @@ -14,13 +14,8 @@ import lombok.Data; @Data public class StGoodsExtStatusVO { - private Long id; - private String goodsCode; - private Long goodsId; - private Long useAverage; + private String prtno; private Double invqty1j; private Double planqty; - private Double lastQty; - private Long goodsStatus; } diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/feign/ErpDataWmsClient.java b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/feign/ErpDataWmsClient.java index f9da4681..ea60dbc7 100644 --- a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/feign/ErpDataWmsClient.java +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/feign/ErpDataWmsClient.java @@ -11,7 +11,6 @@ import org.springblade.wms.pojo.entity.StRealtimeStock; import org.springframework.web.bind.annotation.RestController; import java.util.Date; -import java.util.List; /** * @version 1.0 @@ -51,7 +50,7 @@ public class ErpDataWmsClient implements IErpDataWmsClient{ } @Override - public R> getGoodsExtStatus() { - return R.data(erpDataWmsService.getGoodsExtStatus()); + public R getGoodsExtStatus(String goodsCode) { + return R.data(erpDataWmsService.getGoodsExtStatus(goodsCode)); } } diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpDataWmsMapper.java b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpDataWmsMapper.java index 4572ef41..1597fbb5 100644 --- a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpDataWmsMapper.java +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpDataWmsMapper.java @@ -3,8 +3,6 @@ package org.springblade.erpdata.mapper; import com.baomidou.mybatisplus.core.mapper.Mapper; import org.springblade.erpdata.pojo.vo.StGoodsExtStatusVO; -import java.util.List; - /** * @version 1.0 * @program: jonhon-mes-svr @@ -16,6 +14,6 @@ import java.util.List; public interface ErpDataWmsMapper extends Mapper { - List getGoodsExtStatus(); + StGoodsExtStatusVO getGoodsExtStatus(String goodsCode); } diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpDataWmsMapper.xml b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpDataWmsMapper.xml index a8895582..3dc78681 100644 --- a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpDataWmsMapper.xml +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/mapper/ErpDataWmsMapper.xml @@ -4,48 +4,13 @@ diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpDataWmsService.java b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpDataWmsService.java index dd807733..81fc1509 100644 --- a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpDataWmsService.java +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/IErpDataWmsService.java @@ -5,7 +5,6 @@ import org.springblade.erpdata.pojo.vo.StGoodsExtStatusVO; import org.springblade.wms.pojo.entity.StRealtimeStock; import java.util.Date; -import java.util.List; /** * @version 1.0 @@ -26,5 +25,5 @@ public interface IErpDataWmsService { String deleteMoldPlan(String erpWoCode) throws BusinessException; - List getGoodsExtStatus(); + StGoodsExtStatusVO getGoodsExtStatus(String goodsCode); } diff --git a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpDataWmsServiceImpl.java b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpDataWmsServiceImpl.java index cd305e46..6bba80b4 100644 --- a/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpDataWmsServiceImpl.java +++ b/blade-service/blade-erpdata/src/main/java/org/springblade/erpdata/service/impl/ErpDataWmsServiceImpl.java @@ -18,7 +18,6 @@ import org.springframework.stereotype.Service; import java.sql.Types; import java.util.Date; import java.util.HashMap; -import java.util.List; import java.util.Map; /** @@ -217,8 +216,8 @@ public class ErpDataWmsServiceImpl implements IErpDataWmsService { } @Override - public List getGoodsExtStatus(){ - return erpDataWmsMapper.getGoodsExtStatus(); + public StGoodsExtStatusVO getGoodsExtStatus(String goodsCode){ + return erpDataWmsMapper.getGoodsExtStatus(goodsCode); } } diff --git a/blade-service/blade-wms/src/main/java/org/springblade/wms/mapper/StGoodsExtMapper.java b/blade-service/blade-wms/src/main/java/org/springblade/wms/mapper/StGoodsExtMapper.java index 2435a78c..b7768eb0 100644 --- a/blade-service/blade-wms/src/main/java/org/springblade/wms/mapper/StGoodsExtMapper.java +++ b/blade-service/blade-wms/src/main/java/org/springblade/wms/mapper/StGoodsExtMapper.java @@ -41,5 +41,7 @@ public interface StGoodsExtMapper extends BaseMapper { List exportStGoodsExt(@Param("ew") Wrapper queryWrapper); IPage selectGoodsExtWithGoods(IPage page, @Param("ew") QueryWrapper queryWrapper); + + StGoodsExt getGoodsExt(Double invqty1j, Double planqty, Long goodsId); } diff --git a/blade-service/blade-wms/src/main/java/org/springblade/wms/mapper/StGoodsExtMapper.xml b/blade-service/blade-wms/src/main/java/org/springblade/wms/mapper/StGoodsExtMapper.xml index 4b369cea..fdcb4ce5 100644 --- a/blade-service/blade-wms/src/main/java/org/springblade/wms/mapper/StGoodsExtMapper.xml +++ b/blade-service/blade-wms/src/main/java/org/springblade/wms/mapper/StGoodsExtMapper.xml @@ -87,6 +87,33 @@ ORDER BY se.create_time DESC + + diff --git a/blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StGoodsExtServiceImpl.java b/blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StGoodsExtServiceImpl.java index e2ec99ea..1aad63d1 100644 --- a/blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StGoodsExtServiceImpl.java +++ b/blade-service/blade-wms/src/main/java/org/springblade/wms/service/impl/StGoodsExtServiceImpl.java @@ -11,6 +11,8 @@ import org.springblade.erpdata.feign.IErpDataWmsClient; import org.springblade.erpdata.pojo.vo.StGoodsExtStatusVO; import org.springblade.wms.excel.StGoodsExtExcel; import org.springblade.wms.mapper.StGoodsExtMapper; +import org.springblade.wms.mapper.StGoodsMapper; +import org.springblade.wms.pojo.entity.StGoods; import org.springblade.wms.pojo.entity.StGoodsExt; import org.springblade.wms.pojo.vo.StGoodsExtVO; import org.springblade.wms.service.IStGoodsExtService; @@ -18,6 +20,8 @@ import org.springframework.stereotype.Service; import java.util.List; import java.util.Map; +import java.util.Objects; +import java.util.stream.Collectors; /** * @version 1.0 @@ -31,6 +35,8 @@ import java.util.Map; @Service public class StGoodsExtServiceImpl extends BaseServiceImpl implements IStGoodsExtService { + @Resource + private StGoodsMapper stGoodsMapper; @Resource private IErpDataWmsClient erpDataWmsClient; @@ -70,23 +76,36 @@ public class StGoodsExtServiceImpl extends BaseServiceImpl statusList = erpDataWmsClient.getGoodsExtStatus().getData(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("is_deleted", 0); + List list = baseMapper.selectList(queryWrapper); + + List goodsIds = list.stream() + .map(StGoodsExt::getGoodsId) + .filter(Objects::nonNull) + .toList(); + + Map goodsIdToCodeMap = stGoodsMapper.selectBatchIds(goodsIds) + .stream() + .collect(Collectors.toMap(StGoods::getId, StGoods::getGoodsCode)); + + for (StGoodsExt ext : list) { + Long goodsId = ext.getGoodsId(); + String goodsCode = goodsIdToCodeMap.get(goodsId); - // 2. 遍历结果,更新到 st_goods_ext 表 - for (StGoodsExtStatusVO vo : statusList) { - StGoodsExt ext = baseMapper.selectById(vo.getId()); - ext.setGoodsId(vo.getGoodsId()); + StGoodsExtStatusVO vo = erpDataWmsClient.getGoodsExtStatus(goodsCode).getData(); + StGoodsExt goodsExt = baseMapper.getGoodsExt(vo.getInvqty1j(),vo.getPlanqty(),goodsId); ext.setFirstStore(vo.getInvqty1j()); - ext.setLastStore(vo.getLastQty()); + ext.setLastStore(goodsExt.getLastStore()); ext.setPlanQty(vo.getPlanqty()); - ext.setGoodsStatus(vo.getGoodsStatus()); + ext.setGoodsStatus(goodsExt.getGoodsStatus()); // ext.setUpdateTime(new Date()); // ext.setUpdateUser(AuthUtil.getUserId()); this.updateById(ext); } - log.info("===== 物料状态定时更新完成 =====", statusList.size()); + log.info("===== 物料状态定时更新完成 =====", list.size()); } catch (Exception e) { log.info("===== 物料状态定时更新异常 =====", e); }