Merge remote-tracking branch 'origin/main'

This commit is contained in:
liuzhaotian
2024-06-26 19:09:00 +08:00
23 changed files with 158 additions and 105 deletions
@@ -114,9 +114,9 @@ public class PlateController {
// 手动创建导出 demo
List<PlateImportExcelVO> list = Arrays.asList(
PlateImportExcelVO.builder().goodsId("SP1123456").goodsName("xixih").material("颗粒板").width(String.valueOf(1212.3)).height(String.valueOf(12131.6))
.thickness(String.valueOf(0.2)).brand("鹅厂").spec("大厂").remark("测试").price(String.valueOf(33333.2)).color("黑色").texture("交换机1").build(),
.thickness(String.valueOf(0.2)).brand("鹅厂").spec("大厂").remark("测试").price(String.valueOf(33333.2)).color("黑色").texture("").build(),
PlateImportExcelVO.builder().goodsId("SP1123457").goodsName("2L").material("yuanma@cf.com").width(String.valueOf(21.6)).height(String.valueOf(12231.6))
.thickness(String.valueOf(5.3)).brand("kkkkkk").spec("大厂").remark("测试").price(String.valueOf(333.555)).color("黑色").texture("交换机2").build()
.thickness(String.valueOf(5.3)).brand("kkkkkk").spec("大厂").remark("测试").price(String.valueOf(333.555)).color("黑色").texture("").build()
);
// 输出
ExcelUtils.write(response, "板材导入模板.xlsx", "板材列表", PlateImportExcelVO.class, list);
@@ -141,7 +141,13 @@ public class PlateController {
if (!plateExcelUtil.getFlag())
ExcelUtils.write(response, "板材导入模板.xlsx", "板材列表", PlateImportExcelVO.class, list);
else {
PlateImportRespVO respVO = plateService.importPlateList(list, updateSupport, organId);// 成功,批量导入
if (list.size() == 0){
PlateImportExcelVO plateImportExcelVO = PlateImportExcelVO.builder().result("导入失败,请保证导入文件中包含板材数据").build();
list.add(plateImportExcelVO);
ExcelUtils.write(response, "板材导入模板.xlsx", "板材列表", PlateImportExcelVO.class, list);
}else {
plateService.importPlateList(list, updateSupport, organId);// 成功,批量导入
}
}
plateExcelUtil.clear();
@@ -36,8 +36,8 @@ public class PlateImportExcelVO {
@NotEmpty(message = "颜色不能为空")
private String color;
@ExcelProperty("")
@NotEmpty(message = "纹路不能为空")
@ExcelProperty("")
@NotEmpty(message = "纹路不能为空,填 有 无")
private String texture;
@ExcelProperty("宽度")
@@ -30,8 +30,8 @@ public class PlatePageReqVO extends PageParam {
@Schema(description = "颜色")
private String color;
@Schema(description = "")
private String texture;
@Schema(description = "")
private Boolean texture;
@Schema(description = "宽度")
private Double width;
@@ -31,8 +31,8 @@ public class PlateRespVO {
@ExcelProperty("颜色")
private String color;
@Schema(description = "", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("")
@Schema(description = "", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("")
private String texture;
@Schema(description = "宽度", requiredMode = Schema.RequiredMode.REQUIRED)
@@ -29,9 +29,9 @@ public class PlateSaveReqVO {
@NotEmpty(message = "颜色不能为空")
private String color;
@Schema(description = "", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "纹路不能为空")
private String texture;
@Schema(description = "", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "路不能为空")
private Boolean texture;
@Schema(description = "宽度", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "宽度不能为空")
@@ -42,9 +42,9 @@ public class PlateDO extends BaseDO {
*/
private String color;
/**
* 纹
* 纹
*/
private String texture;
private Boolean texture;
/**
* 宽度
*/
@@ -34,7 +34,7 @@ public interface PlateMapper extends BaseMapperX<PlateDO> {
.likeIfPresent(PlateDO::getSpec, reqVO.getSpec())
.likeIfPresent(PlateDO::getRemark, reqVO.getRemark())
.eqIfPresent(PlateDO::getPrice, reqVO.getPrice())
.likeIfPresent(PlateDO::getTexture, reqVO.getTexture())
.eqIfPresent(PlateDO::getTexture, reqVO.getTexture())
.betweenIfPresent(PlateDO::getCreateTime, reqVO.getCreateTime());
if (reqVO.getOrder() == null) {
@@ -36,6 +36,7 @@ public final class PlateExcelListener<T> extends AnalysisEventListener<PlateImpo
checkData(data.getWidth(),"宽度",data);
checkData(data.getThickness(),"厚度",data);
checkData(data.getPrice(),"价格",data);
checkTexture(data.getTexture(),"纹理",data);
if (data.getResult() != null)
data.setResult(data.getResult().replace("null,", ""));
valueMap.put(context.getCurrentRowNum(), data.getResult());
@@ -61,6 +62,22 @@ public final class PlateExcelListener<T> extends AnalysisEventListener<PlateImpo
}
}
private void checkTexture(String valueCheck, String head, PlateImportExcelVO data) {
String value = valueCheck.trim();
if (value.equals("")) {
this.flag = false;
data.setResult(data.getResult() + "," + head + "信息缺少");
} else {
if (!value.equals("") && !value.equals("")) {
this.flag = false;
data.setResult(data.getResult() + "," + head + "信息有误");
} else if (value.equals("")) {
data.setTexture("true");
} else {
data.setTexture("false");
}
}
}
/**
* 读取完后操作
*
@@ -116,9 +116,10 @@ public class PlateServiceImpl implements PlateService {
@Override
@Transactional(rollbackFor = Exception.class) // 添加事务,异常则回滚所有导入
public PlateImportRespVO importPlateList(List<PlateImportExcelVO> importPlates, boolean isUpdateSupport , Long organId) {
if (CollUtil.isEmpty(importPlates)) {
throw ServiceExceptionUtil.exception(ErrorCodeConstants.PLATE_IMPORT_LIST_IS_EMPTY);
}
System.out.println(" importPlates " + importPlates);
// 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();
@@ -131,13 +132,13 @@ public class PlateServiceImpl implements PlateService {
PlateDO existPlate = plateMapper.selectByGoodID(importPlate.getGoodsId(), organId);
if (existPlate == null) {
respVO.getCreatePlateNames().add(importPlate.getGoodsName());
insertList.add(BeanUtils.toBean(importPlate, PlateDO.class).setOrganId(organId));
insertList.add(BeanUtils.toBean(importPlate, PlateDO.class).setOrganId(organId).setTexture(Boolean.valueOf(importPlate.getTexture())));
return;
}
// 判断是否允许更新
if (!isUpdateSupport) {
respVO.getFailurePlateNames().put(importPlate.getGoodsName(), ErrorCodeConstants.PLATE_EXISTS.getMsg());
PlateDO plateDO = BeanUtils.toBean(importPlate, PlateDO.class).setOrganId(organId).setId(existPlate.getId());
PlateDO plateDO = BeanUtils.toBean(importPlate, PlateDO.class).setOrganId(organId).setId(existPlate.getId()).setTexture(Boolean.valueOf(importPlate.getTexture()));
updateList.add(plateDO);
}
});