From 622caf794923c24f101d88125e6b623bc5b6e1fc Mon Sep 17 00:00:00 2001 From: zjf <1799650030@qq.com> Date: Fri, 8 Aug 2025 18:15:39 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E6=99=BA=E6=85=A7=E8=B6=85=E5=B8=82):?= =?UTF-8?q?=E5=BA=93=E5=AD=98pd=E5=AF=BC=E5=85=A5=E9=80=82=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SmErpCommonController.java | 11 ++---- .../service/SmErpCommonService.java | 19 ++++++++++ .../service/impl/SmErpCommonServiceImpl.java | 36 ++++++++++++++++++ .../service/impl/SmErpSpuServiceImpl.java | 37 +++++++++++++++---- 4 files changed, 88 insertions(+), 15 deletions(-) create mode 100644 pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SmErpCommonService.java create mode 100644 pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpCommonServiceImpl.java diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmErpCommonController.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmErpCommonController.java index 902fd4963..f85d5bcda 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmErpCommonController.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmErpCommonController.java @@ -3,6 +3,7 @@ package com.bsd.pjcloud.supermarket.controller; import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.sequence.sequence.Sequence; import com.bsd.pjcloud.supermarket.constant.InventoryTypeEnum; +import com.bsd.pjcloud.supermarket.service.SmErpCommonService; import com.bsd.pjcloud.supermarket.service.SmErpInventoryRecordsService; import com.bsd.pjcloud.supermarket.service.SmErpSpuService; import io.swagger.v3.oas.annotations.Operation; @@ -26,12 +27,9 @@ import org.springframework.web.bind.annotation.*; @SecurityRequirement(name = HttpHeaders.AUTHORIZATION) public class SmErpCommonController { - private final SmErpInventoryRecordsService smErpInventoryRecordsService; + private final SmErpCommonService smErpCommonService; - private final SmErpSpuService smErpSpuService; - @Autowired - private Sequence sequence; /** * 采购计划选择商品分页数据 @@ -42,11 +40,8 @@ public class SmErpCommonController { @Operation(summary = "获取业务流水编号" , description = "获取业务流水编号" ) @GetMapping("/getSequence") public R getErpSpuPage(@RequestParam("type")String type) { - String valueByType = InventoryTypeEnum.getValueByType(type); - String s = sequence.nextNo(); - String result = valueByType + "-" + s; + String result=smErpCommonService.getSequence(type); return R.ok(result); } - } \ No newline at end of file diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SmErpCommonService.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SmErpCommonService.java new file mode 100644 index 000000000..4050a6aef --- /dev/null +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SmErpCommonService.java @@ -0,0 +1,19 @@ +package com.bsd.pjcloud.supermarket.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import com.bsd.pjcloud.supermarket.entity.ShopCategoryEntity; + +import java.util.List; + +public interface SmErpCommonService { + + + /** + * 获取业务流水编号 + * @param type + * @return + */ + String getSequence(String type); +} \ No newline at end of file diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpCommonServiceImpl.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpCommonServiceImpl.java new file mode 100644 index 000000000..640ee577c --- /dev/null +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpCommonServiceImpl.java @@ -0,0 +1,36 @@ +package com.bsd.pjcloud.supermarket.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.bsd.pjcloud.common.data.datascope.DataScope; +import com.bsd.pjcloud.common.sequence.sequence.Sequence; +import com.bsd.pjcloud.supermarket.constant.InventoryTypeEnum; +import com.bsd.pjcloud.supermarket.entity.ShopCategoryEntity; +import com.bsd.pjcloud.supermarket.mapper.ShopCategoryMapper; +import com.bsd.pjcloud.supermarket.service.ShopCategoryService; +import com.bsd.pjcloud.supermarket.service.SmErpCommonService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 在线商品分类 + * + * @author zjf + * @date 2025-06-18 16:49:20 + */ +@Service +public class SmErpCommonServiceImpl implements SmErpCommonService { + + @Autowired + private Sequence sequence; + @Override + public String getSequence(String type) { + String valueByType = InventoryTypeEnum.getValueByType(type); + String s = sequence.nextNo(); + String result = valueByType + "-" + s; + return result; + } +} \ No newline at end of file diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpSpuServiceImpl.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpSpuServiceImpl.java index 5c618a420..948bd9709 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpSpuServiceImpl.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpSpuServiceImpl.java @@ -100,7 +100,7 @@ public class SmErpSpuServiceImpl extends ServiceImpl() + .eq(SmErpUnitEntity::getSpuId, spu.getId()) + .eq(SmErpUnitEntity::getIsBase, true)); + if (baseUnit != null) { + unitId = baseUnit.getId(); + // 记录单位替换的提示信息 + String unitNote = String.format("单位替换:Excel中的单位 '%s' 未找到,已使用基础单位 '%s'", dto.getUnit(), baseUnit.getUnit()); + if (item.getRemark() != null) { + item.setRemark(item.getRemark() + ";" + unitNote); + } else { + item.setRemark(unitNote); + } } else { - item.setRemark(unitWarning); + // 如果连基础单位都没有,记录警告信息 + String unitWarning = "警告:商品 '" + spu.getProductName() + "' 未找到单位 '" + dto.getUnit() + "' 的包装单位,且无基础单位"; + if (item.getRemark() != null) { + item.setRemark(item.getRemark() + ";" + unitWarning); + } else { + item.setRemark(unitWarning); + } } } + } else { + // 如果Excel中没有指定单位,也使用基础单位 + SmErpUnitEntity baseUnit = smErpUnitService.getOne(new LambdaQueryWrapper() + .eq(SmErpUnitEntity::getSpuId, spu.getId()) + .eq(SmErpUnitEntity::getIsBase, true)); + if (baseUnit != null) { + unitId = baseUnit.getId(); + } } item.setUnitId(unitId); @@ -1976,7 +1999,7 @@ public class SmErpSpuServiceImpl extends ServiceImpl