板材库修改

This commit is contained in:
lym
2024-03-25 11:25:37 +08:00
parent dd49f8231f
commit 9a12f5010a
33 changed files with 468 additions and 65 deletions
@@ -122,8 +122,7 @@ public class PlateController {
@RequestParam(value = "updateSupport", required = false, defaultValue = "false") Boolean updateSupport,
@RequestParam(value = "organId") Long organId) throws Exception {
List<PlateImportExcelVO> list = ExcelUtils.read(file, PlateImportExcelVO.class);
return success(plateService.importPlateList(list, updateSupport));
// return null;
return success(plateService.importPlateList(list, updateSupport , organId));
}
}
@@ -74,4 +74,9 @@ public class PlateDO extends BaseDO {
*/
private String remark;
/**
* 组织id
*/
private Long organId;
}
@@ -15,8 +15,8 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface PlateMapper extends BaseMapperX<PlateDO> {
default PlateDO selectByGoodID(String goodId) {
return selectOne(PlateDO::getGoodsId, goodId);
default PlateDO selectByGoodID(String goodId , Long organId) {
return selectOne(PlateDO::getGoodsId, goodId, PlateDO::getOrganId, organId);
}
default PageResult<PlateDO> selectPage(PlatePageReqVO reqVO) {
@@ -28,7 +28,7 @@ public interface PlateMapper extends BaseMapperX<PlateDO> {
.eqIfPresent(PlateDO::getWidth, reqVO.getWidth())
.eqIfPresent(PlateDO::getHeight, reqVO.getHeight())
.eqIfPresent(PlateDO::getThickness, reqVO.getThickness())
// .eqIfPresent(PlateDO::getPrice, reqVO.getPrice())
.eqIfPresent(PlateDO::getOrganId, reqVO.getOrganId())
.eqIfPresent(PlateDO::getBrand, reqVO.getBrand())
.eqIfPresent(PlateDO::getSpec, reqVO.getSpec())
.eqIfPresent(PlateDO::getRemark, reqVO.getRemark())
@@ -1,10 +1,11 @@
package com.cf.imes.module.manage.framework.rpc.config;
import com.cf.imes.module.system.api.organ.OrganApi;
import com.cf.imes.module.system.api.user.AdminUserApi;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.Configuration;
@Configuration(proxyBeanMethods = false)
@EnableFeignClients(clients = AdminUserApi.class)
@EnableFeignClients(clients = {AdminUserApi.class, OrganApi.class})
public class RpcConfiguration {
}
@@ -63,6 +63,6 @@ public interface PlateService {
* @param isUpdateSupport 是否支持更新
* @return 导入结果
*/
PlateImportRespVO importPlateList(List<PlateImportExcelVO> importUsers, boolean isUpdateSupport);
PlateImportRespVO importPlateList(List<PlateImportExcelVO> importUsers, boolean isUpdateSupport , Long organId);
}
@@ -3,10 +3,14 @@ package com.cf.imes.module.manage.service.plate;
import cn.hutool.core.collection.CollUtil;
import com.cf.imes.framework.common.exception.ServiceException;
import com.cf.imes.framework.common.exception.util.ServiceExceptionUtil;
import com.cf.imes.framework.common.pojo.CommonResult;
import com.cf.imes.framework.security.core.LoginUser;
import com.cf.imes.framework.security.core.util.SecurityFrameworkUtils;
import com.cf.imes.module.manage.controller.admin.plate.vo.plate.PlateImportExcelVO;
import com.cf.imes.module.manage.controller.admin.plate.vo.plate.PlateImportRespVO;
import com.cf.imes.module.manage.controller.admin.plate.vo.plate.PlatePageReqVO;
import com.cf.imes.module.manage.controller.admin.plate.vo.plate.PlateSaveReqVO;
import com.cf.imes.module.system.api.organ.OrganApi;
import com.cf.imes.module.system.enums.ErrorCodeConstants;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
@@ -38,10 +42,17 @@ public class PlateServiceImpl implements PlateService {
@Resource
private PlateMapper plateMapper;
@Resource
private OrganApi organApi;
@Override
public Long createPlate(PlateSaveReqVO createReqVO) {
// 插入
PlateDO plate = BeanUtils.toBean(createReqVO, PlateDO.class);
if (createReqVO.getOrganId() != 0){
validateOrganExists(createReqVO.getOrganId());
validateGoodExists(createReqVO.getGoodsId(), createReqVO.getOrganId());
plate.setOrganId(createReqVO.getOrganId());
}
plateMapper.insert(plate);
// 返回
return plate.getId();
@@ -51,7 +62,7 @@ public class PlateServiceImpl implements PlateService {
public void updatePlate(PlateSaveReqVO updateReqVO) {
// 校验存在
validatePlateExists(updateReqVO.getId());
// 更新
// 更新 判断是否有组织id
PlateDO updateObj = BeanUtils.toBean(updateReqVO, PlateDO.class);
plateMapper.updateById(updateObj);
}
@@ -90,10 +101,11 @@ public class PlateServiceImpl implements PlateService {
@Override
@Transactional(rollbackFor = Exception.class) // 添加事务,异常则回滚所有导入
public PlateImportRespVO importPlateList(List<PlateImportExcelVO> importPlates, boolean isUpdateSupport) {
public PlateImportRespVO importPlateList(List<PlateImportExcelVO> importPlates, boolean isUpdateSupport , Long organId) {
if (CollUtil.isEmpty(importPlates)) {
throw ServiceExceptionUtil.exception(ErrorCodeConstants.PLATE_IMPORT_LIST_IS_EMPTY);
}
validateOrganExists(organId);
PlateImportRespVO respVO = PlateImportRespVO.builder().createPlateNames(new ArrayList<>())
.updatePlateNames(new ArrayList<>()).failurePlateNames(new LinkedHashMap<>()).build();
importPlates.forEach(importPlate -> {
@@ -105,7 +117,7 @@ public class PlateServiceImpl implements PlateService {
return;
}
// 判断如果不存在,在进行插入
PlateDO existPlate = plateMapper.selectByGoodID(importPlate.getGoodsId());
PlateDO existPlate = plateMapper.selectByGoodID(importPlate.getGoodsId(), organId);
if (existPlate == null) {
plateMapper.insert(BeanUtils.toBean(importPlate, PlateDO.class));
respVO.getCreatePlateNames().add(importPlate.getGoodsName());
@@ -116,15 +128,26 @@ public class PlateServiceImpl implements PlateService {
respVO.getFailurePlateNames().put(importPlate.getGoodsName(), ErrorCodeConstants.PLATE_EXISTS.getMsg());
return;
}
PlateDO updateUser = BeanUtils.toBean(importPlate, PlateDO.class);
updateUser.setId(existPlate.getId());
plateMapper.updateById(updateUser);
PlateDO plateDO = BeanUtils.toBean(importPlate, PlateDO.class);
plateDO.setId(existPlate.getId());
plateMapper.updateById(plateDO);
respVO.getUpdatePlateNames().add(importPlate.getGoodsName());
});
return respVO;
}
private void validateOrganExists(Long organId) {
CommonResult<Boolean> index = organApi.validOrgan(organId);
if (!index.isSuccess()) {
throw exception(ErrorCodeConstants.ORGAN_NOT_EXISTS);
}
}
// 当前组织中板材是否存在
private void validateGoodExists(String goodsId ,Long organId) {
if (plateMapper.selectByGoodID(goodsId ,organId) != null){
throw exception(ErrorCodeConstants.PLATE_EXISTS);
}
}
}