From e966d368bd3e0bd9fde1e39650c1b42f1c95bb64 Mon Sep 17 00:00:00 2001 From: zhaoyf <1783123481@qq.com> Date: Tue, 7 Jul 2026 19:33:49 +0800 Subject: [PATCH] =?UTF-8?q?add:=E7=89=A9=E6=96=99=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/MdMeMaterialbaseServiceImpl.java | 31 +++++++++++++------ .../ext_manage/service/dto/ErpMaterial.java | 18 +++++++++++ .../service/impl/ErpSyncService.java | 23 ++++++++++++++ .../service/mapper/ErpSyncMapper.java | 9 ++++++ .../src/views/wms/basedata/material/index.vue | 10 ++++++ .../src/views/wms/st/inAndOutReturn/index.vue | 3 +- pda/pda/src/views/Putaway.vue | 1 + 7 files changed, 84 insertions(+), 11 deletions(-) create mode 100644 nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/service/dto/ErpMaterial.java create mode 100644 nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/service/impl/ErpSyncService.java create mode 100644 nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/service/mapper/ErpSyncMapper.java diff --git a/nladmin-system/wms-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdMeMaterialbaseServiceImpl.java b/nladmin-system/wms-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdMeMaterialbaseServiceImpl.java index 0b83c6c..746bc86 100644 --- a/nladmin-system/wms-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdMeMaterialbaseServiceImpl.java +++ b/nladmin-system/wms-server/src/main/java/org/nl/wms/basedata_manage/service/impl/MdMeMaterialbaseServiceImpl.java @@ -3,6 +3,7 @@ package org.nl.wms.basedata_manage.service.impl; import cn.hutool.core.date.DateUtil; import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -20,6 +21,8 @@ import org.nl.wms.basedata_manage.service.dao.MdMeMaterialbase; import org.nl.wms.basedata_manage.service.dao.MdPbMeasureunit; import org.nl.wms.basedata_manage.service.dao.mapper.MdMeMaterialbaseMapper; import org.nl.wms.ext_manage.service.WmsToErpService; +import org.nl.wms.ext_manage.service.dto.ErpMaterial; +import org.nl.wms.ext_manage.service.impl.ErpSyncService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -47,6 +50,9 @@ public class MdMeMaterialbaseServiceImpl extends ServiceImpl dataList = resultJson.getJSONArray("data").toJavaList(JSONObject.class); + List list = erpSyncService.list(); // 查询是否有相同物料 List likeMaterList = this.list( new QueryWrapper().lambda() - .in(MdMeMaterialbase::getMaterial_code, dataList.stream() - .map(row -> row.getString("mater_code")) + .in(MdMeMaterialbase::getMaterial_code, list.stream() + .map(ErpMaterial::getSkuCode) .collect(Collectors.toList()) ) ); // 需插入的物料集合 List materDaoList = new ArrayList<>(); - for (JSONObject json : dataList) { + for (ErpMaterial json : list) { boolean is_like = likeMaterList.stream() - .anyMatch(row -> row.getMaterial_code().equals(json.getString("mater_code"))); + .anyMatch(row -> row.getMaterial_code().equals(json.getSkuCode())); if (is_like) { continue; } // 组织数据 MdMeMaterialbase dao = new MdMeMaterialbase(); dao.setMaterial_id(IdUtil.getStringId()); - dao.setMaterial_code(json.getString("mater_code")); - dao.setMaterial_name(json.getString("mater_name")); - dao.setMaterial_spec(json.getString("spec_dtl")); - dao.setNet_weight(json.getBigDecimal("mater_height")); + dao.setMaterial_code(json.getSkuCode()); + dao.setMaterial_name(json.getSkuName()); + if (!StrUtil.isEmptyIfStr(json.getModel()) && json.getModel().length() > 100){ + dao.setMaterial_spec(json.getModel().substring(0, 100)); + }else{ + dao.setMaterial_spec(json.getModel()); + } + + dao.setQty_unit_id("1"); + dao.setQty_unit_name("Pcs"); dao.setCreate_id(SecurityUtils.getCurrentUserId()); dao.setCreate_name(SecurityUtils.getCurrentNickName()); dao.setCreate_time(DateUtil.now()); diff --git a/nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/service/dto/ErpMaterial.java b/nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/service/dto/ErpMaterial.java new file mode 100644 index 0000000..0a0555a --- /dev/null +++ b/nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/service/dto/ErpMaterial.java @@ -0,0 +1,18 @@ +package org.nl.wms.ext_manage.service.dto; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +@Data +@TableName("V_UC_Item50") +public class ErpMaterial { + private String categoryCode; + private String categoryName; + private String skuCode; + private String skuName; + private String model; + private String unitCode; + private String unit; + private String needPick; + private String status; +} diff --git a/nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/service/impl/ErpSyncService.java b/nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/service/impl/ErpSyncService.java new file mode 100644 index 0000000..f558d55 --- /dev/null +++ b/nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/service/impl/ErpSyncService.java @@ -0,0 +1,23 @@ +package org.nl.wms.ext_manage.service.impl; + +import com.baomidou.dynamic.datasource.annotation.DS; +import org.nl.wms.ext_manage.service.dto.ErpMaterial; +import org.nl.wms.ext_manage.service.mapper.ErpSyncMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +@Service +@DS("eas") +public class ErpSyncService { + @Autowired + private ErpSyncMapper erpSyncMapper; + + @Transactional(propagation = Propagation.REQUIRES_NEW) + public List list(){ + return erpSyncMapper.selectList(null); + } +} diff --git a/nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/service/mapper/ErpSyncMapper.java b/nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/service/mapper/ErpSyncMapper.java new file mode 100644 index 0000000..cc25394 --- /dev/null +++ b/nladmin-system/wms-server/src/main/java/org/nl/wms/ext_manage/service/mapper/ErpSyncMapper.java @@ -0,0 +1,9 @@ +package org.nl.wms.ext_manage.service.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.nl.wms.ext_manage.service.dto.ErpMaterial; + +@Mapper +public interface ErpSyncMapper extends BaseMapper { +} diff --git a/nladmin-ui/src/views/wms/basedata/material/index.vue b/nladmin-ui/src/views/wms/basedata/material/index.vue index 807711c..f8a3be9 100644 --- a/nladmin-ui/src/views/wms/basedata/material/index.vue +++ b/nladmin-ui/src/views/wms/basedata/material/index.vue @@ -31,6 +31,16 @@ > 导入 + + 同步 +