From 902814c02737823d016b9c897c068934c7e91d93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?yinjinlu-pc=5C=E5=B0=B9=E9=87=91=E8=B7=AF?= <411641505@qq.com> Date: Fri, 6 Sep 2024 15:25:02 +0800 Subject: [PATCH] =?UTF-8?q?=E7=89=A9=E6=96=99=E4=BA=A7=E5=93=81=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=E5=AF=BC=E5=85=A5=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mes/md/controller/MdItemController.java | 2 +- .../java/com/ktg/mes/md/domain/MdItem.java | 4 +- .../com/ktg/mes/md/mapper/ItemTypeMapper.java | 8 ++++ .../com/ktg/mes/md/mapper/MdItemMapper.java | 3 ++ .../ktg/mes/md/service/IItemTypeService.java | 2 + .../ktg/mes/md/service/IMdItemService.java | 10 ++++- .../md/service/impl/ItemTypeServiceImpl.java | 16 +++++++ .../md/service/impl/MdClientServiceImpl.java | 18 ++++---- .../md/service/impl/MdItemServiceImpl.java | 43 +++++++++++-------- .../md/service/impl/MdVendorServiceImpl.java | 18 ++++---- .../resources/mapper/md/ItemTypeMapper.xml | 12 ++++++ .../main/resources/mapper/md/MdItemMapper.xml | 26 ++++++++++- 12 files changed, 120 insertions(+), 42 deletions(-) diff --git a/ktg-mes/src/main/java/com/ktg/mes/md/controller/MdItemController.java b/ktg-mes/src/main/java/com/ktg/mes/md/controller/MdItemController.java index 9c6cd76..f775b92 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/md/controller/MdItemController.java +++ b/ktg-mes/src/main/java/com/ktg/mes/md/controller/MdItemController.java @@ -62,7 +62,7 @@ public class MdItemController extends BaseController { @PostMapping("/export") public void export(HttpServletResponse response, MdItem mdItem) { - List list = mdItemService.selectMdItemList(mdItem); + List list = mdItemService.getExeportList(mdItem); ExcelUtil util = new ExcelUtil(MdItem.class); util.exportExcel(response, list, "物料产品数据"); } diff --git a/ktg-mes/src/main/java/com/ktg/mes/md/domain/MdItem.java b/ktg-mes/src/main/java/com/ktg/mes/md/domain/MdItem.java index 2c9372f..6d8c1bd 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/md/domain/MdItem.java +++ b/ktg-mes/src/main/java/com/ktg/mes/md/domain/MdItem.java @@ -25,7 +25,6 @@ public class MdItem extends BaseEntity { private String unitName; private String itemOrProduct; private Long itemTypeId; - @Excel(name = "分类编码") private String itemTypeCode; @Excel(name = "分类名称") private String itemTypeName; @@ -47,7 +46,6 @@ public class MdItem extends BaseEntity { this.itemId = itemId; } - @NotBlank(message = "物料产品编码不能为空") @Size(min = 0,max = 64,message = "物料产品编码长度不能超过64个字符") public String getItemCode() { return itemCode; @@ -76,7 +74,7 @@ public class MdItem extends BaseEntity { this.specification = specification; } - @NotBlank(message = "单位不能为空") + @NotBlank(message = "单位编码不能为空") public String getUnitOfMeasure() { return unitOfMeasure; } diff --git a/ktg-mes/src/main/java/com/ktg/mes/md/mapper/ItemTypeMapper.java b/ktg-mes/src/main/java/com/ktg/mes/md/mapper/ItemTypeMapper.java index d6903a3..0994abd 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/md/mapper/ItemTypeMapper.java +++ b/ktg-mes/src/main/java/com/ktg/mes/md/mapper/ItemTypeMapper.java @@ -21,6 +21,14 @@ public interface ItemTypeMapper { */ public ItemType selectItemTypeById(Long itemTypeId); + /** + * 根据分类名称查找分类 + * 在重名的情况下,支持按【上级分类】/【下级分类】的模式进行查找 + * @param itemTypeName + * @return + */ + public List selectItemTypeByName(String itemTypeName); + /** * 根据父类ID查询是否有子类 * @param parentTypeId diff --git a/ktg-mes/src/main/java/com/ktg/mes/md/mapper/MdItemMapper.java b/ktg-mes/src/main/java/com/ktg/mes/md/mapper/MdItemMapper.java index d0f9341..b528aa6 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/md/mapper/MdItemMapper.java +++ b/ktg-mes/src/main/java/com/ktg/mes/md/mapper/MdItemMapper.java @@ -19,6 +19,9 @@ public interface MdItemMapper { public List selectMdItemAll(); + public List getExeportList(MdItem mdItem); + + /** * 根据物料ID查询物料 * @param itemId diff --git a/ktg-mes/src/main/java/com/ktg/mes/md/service/IItemTypeService.java b/ktg-mes/src/main/java/com/ktg/mes/md/service/IItemTypeService.java index 9c4fc13..19a69f5 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/md/service/IItemTypeService.java +++ b/ktg-mes/src/main/java/com/ktg/mes/md/service/IItemTypeService.java @@ -9,6 +9,8 @@ public interface IItemTypeService { public List selectItemTypeList(ItemType itemType); + public ItemType selectItemTypeByName(String typeName); + public ItemType selectItemTypeById(Long itemTypeId); public List buildTreeSelect(List list); diff --git a/ktg-mes/src/main/java/com/ktg/mes/md/service/IMdItemService.java b/ktg-mes/src/main/java/com/ktg/mes/md/service/IMdItemService.java index c15d53d..5c64f07 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/md/service/IMdItemService.java +++ b/ktg-mes/src/main/java/com/ktg/mes/md/service/IMdItemService.java @@ -20,10 +20,18 @@ public interface IMdItemService { */ public List selectMdItemAll(); + /** + * 获取导出格式的物料产品清单 + * 主要区别是物料分类会以【父级分类】/【子集分类】的方式组合 + * @param mdItem + * @return + */ + public List getExeportList(MdItem mdItem); + /** * 导入物料信息 - * @param vendorList + * @param itemList * @param isUpdateSupport * @param operName * @return diff --git a/ktg-mes/src/main/java/com/ktg/mes/md/service/impl/ItemTypeServiceImpl.java b/ktg-mes/src/main/java/com/ktg/mes/md/service/impl/ItemTypeServiceImpl.java index ae070b2..1b3ca44 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/md/service/impl/ItemTypeServiceImpl.java +++ b/ktg-mes/src/main/java/com/ktg/mes/md/service/impl/ItemTypeServiceImpl.java @@ -8,6 +8,7 @@ import com.ktg.mes.md.mapper.ItemTypeMapper; import com.ktg.mes.md.service.IItemTypeService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; import java.util.ArrayList; import java.util.Iterator; @@ -25,6 +26,21 @@ public class ItemTypeServiceImpl implements IItemTypeService { return itemTypeMapper.selectItemTypeList(itemType); } + /** + * 根据分类名称查找分类 + * 在重名的情况下,支持按【上级分类】/【下级分类】的模式进行查找 + * @param itemTypeName + * @return + */ + @Override + public ItemType selectItemTypeByName(String itemTypeName) { + List types = itemTypeMapper.selectItemTypeByName(itemTypeName); + if(!CollectionUtils.isEmpty(types)){ + return types.get(0); + } + return null; + } + @Override public ItemType selectItemTypeById(Long itemTypeId) { return itemTypeMapper.selectItemTypeById(itemTypeId); diff --git a/ktg-mes/src/main/java/com/ktg/mes/md/service/impl/MdClientServiceImpl.java b/ktg-mes/src/main/java/com/ktg/mes/md/service/impl/MdClientServiceImpl.java index 35853a6..5a01bf2 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/md/service/impl/MdClientServiceImpl.java +++ b/ktg-mes/src/main/java/com/ktg/mes/md/service/impl/MdClientServiceImpl.java @@ -189,15 +189,15 @@ public class MdClientServiceImpl implements IMdClientService String msg = "
" + failureNum + "、客户 " + client.getClientName() + " 导入失败:"; failureMsg.append(msg + e.getMessage()); } - if (failureNum > 0) - { - failureMsg.insert(0, "导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:"); - throw new ServiceException(failureMsg.toString()); - } - else - { - successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条"); - } + } + if (failureNum > 0) + { + failureMsg.insert(0, "导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:"); + throw new ServiceException(failureMsg.toString()); + } + else + { + successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条"); } return successMsg.toString(); } diff --git a/ktg-mes/src/main/java/com/ktg/mes/md/service/impl/MdItemServiceImpl.java b/ktg-mes/src/main/java/com/ktg/mes/md/service/impl/MdItemServiceImpl.java index 6188bb3..32299aa 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/md/service/impl/MdItemServiceImpl.java +++ b/ktg-mes/src/main/java/com/ktg/mes/md/service/impl/MdItemServiceImpl.java @@ -47,11 +47,16 @@ public class MdItemServiceImpl implements IMdItemService { return mdItemMapper.selectMdItemAll(); } + @Override + public List getExeportList(MdItem mdItem) { + return mdItemMapper.getExeportList(mdItem); + } + @Override public String importItem(List itemList, Boolean isUpdateSupport, String operName) { if (StringUtils.isNull(itemList) || itemList.size() == 0) { - throw new ServiceException("导入供应商数据不能为空!"); + throw new ServiceException("导入物料产品数据不能为空!"); } int successNum = 0; int failureNum = 0; @@ -61,13 +66,17 @@ public class MdItemServiceImpl implements IMdItemService { { try{ //物料分类是否正确 - if(StringUtils.isNotNull(item.getItemTypeCode())){ - ItemType q = new ItemType(); - q.setItemTypeCode(item.getItemTypeCode()); - List types = itemTypeMapper.selectItemTypeList(q); - if(CollectionUtils.isEmpty(types)){ + if(StringUtils.isNotNull(item.getItemTypeName())){ + List types = itemTypeMapper.selectItemTypeByName(item.getItemTypeName()); + if(!CollectionUtils.isEmpty(types)){ item.setItemTypeId(types.get(0).getItemTypeId()); + item.setItemTypeCode(types.get(0).getItemTypeCode()); item.setItemTypeName(types.get(0).getItemTypeName()); + item.setItemOrProduct(types.get(0).getItemOrProduct()); + + item.setSafeStockFlag(UserConstants.NO); + item.setEnableFlag(UserConstants.YES); + item.setHighValue(UserConstants.NO); //是否存在 MdItem v = mdItemMapper.checkItemCodeUnique(item); @@ -90,26 +99,26 @@ public class MdItemServiceImpl implements IMdItemService { } }else{ failureNum++; - failureMsg.append("
" + failureNum + "、物料/产品 " + item.getItemName() + " 请填写正确的分类编码"); + failureMsg.append("
" + failureNum + "、物料/产品 " + item.getItemName() + " 请填写正确的分类"); } }else { failureNum++; - failureMsg.append("
" + failureNum + "、物料/产品 " + item.getItemName() + " 请填写分类编码"); + failureMsg.append("
" + failureNum + "、物料/产品 " + item.getItemName() + " 请填写分类"); } }catch (Exception e){ failureNum++; String msg = "
" + failureNum + "、物料/产品 " + item.getItemName() + " 导入失败:"; failureMsg.append(msg + e.getMessage()); } - if (failureNum > 0) - { - failureMsg.insert(0, "导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:"); - throw new ServiceException(failureMsg.toString()); - } - else - { - successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条"); - } + } + if (failureNum > 0) + { + failureMsg.insert(0, "导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:"); + throw new ServiceException(failureMsg.toString()); + } + else + { + successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条"); } return successMsg.toString(); } diff --git a/ktg-mes/src/main/java/com/ktg/mes/md/service/impl/MdVendorServiceImpl.java b/ktg-mes/src/main/java/com/ktg/mes/md/service/impl/MdVendorServiceImpl.java index 1d53bfa..2795fc3 100644 --- a/ktg-mes/src/main/java/com/ktg/mes/md/service/impl/MdVendorServiceImpl.java +++ b/ktg-mes/src/main/java/com/ktg/mes/md/service/impl/MdVendorServiceImpl.java @@ -132,15 +132,15 @@ public class MdVendorServiceImpl implements IMdVendorService String msg = "
" + failureNum + "、供应商 " + vendor.getVendorName() + " 导入失败:"; failureMsg.append(msg + e.getMessage()); } - if (failureNum > 0) - { - failureMsg.insert(0, "导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:"); - throw new ServiceException(failureMsg.toString()); - } - else - { - successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条"); - } + } + if (failureNum > 0) + { + failureMsg.insert(0, "导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:"); + throw new ServiceException(failureMsg.toString()); + } + else + { + successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条"); } return successMsg.toString(); } diff --git a/ktg-mes/src/main/resources/mapper/md/ItemTypeMapper.xml b/ktg-mes/src/main/resources/mapper/md/ItemTypeMapper.xml index 56a6b86..44e6fe8 100644 --- a/ktg-mes/src/main/resources/mapper/md/ItemTypeMapper.xml +++ b/ktg-mes/src/main/resources/mapper/md/ItemTypeMapper.xml @@ -83,6 +83,18 @@ where item_type_name=#{itemTypeName} and parent_type_id = #{parentTypeId} limit 1 + + + + + @@ -80,7 +102,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" item_name, specification, unit_of_measure, - unitName, + unit_name, item_or_product, item_type_id, item_type_code, @@ -89,7 +111,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" safe_stock_flag, min_stock, max_stock, - #{high_value}, + high_value, remark, attr1, attr2,