erp type 优化

This commit is contained in:
liss
2025-10-11 16:49:30 +08:00
parent 5923bfeb17
commit 42a81cbeb3
5 changed files with 55 additions and 8 deletions

View File

@@ -13,9 +13,10 @@ public interface ErrorCodeConstants {
ErrorCode ERP_CUSTOMER_NOT_EXISTS = new ErrorCode(1_001_000_001, "ERP客商主数据不存在"); ErrorCode ERP_CUSTOMER_NOT_EXISTS = new ErrorCode(1_001_000_001, "ERP客商主数据不存在");
ErrorCode ERP_MATERIAL_NOT_EXISTS = new ErrorCode(1_002_000_001, "ERP物料数据不存在"); ErrorCode ERP_MATERIAL_NOT_EXISTS = new ErrorCode(1_002_000_001, "ERP物料数据不存在");
ErrorCode ERP_MATERIAL_NOT_ALLOW_UPDATE = new ErrorCode(1_002_000_001, "只允许编辑状态为“供应链”的数据"); ErrorCode ERP_MATERIAL_NOT_ALLOW_UPDATE = new ErrorCode(1_002_000_002, "只允许编辑状态为“供应链”的数据");
ErrorCode ERP_MATERIAL_NOT_ALLOW_DELETE = new ErrorCode(1_002_000_001, "不允许删除状态为“ERP”的数据"); ErrorCode ERP_MATERIAL_NOT_ALLOW_DELETE = new ErrorCode(1_002_000_003, "不允许删除状态为“ERP”的数据");
ErrorCode ERP_MATERIAL_OTHER_NOT_ALLOW_DELETE = new ErrorCode(1_002_000_001, "只允许删除不存在配置关系的数据"); ErrorCode ERP_MATERIAL_OTHER_NOT_ALLOW_DELETE = new ErrorCode(1_002_000_004, "只允许删除不存在配置关系的数据");
ErrorCode ERP_MATERIAL_EXISTS = new ErrorCode(1_002_000_005, "已存在相同中铜编码的物料数据");
ErrorCode ERP_COMPANY_NOT_EXISTS = new ErrorCode(1_003_000_001, "ERP公司数据不存在"); ErrorCode ERP_COMPANY_NOT_EXISTS = new ErrorCode(1_003_000_001, "ERP公司数据不存在");
ErrorCode ERP_COMPANY_REDIS_NOT_EXISTS = new ErrorCode(1_003_000_002, "ERP公司代码缓存数据丢失,请重新同步公司代码"); ErrorCode ERP_COMPANY_REDIS_NOT_EXISTS = new ErrorCode(1_003_000_002, "ERP公司代码缓存数据丢失,请重新同步公司代码");
@@ -31,6 +32,7 @@ public interface ErrorCodeConstants {
ErrorCode ERP_FACTORY_NOT_EXISTS = new ErrorCode(1_008_000_001, "ERP工厂数据不存在"); ErrorCode ERP_FACTORY_NOT_EXISTS = new ErrorCode(1_008_000_001, "ERP工厂数据不存在");
ErrorCode ERP_FACTORY_REDIS_NOT_EXISTS = new ErrorCode(1_008_000_002, "ERP工厂redis数据不存在"); ErrorCode ERP_FACTORY_REDIS_NOT_EXISTS = new ErrorCode(1_008_000_002, "ERP工厂redis数据不存在");
ErrorCode ERP_FACTORY_NOT_ALLOW_UPDATE = new ErrorCode(1_008_000_003, "类型为ERP的数据或启用的数据不允许编辑"); ErrorCode ERP_FACTORY_NOT_ALLOW_UPDATE = new ErrorCode(1_008_000_003, "类型为ERP的数据或启用的数据不允许编辑");
ErrorCode ERP_FACTORY_EXISTS = new ErrorCode(1_008_000_004, "工厂编码重复,数据已存在");
ErrorCode ERP_COSTCENTER_NOT_EXISTS = new ErrorCode(1_009_000_001, "ERP成本中心数据不存在"); ErrorCode ERP_COSTCENTER_NOT_EXISTS = new ErrorCode(1_009_000_001, "ERP成本中心数据不存在");
@@ -44,6 +46,7 @@ public interface ErrorCodeConstants {
ErrorCode ERP_WAREHOUSE_NOT_EXISTS = new ErrorCode(1_014_000_001, "ERP库位数据不存在"); ErrorCode ERP_WAREHOUSE_NOT_EXISTS = new ErrorCode(1_014_000_001, "ERP库位数据不存在");
ErrorCode ERP_WAREHOUSE_NOT_ALLOW_UPDATE = new ErrorCode(1_014_000_002, "只允许状态为“供应链”,且“禁用”的数据编辑"); ErrorCode ERP_WAREHOUSE_NOT_ALLOW_UPDATE = new ErrorCode(1_014_000_002, "只允许状态为“供应链”,且“禁用”的数据编辑");
ErrorCode ERP_WAREHOUSE_EXISTS = new ErrorCode(1_014_000_003, "已存在相同库位编码和工厂编码的记录");
ErrorCode ERP_ASSET_NOT_EXISTS = new ErrorCode(1_015_000_001, "ERP资产卡片数据不存在"); ErrorCode ERP_ASSET_NOT_EXISTS = new ErrorCode(1_015_000_001, "ERP资产卡片数据不存在");

View File

@@ -0,0 +1,9 @@
package com.zt.plat.module.erp.job;
public class erpJob {
public void execute() throws Exception {
// TODO Auto-generated method stub
}
}

View File

@@ -50,6 +50,8 @@ public class ErpFactoryServiceImpl implements ErpFactoryService {
@Override @Override
public ErpFactoryRespVO createErpFactory(ErpFactorySaveReqVO createReqVO) { public ErpFactoryRespVO createErpFactory(ErpFactorySaveReqVO createReqVO) {
// 校验存在
validateErpFactoryExistsNumber(createReqVO.getNumber());
// 插入 // 插入
ErpFactoryDO erpFactory = BeanUtils.toBean(createReqVO, ErpFactoryDO.class); ErpFactoryDO erpFactory = BeanUtils.toBean(createReqVO, ErpFactoryDO.class);
// 工厂编码自动生成,格式 GC-0001,依次新增 // 工厂编码自动生成,格式 GC-0001,依次新增
@@ -65,7 +67,7 @@ public class ErpFactoryServiceImpl implements ErpFactoryService {
erpFactory.setNumber(nextCode); erpFactory.setNumber(nextCode);
} }
} }
erpFactory.setType("供应链"); erpFactory.setType("SPLY");
erpFactory.setIsEnable("1"); erpFactory.setIsEnable("1");
erpFactoryMapper.insert(erpFactory); erpFactoryMapper.insert(erpFactory);
// 返回 // 返回
@@ -113,6 +115,14 @@ public class ErpFactoryServiceImpl implements ErpFactoryService {
} }
} }
private void validateErpFactoryExistsNumber(String number) {
List<ErpFactoryDO> list = erpFactoryMapper.selectList(new LambdaQueryWrapperX<ErpFactoryDO>())
.stream().filter(erpFactoryDO -> erpFactoryDO.getNumber().equals(number)).toList();
if (!list.isEmpty()) {
throw exception(ERP_FACTORY_EXISTS);
}
}
@Override @Override
public ErpFactoryDO getErpFactory(Long id) { public ErpFactoryDO getErpFactory(Long id) {
return erpFactoryMapper.selectById(id); return erpFactoryMapper.selectById(id);
@@ -165,7 +175,7 @@ public class ErpFactoryServiceImpl implements ErpFactoryService {
// 1. 调用ERP接口获取数据 // 1. 调用ERP接口获取数据
Map<String, Object> req = new HashMap<>(); Map<String, Object> req = new HashMap<>();
JSONArray dataArrayALL = new JSONArray(); JSONArray dataArrayALL = new JSONArray();
String companykey = "erp" + OftenEnum.FuncnrEnum.公司代码.getFuncnr(); String companykey = "erpMap" + OftenEnum.FuncnrEnum.公司代码.getFuncnr();
Map<String,Long> redisCache = myRedisConfig.getRedisCacheMap(companykey); Map<String,Long> redisCache = myRedisConfig.getRedisCacheMap(companykey);
if (CollUtil.isEmpty(redisCache)) { if (CollUtil.isEmpty(redisCache)) {
throw exception(ERP_COMPANY_REDIS_NOT_EXISTS); throw exception(ERP_COMPANY_REDIS_NOT_EXISTS);

View File

@@ -7,6 +7,7 @@ import com.xxl.job.core.handler.annotation.XxlJob;
import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.util.object.BeanUtils; import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.zt.plat.module.erp.dal.dataobject.erp.ErpWarehouseDO;
import com.zt.plat.module.erp.utils.ErpConfig; import com.zt.plat.module.erp.utils.ErpConfig;
import com.zt.plat.module.erp.utils.MyRedisConfig; import com.zt.plat.module.erp.utils.MyRedisConfig;
import com.zt.plat.module.erp.enums.OftenEnum; import com.zt.plat.module.erp.enums.OftenEnum;
@@ -50,6 +51,8 @@ public class ErpMaterialServiceImpl implements ErpMaterialService {
@Override @Override
public ErpMaterialRespVO createErpMaterial(ErpMaterialSaveReqVO createReqVO) { public ErpMaterialRespVO createErpMaterial(ErpMaterialSaveReqVO createReqVO) {
// 校验存在
validateErpFactoryExistsNumber(createReqVO.getDownCenterNumber());
// 插入 // 插入
ErpMaterialDO erpMaterial = BeanUtils.toBean(createReqVO, ErpMaterialDO.class); ErpMaterialDO erpMaterial = BeanUtils.toBean(createReqVO, ErpMaterialDO.class);
// 工厂编码自动生成,格式 GC-0001,依次新增 // 工厂编码自动生成,格式 GC-0001,依次新增
@@ -65,6 +68,7 @@ public class ErpMaterialServiceImpl implements ErpMaterialService {
erpMaterial.setDownCenterNumber(nextCode); erpMaterial.setDownCenterNumber(nextCode);
} }
} }
erpMaterial.setType("SPLY");
erpMaterialMapper.insert(erpMaterial); erpMaterialMapper.insert(erpMaterial);
// 返回 // 返回
return BeanUtils.toBean(erpMaterial, ErpMaterialRespVO.class); return BeanUtils.toBean(erpMaterial, ErpMaterialRespVO.class);
@@ -76,7 +80,7 @@ public class ErpMaterialServiceImpl implements ErpMaterialService {
validateErpMaterialExists(updateReqVO.getId()); validateErpMaterialExists(updateReqVO.getId());
// 更新 // 更新
ErpMaterialDO updateObj = BeanUtils.toBean(updateReqVO, ErpMaterialDO.class); ErpMaterialDO updateObj = BeanUtils.toBean(updateReqVO, ErpMaterialDO.class);
if (updateObj.getType().equals("供应链")) { if (updateObj.getType().equals("SPLY")) {
erpMaterialMapper.updateById(updateObj); erpMaterialMapper.updateById(updateObj);
} else { } else {
throw exception(ERP_MATERIAL_NOT_ALLOW_UPDATE); throw exception(ERP_MATERIAL_NOT_ALLOW_UPDATE);
@@ -128,6 +132,15 @@ public class ErpMaterialServiceImpl implements ErpMaterialService {
} }
} }
private void validateErpFactoryExistsNumber(String number) {
List<ErpMaterialDO> list = erpMaterialMapper.selectList(new LambdaQueryWrapperX<ErpMaterialDO>()).stream()
.filter(erpWarehouseDO -> erpWarehouseDO.getDownCenterNumber().equals(number))
.toList();
if (!list.isEmpty()) {
throw exception(ERP_MATERIAL_EXISTS);
}
}
@Override @Override
public ErpMaterialDO getErpMaterial(Long id) { public ErpMaterialDO getErpMaterial(Long id) {
return erpMaterialMapper.selectById(id); return erpMaterialMapper.selectById(id);

View File

@@ -51,6 +51,8 @@ public class ErpWarehouseServiceImpl implements ErpWarehouseService {
@Override @Override
public ErpWarehouseRespVO createErpWarehouse(ErpWarehouseSaveReqVO createReqVO) { public ErpWarehouseRespVO createErpWarehouse(ErpWarehouseSaveReqVO createReqVO) {
// 校验存在
validateErpFactoryExistsNumber(createReqVO.getNumber(), createReqVO.getFactoryNumber());
// 插入 // 插入
ErpWarehouseDO warehouse = BeanUtils.toBean(createReqVO, ErpWarehouseDO.class); ErpWarehouseDO warehouse = BeanUtils.toBean(createReqVO, ErpWarehouseDO.class);
// 库位编码自动生成,格式 KW-0001,依次新增 // 库位编码自动生成,格式 KW-0001,依次新增
@@ -66,7 +68,7 @@ public class ErpWarehouseServiceImpl implements ErpWarehouseService {
warehouse.setNumber(nextCode); warehouse.setNumber(nextCode);
} }
} }
warehouse.setType("供应链"); warehouse.setType("SPLY");
warehouse.setIsEnable("1"); warehouse.setIsEnable("1");
erpWarehouseMapper.insert(warehouse); erpWarehouseMapper.insert(warehouse);
// 返回 // 返回
@@ -79,7 +81,7 @@ public class ErpWarehouseServiceImpl implements ErpWarehouseService {
validateErpWarehouseExists(updateReqVO.getId()); validateErpWarehouseExists(updateReqVO.getId());
// 更新 // 更新
ErpWarehouseDO updateObj = BeanUtils.toBean(updateReqVO, ErpWarehouseDO.class); ErpWarehouseDO updateObj = BeanUtils.toBean(updateReqVO, ErpWarehouseDO.class);
if (updateObj.getType().equals("供应链")&&updateObj.getIsEnable().equals("0")){ if (updateObj.getType().equals("SPLY")&&updateObj.getIsEnable().equals("0")){
erpWarehouseMapper.updateById(updateObj); erpWarehouseMapper.updateById(updateObj);
}else { }else {
throw exception(ERP_WAREHOUSE_NOT_ALLOW_UPDATE); throw exception(ERP_WAREHOUSE_NOT_ALLOW_UPDATE);
@@ -115,6 +117,16 @@ public class ErpWarehouseServiceImpl implements ErpWarehouseService {
} }
} }
private void validateErpFactoryExistsNumber(String number, String factoryNumber) {
List<ErpWarehouseDO> list = erpWarehouseMapper.selectList(new LambdaQueryWrapperX<ErpWarehouseDO>()).stream()
.filter(erpWarehouseDO -> erpWarehouseDO.getNumber().equals(number))
.filter(erpWarehouseDO -> erpWarehouseDO.getFactoryNumber().equals(factoryNumber))
.toList();
if (!list.isEmpty()) {
throw exception(ERP_WAREHOUSE_EXISTS);
}
}
@Override @Override
public ErpWarehouseDO getErpWarehouse(Long id) { public ErpWarehouseDO getErpWarehouse(Long id) {
return erpWarehouseMapper.selectById(id); return erpWarehouseMapper.selectById(id);