mirror of
http://192.168.1.205:9980/cf_devdept2/cf_imes_server.git
synced 2026-08-12 21:02:08 +08:00
板材、配件修改
This commit is contained in:
+5
-5
@@ -24,8 +24,8 @@ public class ErrorCodeConstants {
|
|||||||
|
|
||||||
// ========== 生产单 TODO 补充编号 ==========
|
// ========== 生产单 TODO 补充编号 ==========
|
||||||
public static final ErrorCode ORDER_NOT_EXISTS = new ErrorCode(1_001_109_000, "生产单不存在");
|
public static final ErrorCode ORDER_NOT_EXISTS = new ErrorCode(1_001_109_000, "生产单不存在");
|
||||||
public static final ErrorCode ORDER_NOT_CANCEL = new ErrorCode(1_001_109_000, "生产单以进入生产状态,无法作废");
|
public static final ErrorCode ORDER_NOT_CANCEL = new ErrorCode(1_001_109_001, "生产单以进入生产状态,无法作废");
|
||||||
public static final ErrorCode ORDER_PLAN_ERROR = new ErrorCode(1_001_109_001, "选中删除对象有已开料板件,请联系管理员修改开料状态后再删除!");
|
// public static final ErrorCode ORDER_PLAN_ERROR = new ErrorCode(1_001_109_001, "选中删除对象有已开料板件,请联系管理员修改开料状态后再删除!");
|
||||||
public static final ErrorCode PLATE_IS_PLAN = new ErrorCode(1_001_109_002, "删除对象中有已排单板件,请将该对象从排单中移除后再选择删除!");
|
public static final ErrorCode PLATE_IS_PLAN = new ErrorCode(1_001_109_002, "删除对象中有已排单板件,请将该对象从排单中移除后再选择删除!");
|
||||||
public static final ErrorCode ORDER_ERROR = new ErrorCode(1_001_109_003, "当前生产单柜体,房间已全部删除!");
|
public static final ErrorCode ORDER_ERROR = new ErrorCode(1_001_109_003, "当前生产单柜体,房间已全部删除!");
|
||||||
|
|
||||||
@@ -41,7 +41,7 @@ public class ErrorCodeConstants {
|
|||||||
// ========== 生产单 TODO 补充编号 ==========
|
// ========== 生产单 TODO 补充编号 ==========
|
||||||
public static final ErrorCode PHONE_NOT_LAWFUL = new ErrorCode(1_001_116_000, "手机号不合法");
|
public static final ErrorCode PHONE_NOT_LAWFUL = new ErrorCode(1_001_116_000, "手机号不合法");
|
||||||
public static final ErrorCode CUSTOM_ORDER_EXISTS = new ErrorCode(1_001_117_000, "自定义生产单号存在");
|
public static final ErrorCode CUSTOM_ORDER_EXISTS = new ErrorCode(1_001_117_000, "自定义生产单号存在");
|
||||||
public static final ErrorCode ORDER_EXISTS = new ErrorCode(1_001_117_000, "api导入生产单已存在");
|
// public static final ErrorCode ORDER_EXISTS = new ErrorCode(1_001_117_000, "api导入生产单已存在");
|
||||||
public static final ErrorCode ORDER_PROCESS_NOT_EXISTS = new ErrorCode(1_001_119_001, "工序组不存在");
|
public static final ErrorCode ORDER_PROCESS_NOT_EXISTS = new ErrorCode(1_001_119_001, "工序组不存在");
|
||||||
public static final ErrorCode ORDER_PROCESS_EXISTS = new ErrorCode(1_001_119_002, "该生产单工序组已经存在");
|
public static final ErrorCode ORDER_PROCESS_EXISTS = new ErrorCode(1_001_119_002, "该生产单工序组已经存在");
|
||||||
public static final ErrorCode PROCESS_GROUP_NOT_EXISTS = new ErrorCode(1_002_029_003, "工序组不存在");
|
public static final ErrorCode PROCESS_GROUP_NOT_EXISTS = new ErrorCode(1_002_029_003, "工序组不存在");
|
||||||
@@ -51,8 +51,8 @@ public class ErrorCodeConstants {
|
|||||||
public static final ErrorCode ORDER_NOT_FOUND = new ErrorCode(1_002_029_006, "生产单不存在");
|
public static final ErrorCode ORDER_NOT_FOUND = new ErrorCode(1_002_029_006, "生产单不存在");
|
||||||
public static final ErrorCode PLATE_PLAN_DATA_ERROR = new ErrorCode(1_002_029_008, "接口数据获取,板件明细源数据缺少,请确定接口数据正确");
|
public static final ErrorCode PLATE_PLAN_DATA_ERROR = new ErrorCode(1_002_029_008, "接口数据获取,板件明细源数据缺少,请确定接口数据正确");
|
||||||
public static final ErrorCode PLATE_GOOD_DATA_NULL = new ErrorCode(1_002_029_13, "接口数据获取,板材源数据缺少,请确定接口数据正确");
|
public static final ErrorCode PLATE_GOOD_DATA_NULL = new ErrorCode(1_002_029_13, "接口数据获取,板材源数据缺少,请确定接口数据正确");
|
||||||
public static final ErrorCode PARTS_DATA_ERROR = new ErrorCode(1_002_029_009, "配件数据获取错误");
|
// public static final ErrorCode PARTS_DATA_ERROR = new ErrorCode(1_002_029_009, "配件数据获取错误");
|
||||||
public static final ErrorCode BODY_DATA_ERROR = new ErrorCode(1_002_029_010, "柜体数据获取错误");
|
// public static final ErrorCode BODY_DATA_ERROR = new ErrorCode(1_002_029_010, "柜体数据获取错误");
|
||||||
public static final ErrorCode GOODS_DATA_ERROR = new ErrorCode(1_002_029_011, "存在小板情况下,缺少板材数据,请确认数据源是否完整");
|
public static final ErrorCode GOODS_DATA_ERROR = new ErrorCode(1_002_029_011, "存在小板情况下,缺少板材数据,请确认数据源是否完整");
|
||||||
public static final ErrorCode PLATE_DATA_ERROR = new ErrorCode(1_002_029_012, "小板获取为空");
|
public static final ErrorCode PLATE_DATA_ERROR = new ErrorCode(1_002_029_012, "小板获取为空");
|
||||||
public static final ErrorCode PLATE_PRODUCE_DATA_ERROR = new ErrorCode(1_002_029_012, "小板生产数据获取为空");
|
public static final ErrorCode PLATE_PRODUCE_DATA_ERROR = new ErrorCode(1_002_029_012, "小板生产数据获取为空");
|
||||||
|
|||||||
+1
-1
@@ -123,7 +123,7 @@ public class OrderController {
|
|||||||
@GetMapping("/get")
|
@GetMapping("/get")
|
||||||
@Operation(summary = "获得(单个)生产单")
|
@Operation(summary = "获得(单个)生产单")
|
||||||
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
||||||
@PreAuthorize("@ss.hasPermission('production:manager-list:detail')")
|
@PreAuthorize("@ss.hasPermission('productManager:List')")
|
||||||
public CommonResult<OrderRespVO> getOrder(@RequestParam("id") Long id) {
|
public CommonResult<OrderRespVO> getOrder(@RequestParam("id") Long id) {
|
||||||
return success(BeanUtils.toBean(orderService.getOrder(id), OrderRespVO.class));
|
return success(BeanUtils.toBean(orderService.getOrder(id), OrderRespVO.class));
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-2
@@ -6,9 +6,11 @@ import com.cf.imes.framework.common.exception.ErrorCode;
|
|||||||
* @author there
|
* @author there
|
||||||
* 生产管理服务错误码枚举 使用1-004-000-000 段
|
* 生产管理服务错误码枚举 使用1-004-000-000 段
|
||||||
*/
|
*/
|
||||||
public interface ErrorCodeConstants {
|
public class ErrorCodeConstants {
|
||||||
|
|
||||||
public static final ErrorCode PARTS_NOT_EXISTS = new ErrorCode(1_004_001_000, "配件不存在");
|
public static final ErrorCode PARTS_NOT_EXISTS = new ErrorCode(1_004_001_000, "配件不存在");
|
||||||
public static final ErrorCode PARTS_GOOD_ID_EXISTS = new ErrorCode(1_004_001_001, "配件标识已存在");
|
public static final ErrorCode PARTS_GOOD_ID_EXISTS = new ErrorCode(1_004_001_001, "配件编号已存在");
|
||||||
|
public static final ErrorCode PARTS_UNIT_NOT_NULL = new ErrorCode(1_004_001_002, "配件-组件或五金或封边条,单位禁止为空");
|
||||||
|
public static final ErrorCode PARTS_EDGE_NOT_NULL = new ErrorCode(1_004_001_003, "配件-封边条颜色、宽厚禁止为空");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-1
@@ -12,7 +12,8 @@ public enum CategoryEnum implements ObjectEnum{
|
|||||||
|
|
||||||
ASSEMBLY("组件"),
|
ASSEMBLY("组件"),
|
||||||
HARDWARE("五金"),
|
HARDWARE("五金"),
|
||||||
EDGING("封边条");
|
EDGING("封边条"),
|
||||||
|
OTHER("其他");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 类别名称
|
* 类别名称
|
||||||
|
|||||||
+17
-17
@@ -18,35 +18,32 @@ import lombok.experimental.Accessors;
|
|||||||
@Accessors(chain = false) // 设置 chain = false,避免用户导入有问题
|
@Accessors(chain = false) // 设置 chain = false,避免用户导入有问题
|
||||||
public class PartsImportExcelVO {
|
public class PartsImportExcelVO {
|
||||||
|
|
||||||
@ExcelProperty("配件编号")
|
@ExcelProperty("物料编号")
|
||||||
private String goodsId;
|
private String goodsId;
|
||||||
|
|
||||||
@ExcelProperty("复合部件")
|
@ExcelProperty("分类")
|
||||||
private String isComposite;
|
|
||||||
|
|
||||||
@ExcelProperty("配件类型")
|
|
||||||
private String category;
|
private String category;
|
||||||
|
|
||||||
@ExcelProperty("配件子类")
|
@ExcelProperty("复合")
|
||||||
|
private String isComposite;
|
||||||
|
|
||||||
|
@ExcelProperty("子类")
|
||||||
private String type;
|
private String type;
|
||||||
|
|
||||||
@ExcelProperty("配件名称")
|
@ExcelProperty("物料名称")
|
||||||
private String name;
|
private String name;
|
||||||
|
|
||||||
@ExcelProperty("型号")
|
@ExcelProperty("型号")
|
||||||
private String model;
|
private String model;
|
||||||
|
|
||||||
@ExcelProperty("颜色")
|
@ExcelProperty("规格")
|
||||||
private String color;
|
private String spec;
|
||||||
|
|
||||||
@ExcelProperty("材质")
|
@ExcelProperty("材质")
|
||||||
private String material;
|
private String material;
|
||||||
|
|
||||||
@ExcelProperty("单位")
|
@ExcelProperty("颜色")
|
||||||
private String unit;
|
private String color;
|
||||||
|
|
||||||
@ExcelProperty("规格")
|
|
||||||
private String spec;
|
|
||||||
|
|
||||||
@ExcelProperty("品牌")
|
@ExcelProperty("品牌")
|
||||||
private String brand;
|
private String brand;
|
||||||
@@ -54,9 +51,6 @@ public class PartsImportExcelVO {
|
|||||||
@ExcelProperty("厂家")
|
@ExcelProperty("厂家")
|
||||||
private String factor;
|
private String factor;
|
||||||
|
|
||||||
@ExcelProperty("价格")// float(8,3)
|
|
||||||
private String price;
|
|
||||||
|
|
||||||
@ExcelProperty("长度")// float(8,3)
|
@ExcelProperty("长度")// float(8,3)
|
||||||
private String length;
|
private String length;
|
||||||
|
|
||||||
@@ -69,6 +63,12 @@ public class PartsImportExcelVO {
|
|||||||
@ExcelProperty("备注")
|
@ExcelProperty("备注")
|
||||||
private String remark;
|
private String remark;
|
||||||
|
|
||||||
|
@ExcelProperty("价格")// float(8,3)
|
||||||
|
private String price;
|
||||||
|
|
||||||
|
@ExcelProperty("单位")
|
||||||
|
private String unit;
|
||||||
|
|
||||||
@ExcelProperty("上传结果")
|
@ExcelProperty("上传结果")
|
||||||
private String result;
|
private String result;
|
||||||
|
|
||||||
|
|||||||
+1
@@ -20,6 +20,7 @@ public class PartsRespVO {
|
|||||||
|
|
||||||
@Schema(description = "配件 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11238")
|
@Schema(description = "配件 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11238")
|
||||||
@ExcelProperty("配件ID")
|
@ExcelProperty("配件ID")
|
||||||
|
@ExcelIgnore
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
@Schema(description = "设计端商品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "26589")
|
@Schema(description = "设计端商品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "26589")
|
||||||
|
|||||||
+5
-5
@@ -26,11 +26,11 @@ public class PartsSaveReqVO {
|
|||||||
|
|
||||||
@Schema(description = "颜色", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "颜色", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@Size(max = 32, message = "颜色长度不能超过32个字符")
|
@Size(max = 32, message = "颜色长度不能超过32个字符")
|
||||||
@NotEmpty(message = "颜色不能为空")
|
// @NotEmpty(message = "颜色不能为空")
|
||||||
private String color;
|
private String color;
|
||||||
|
|
||||||
@Schema(description = "材质:颗粒板、欧松板、多层板、生态板、禾香板、密度板、实木、铝蜂窝板、铝塑板", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "材质:颗粒板、欧松板、多层板、生态板、禾香板、密度板、实木、铝蜂窝板、铝塑板", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@NotEmpty(message = "材质:颗粒板、欧松板、多层板、生态板、禾香板、密度板、实木、铝蜂窝板、铝塑板不能为空")
|
// @NotEmpty(message = "材质:颗粒板、欧松板、多层板、生态板、禾香板、密度板、实木、铝蜂窝板、铝塑板不能为空")
|
||||||
@Size(max = 64, message = "材质长度不能超过64个字符")
|
@Size(max = 64, message = "材质长度不能超过64个字符")
|
||||||
private String material;
|
private String material;
|
||||||
|
|
||||||
@@ -45,7 +45,7 @@ public class PartsSaveReqVO {
|
|||||||
private String type;
|
private String type;
|
||||||
|
|
||||||
@Schema(description = "型号", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "型号", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@NotEmpty(message = "型号不能为空")
|
// @NotEmpty(message = "型号不能为空")
|
||||||
@Size(max = 64, message = "型号长度不能超过64个字符")
|
@Size(max = 64, message = "型号长度不能超过64个字符")
|
||||||
private String model;
|
private String model;
|
||||||
|
|
||||||
@@ -78,12 +78,12 @@ public class PartsSaveReqVO {
|
|||||||
private String factory;
|
private String factory;
|
||||||
|
|
||||||
@Schema(description = "单位", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "单位", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@NotEmpty(message = "单位不能为空")
|
// @NotEmpty(message = "单位不能为空")
|
||||||
@Size(max = 32, message = "单位长度不能超过32个字符")
|
@Size(max = 32, message = "单位长度不能超过32个字符")
|
||||||
private String unit;
|
private String unit;
|
||||||
|
|
||||||
@Schema(description = "是否复合部件:0 否 1 是", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "是否复合部件:0 否 1 是", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@NotNull(message = "是否复合部件不能为空")
|
// @NotNull(message = "是否复合部件不能为空")
|
||||||
private Boolean isComposite;
|
private Boolean isComposite;
|
||||||
|
|
||||||
@Schema(description = "子配件ID列表,复合部件时记录子配件ID,半角逗号分隔", requiredMode = Schema.RequiredMode.REQUIRED, example = "你说的对")
|
@Schema(description = "子配件ID列表,复合部件时记录子配件ID,半角逗号分隔", requiredMode = Schema.RequiredMode.REQUIRED, example = "你说的对")
|
||||||
|
|||||||
+13
-5
@@ -32,6 +32,7 @@ import org.springframework.web.multipart.MultipartFile;
|
|||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
|
import javax.validation.constraints.NotEmpty;
|
||||||
|
|
||||||
@Tag(name = "管理后台 - 板材库管理")
|
@Tag(name = "管理后台 - 板材库管理")
|
||||||
@RestController
|
@RestController
|
||||||
@@ -113,21 +114,28 @@ public class PlateController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@GetMapping("/get-import-template")
|
@GetMapping("/get-import-template")
|
||||||
@Operation(summary = "获得导入用户模板")
|
@Operation(summary = "获得导入板材模板")
|
||||||
// @PreAuthorize("@ss.hasPermission('manage:plate:export')")
|
// @PreAuthorize("@ss.hasPermission('manage:plate:export')")
|
||||||
@PreAuthorize("@ss.hasAnyPermissions('manage:plate:export','base:plate:export')")
|
@PreAuthorize("@ss.hasAnyPermissions('manage:plate:export','base:plate:export')")
|
||||||
public void importTemplate(HttpServletResponse response) throws IOException {
|
public void importTemplate(HttpServletResponse response) throws IOException {
|
||||||
// 手动创建导出 demo
|
// 手动创建导出 demo
|
||||||
List<PlateImportExcelVO> list = Arrays.asList(
|
List<PlateImportExcelVO> list = Arrays.asList(
|
||||||
PlateImportExcelVO.builder().goodsId("SP1123456").goodsName("5mm-多层板-高级灰").material("多层板").width(String.valueOf(1220)).height(String.valueOf(2440))
|
PlateImportExcelVO.builder().goodsId("BD10010001").goodsName("18mm-多层板-暖白").material("多层板").width(String.valueOf(1220)).height(String.valueOf(2440))
|
||||||
.thickness(String.valueOf(5)).brand("AAA").spec("2440*1220*5").remark("板材样本").color("高级灰").price("120").texture("无").build(),
|
.thickness(String.valueOf(18)).brand("AAA").spec("2440*1220*18").color("暖白").price("120").texture("无").build(),
|
||||||
PlateImportExcelVO.builder().goodsId("SP1123457").goodsName("白玉木兰-欧松板").material("欧松板").width(String.valueOf(1220)).height(String.valueOf(2750))
|
PlateImportExcelVO.builder().goodsId("BD10010002").goodsName("18mm-颗粒板-高级灰").material("多层板").width(String.valueOf(1220)).height(String.valueOf(2750))
|
||||||
.thickness(String.valueOf(18)).brand("鸿达树").spec("2750*1220*18").remark("测试").color("白玉木兰").price("120").texture("无").build()
|
.thickness(String.valueOf(18)).brand("鸿达树").spec("2750*1220*18").color("高级灰").price("120").texture("无").build()
|
||||||
);
|
);
|
||||||
// 输出
|
// 输出
|
||||||
ExcelUtils.write(response, IMPORT_TEMPLATE, "板材列表", PlateImportExcelVO.class, list);
|
ExcelUtils.write(response, IMPORT_TEMPLATE, "板材列表", PlateImportExcelVO.class, list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// @GetMapping("/get-import-template")
|
||||||
|
// @Operation(summary = "获得导入板材模板")
|
||||||
|
// @Parameter(name = "value", description = "文件类型", required = true, example = "0")
|
||||||
|
// public void importTemplate(HttpServletResponse response, @RequestParam("value") @NotEmpty(message = "文件路径不能为空") String value) {
|
||||||
|
// plateService.exportTemplate(response, value);
|
||||||
|
// }
|
||||||
|
|
||||||
@PostMapping("/import")
|
@PostMapping("/import")
|
||||||
@Operation(summary = "导入板材")
|
@Operation(summary = "导入板材")
|
||||||
@Parameters({
|
@Parameters({
|
||||||
|
|||||||
+27
-19
@@ -1,6 +1,10 @@
|
|||||||
package com.cf.imes.module.manage.controller.admin.plate.vo.plate;
|
package com.cf.imes.module.manage.controller.admin.plate.vo.plate;
|
||||||
|
|
||||||
import com.alibaba.excel.annotation.ExcelProperty;
|
import com.alibaba.excel.annotation.ExcelProperty;
|
||||||
|
import com.alibaba.excel.annotation.write.style.ColumnWidth;
|
||||||
|
import com.cf.imes.framework.excel.core.annotations.DictFormat;
|
||||||
|
import com.cf.imes.framework.excel.core.convert.DictConvert;
|
||||||
|
import com.cf.imes.module.manage.enums.DictTypeConstants;
|
||||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
@@ -20,45 +24,41 @@ import javax.validation.constraints.NotEmpty;
|
|||||||
@Accessors(chain = false) // 设置 chain = false,避免用户导入有问题
|
@Accessors(chain = false) // 设置 chain = false,避免用户导入有问题
|
||||||
public class PlateImportExcelVO {
|
public class PlateImportExcelVO {
|
||||||
|
|
||||||
@ExcelProperty("商品编号")
|
@ExcelProperty("*物料编号")
|
||||||
@NotEmpty(message = "商品编号不能为空")
|
@NotEmpty(message = "物料编号不能为空")
|
||||||
private String goodsId;
|
private String goodsId;
|
||||||
|
|
||||||
@ExcelProperty("商品名称")
|
@ExcelProperty("*物料名称")
|
||||||
@NotEmpty(message = "商品名称不能为空")
|
@NotEmpty(message = "物料名称不能为空")
|
||||||
private String goodsName;
|
private String goodsName;
|
||||||
|
|
||||||
@ExcelProperty("材质")
|
@ExcelProperty("*材质")
|
||||||
@NotEmpty(message = "材质不能为空")
|
@NotEmpty(message = "材质不能为空")
|
||||||
private String material;
|
private String material;
|
||||||
|
|
||||||
@ExcelProperty("颜色")
|
@ExcelProperty("*颜色")
|
||||||
@NotEmpty(message = "颜色不能为空")
|
@NotEmpty(message = "颜色不能为空")
|
||||||
private String color;
|
private String color;
|
||||||
|
|
||||||
@ExcelProperty("纹理")
|
@ExcelProperty(value = "*纹理")
|
||||||
|
@ColumnWidth(10)
|
||||||
private String texture;
|
private String texture;
|
||||||
|
|
||||||
@ExcelProperty("宽度")
|
@ExcelProperty("*宽度")
|
||||||
|
@ColumnWidth(10)
|
||||||
@NotEmpty(message = "宽度不能为空")
|
@NotEmpty(message = "宽度不能为空")
|
||||||
private String width;
|
private String width;
|
||||||
|
|
||||||
@ExcelProperty("高度")// float(8,3)
|
@ExcelProperty("*高度")// float(8,3)
|
||||||
|
@ColumnWidth(10)
|
||||||
@NotEmpty(message = "高度不能为空")
|
@NotEmpty(message = "高度不能为空")
|
||||||
private String height;
|
private String height;
|
||||||
|
|
||||||
@ExcelProperty("厚度")
|
@ExcelProperty("*厚度")
|
||||||
|
@ColumnWidth(10)
|
||||||
@NotEmpty(message = "厚度不能为空")
|
@NotEmpty(message = "厚度不能为空")
|
||||||
private String thickness;
|
private String thickness;
|
||||||
|
|
||||||
@ExcelProperty("价格")
|
|
||||||
@NotEmpty(message = "价格不能为空")
|
|
||||||
private String price;
|
|
||||||
|
|
||||||
@ExcelProperty("品牌")
|
|
||||||
@NotEmpty(message = "品牌不能为空")
|
|
||||||
private String brand;
|
|
||||||
|
|
||||||
@ExcelProperty("规格")
|
@ExcelProperty("规格")
|
||||||
@NotEmpty(message = "规格不能为空")
|
@NotEmpty(message = "规格不能为空")
|
||||||
private String spec;
|
private String spec;
|
||||||
@@ -66,13 +66,21 @@ public class PlateImportExcelVO {
|
|||||||
@ExcelProperty("备注")
|
@ExcelProperty("备注")
|
||||||
private String remark;
|
private String remark;
|
||||||
|
|
||||||
|
@ExcelProperty("品牌")
|
||||||
|
@NotEmpty(message = "品牌不能为空")
|
||||||
|
private String brand;
|
||||||
|
|
||||||
|
@ExcelProperty("价格")
|
||||||
|
@NotEmpty(message = "价格不能为空")
|
||||||
|
private String price;
|
||||||
|
|
||||||
@ExcelProperty("上传结果")
|
@ExcelProperty("上传结果")
|
||||||
private String result;
|
private String result;
|
||||||
|
|
||||||
public boolean isValidGoods() {
|
public boolean isValidGoods() {
|
||||||
return !(goodsId == null || goodsId.isEmpty() || goodsName == null || goodsName.isEmpty() || material == null ||
|
return !(goodsId == null || goodsId.isEmpty() || goodsName == null || goodsName.isEmpty() || material == null ||
|
||||||
material.isEmpty() || color == null || color.isEmpty() || width == null ||width.isEmpty() || height == null ||
|
material.isEmpty() || color == null || color.isEmpty() || width == null ||width.isEmpty() || height == null ||
|
||||||
height.isEmpty() || height == null ||thickness.isEmpty() || brand == null || brand.isEmpty() || spec == null || spec.isEmpty());
|
height.isEmpty() || height == null ||thickness.isEmpty() );
|
||||||
}
|
}
|
||||||
|
|
||||||
// 数据长度判断
|
// 数据长度判断
|
||||||
|
|||||||
+1
-1
@@ -34,7 +34,7 @@ public class PlateRespVO {
|
|||||||
@ExcelProperty("颜色")
|
@ExcelProperty("颜色")
|
||||||
private String color;
|
private String color;
|
||||||
|
|
||||||
@Schema(description = "纹理", example = "true")
|
@Schema(description = "纹理", example = "有")
|
||||||
@ExcelProperty(value = "纹理", converter = DictConvert.class)
|
@ExcelProperty(value = "纹理", converter = DictConvert.class)
|
||||||
@DictFormat(DictTypeConstants.PLATE_TEXTURE)
|
@DictFormat(DictTypeConstants.PLATE_TEXTURE)
|
||||||
private Boolean texture;
|
private Boolean texture;
|
||||||
|
|||||||
+2
@@ -36,6 +36,7 @@ public class PlateSaveReqVO {
|
|||||||
private String color;
|
private String color;
|
||||||
|
|
||||||
@Schema(description = "纹理", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "纹理", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
|
@NotNull(message = "纹理不能为空")
|
||||||
private Boolean texture;
|
private Boolean texture;
|
||||||
|
|
||||||
@Schema(description = "宽度", requiredMode = Schema.RequiredMode.REQUIRED)
|
@Schema(description = "宽度", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||||
@@ -54,6 +55,7 @@ public class PlateSaveReqVO {
|
|||||||
private Double thickness;
|
private Double thickness;
|
||||||
|
|
||||||
@Schema(description = "价格", example = "3380")
|
@Schema(description = "价格", example = "3380")
|
||||||
|
@NumberValid(name = "价格")
|
||||||
private Double price;
|
private Double price;
|
||||||
|
|
||||||
@Schema(description = "品牌")
|
@Schema(description = "品牌")
|
||||||
|
|||||||
+39
-15
@@ -67,6 +67,14 @@ public final class PartsExcelListener extends ExcelListener<PartsImportExcelVO>
|
|||||||
setter.accept(msg + "不可为空");
|
setter.accept(msg + "不可为空");
|
||||||
this.flag = false;
|
this.flag = false;
|
||||||
} else {
|
} else {
|
||||||
|
isNotEmptyToEnum(getter, setter, msg, enumClass);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 不为空,判断枚举值是否正确
|
||||||
|
private <T extends Enum<T> & ObjectEnum> void isNotEmptyToEnum(Supplier<String> getter, Consumer<String> setter, String msg, Class<T> enumClass) {
|
||||||
|
String value = getter.get();
|
||||||
|
if (!StringUtils.isEmpty(value)) {
|
||||||
boolean isValid = false;
|
boolean isValid = false;
|
||||||
for (T enumValue : enumClass.getEnumConstants()) {
|
for (T enumValue : enumClass.getEnumConstants()) {
|
||||||
if (Objects.equals(enumValue.getValue(), value)) {
|
if (Objects.equals(enumValue.getValue(), value)) {
|
||||||
@@ -139,16 +147,32 @@ public final class PartsExcelListener extends ExcelListener<PartsImportExcelVO>
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void invoke(PartsImportExcelVO data, AnalysisContext context) {
|
public void invoke(PartsImportExcelVO data, AnalysisContext context) {
|
||||||
isEmptyAndAdd(data::getGoodsId, data::setResult, setResult(data.getResult(), "编号"), 32);
|
|
||||||
isEmptyAndEnumAdd(data::getIsComposite, data::setResult, setResult(data.getResult(), "是否复合部件"), WhetherEnum.class);
|
// 一,必须存在且合理
|
||||||
isEmptyAndEnumAdd(data::getCategory, data::setResult, setResult(data.getResult(), "类型"), CategoryEnum.class);
|
isEmptyAndAdd(data::getGoodsId, data::setResult, setResult(data.getResult(), "物料编号"), 32);
|
||||||
isNotEmptyAndAdd(data::getCategory, data::setResult, setResult(data.getResult(), "类型"),32);
|
isEmptyAndAdd(data::getName, data::setResult, setResult(data.getResult(), "物料名称"), 64);
|
||||||
|
isEmptyAndEnumAdd(data::getCategory, data::setResult, setResult(data.getResult(), "分类"), CategoryEnum.class);
|
||||||
|
isNotEmptyAndAdd(data::getCategory, data::setResult, setResult(data.getResult(), "分类"),32);
|
||||||
|
|
||||||
|
// 二,分类,必须存在
|
||||||
|
if (data.getCategory() != null ) {
|
||||||
|
if (!CategoryEnum.OTHER.getValue().equals(data.getCategory())) { // 不为其他
|
||||||
|
isEmpty(data::getUnit, data::setResult, setResult(data.getResult(), "单位"));
|
||||||
|
if (CategoryEnum.EDGING.getValue().equals(data.getCategory())) { // 为封边
|
||||||
|
isEmpty(data::getColor, data::setResult, setResult(data.getResult(), "颜色"));
|
||||||
|
isEmpty(data::getWidth, data::setResult, setResult(data.getResult(), "宽度"));
|
||||||
|
isEmpty(data::getThickness, data::setResult, setResult(data.getResult(), "厚度"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 三,存在则判断是否符合
|
||||||
|
isNotEmptyToEnum(data::getIsComposite, data::setResult, setResult(data.getResult(), "是否复合部件"), WhetherEnum.class);
|
||||||
isNotEmptyAndAdd(data::getType, data::setResult, setResult(data.getResult(), "子类型"), 64);
|
isNotEmptyAndAdd(data::getType, data::setResult, setResult(data.getResult(), "子类型"), 64);
|
||||||
isEmptyAndAdd(data::getName, data::setResult, setResult(data.getResult(), "名称"), 64);
|
isNotEmptyAndAdd(data::getModel, data::setResult, setResult(data.getResult(), "型号"), 64);
|
||||||
isEmptyAndAdd(data::getModel, data::setResult, setResult(data.getResult(), "型号"), 64);
|
isNotEmptyAndAdd(data::getColor, data::setResult, setResult(data.getResult(), "颜色"), 64);
|
||||||
isEmptyAndAdd(data::getColor, data::setResult, setResult(data.getResult(), "颜色"), 64);
|
isNotEmptyAndAdd(data::getMaterial, data::setResult, setResult(data.getResult(), "材质"), 64);
|
||||||
isEmptyAndAdd(data::getMaterial, data::setResult, setResult(data.getResult(), "材质"), 64);
|
isNotEmptyAndAdd(data::getUnit, data::setResult, setResult(data.getResult(), "单位"), 32);
|
||||||
isEmptyAndAdd(data::getUnit, data::setResult, setResult(data.getResult(), "单位"), 32);
|
|
||||||
isNotEmptyAndAdd(data::getSpec, data::setResult, setResult(data.getResult(), "规格"), 64);
|
isNotEmptyAndAdd(data::getSpec, data::setResult, setResult(data.getResult(), "规格"), 64);
|
||||||
isNotEmptyAndAdd(data::getBrand, data::setResult, setResult(data.getResult(), "品牌"), 64);
|
isNotEmptyAndAdd(data::getBrand, data::setResult, setResult(data.getResult(), "品牌"), 64);
|
||||||
isNotEmptyAndAdd(data::getFactor, data::setResult, setResult(data.getResult(), "厂家"), 128);
|
isNotEmptyAndAdd(data::getFactor, data::setResult, setResult(data.getResult(), "厂家"), 128);
|
||||||
@@ -158,12 +182,12 @@ public final class PartsExcelListener extends ExcelListener<PartsImportExcelVO>
|
|||||||
isNotEmptyAndAdd(data::getRemark, data::setResult, setResult(data.getResult(), "备注"), 255);
|
isNotEmptyAndAdd(data::getRemark, data::setResult, setResult(data.getResult(), "备注"), 255);
|
||||||
|
|
||||||
// 当为封边的时候,一定需要
|
// 当为封边的时候,一定需要
|
||||||
if (StringUtils.isNotEmpty(data.getCategory())) {
|
// if (StringUtils.isNotEmpty(data.getCategory())) {
|
||||||
if (data.getCategory().equals(CategoryEnum.EDGING.getValue())) {
|
// if (data.getCategory().equals(CategoryEnum.EDGING.getValue())) {
|
||||||
isEmpty(data::getThickness, data::setResult, setResult(data.getResult(), "厚度"));
|
// isEmpty(data::getThickness, data::setResult, setResult(data.getResult(), "厚度"));
|
||||||
isEmpty(data::getWidth, data::setResult, setResult(data.getResult(), "宽度"));
|
// isEmpty(data::getWidth, data::setResult, setResult(data.getResult(), "宽度"));
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
if (data.getResult() != null)
|
if (data.getResult() != null)
|
||||||
data.setResult(data.getResult().replace("null,", ""));
|
data.setResult(data.getResult().replace("null,", ""));
|
||||||
|
|||||||
+27
-6
@@ -6,6 +6,7 @@ import com.cf.imes.framework.organ.core.context.OrganContextHolder;
|
|||||||
import com.cf.imes.module.manage.controller.admin.parts.vo.PartsImportExcelVO;
|
import com.cf.imes.module.manage.controller.admin.parts.vo.PartsImportExcelVO;
|
||||||
import com.cf.imes.module.manage.controller.admin.parts.vo.PartsPageReqVO;
|
import com.cf.imes.module.manage.controller.admin.parts.vo.PartsPageReqVO;
|
||||||
import com.cf.imes.module.manage.controller.admin.parts.vo.PartsSaveReqVO;
|
import com.cf.imes.module.manage.controller.admin.parts.vo.PartsSaveReqVO;
|
||||||
|
import com.cf.imes.module.manage.enums.parts.CategoryEnum;
|
||||||
import com.cf.imes.module.manage.util.file.FileHelperUtil;
|
import com.cf.imes.module.manage.util.file.FileHelperUtil;
|
||||||
import com.cf.imes.module.manage.dal.dataobject.parts.PartsDO;
|
import com.cf.imes.module.manage.dal.dataobject.parts.PartsDO;
|
||||||
import com.cf.imes.module.manage.dal.mysql.parts.PartsMapper;
|
import com.cf.imes.module.manage.dal.mysql.parts.PartsMapper;
|
||||||
@@ -29,8 +30,7 @@ import java.util.List;
|
|||||||
|
|
||||||
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
|
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||||
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getLoginUser;
|
import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getLoginUser;
|
||||||
import static com.cf.imes.module.manage.enums.ErrorCodeConstants.PARTS_GOOD_ID_EXISTS;
|
import static com.cf.imes.module.manage.enums.ErrorCodeConstants.*;
|
||||||
import static com.cf.imes.module.manage.enums.ErrorCodeConstants.PARTS_NOT_EXISTS;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -65,9 +65,11 @@ public class PartsServiceImpl implements PartsService {
|
|||||||
@OrganIgnore
|
@OrganIgnore
|
||||||
public Long create(PartsSaveReqVO createReqVO) {
|
public Long create(PartsSaveReqVO createReqVO) {
|
||||||
|
|
||||||
|
validateFieldExists(createReqVO);
|
||||||
|
|
||||||
PartsDO partsDO = BeanUtils.toBean(createReqVO, PartsDO.class);
|
PartsDO partsDO = BeanUtils.toBean(createReqVO, PartsDO.class);
|
||||||
Long organId = getOrganId(BASE_PARTS_CREATE_PERMISSION, getLoginUser().getId(), partsDO.getOrganId());
|
Long organId = getOrganId(BASE_PARTS_CREATE_PERMISSION, getLoginUser().getId(), partsDO.getOrganId());
|
||||||
partsDO.setOrganId(organId).setIsComposite(false);
|
partsDO.setOrganId(organId).setIsComposite(createReqVO.getIsComposite() != null && createReqVO.getIsComposite());
|
||||||
// 判断是否存在--- goodsId
|
// 判断是否存在--- goodsId
|
||||||
if (validateExistsByGoodsId(partsDO.getGoodsId(), organId)) {
|
if (validateExistsByGoodsId(partsDO.getGoodsId(), organId)) {
|
||||||
throw exception(PARTS_GOOD_ID_EXISTS);
|
throw exception(PARTS_GOOD_ID_EXISTS);
|
||||||
@@ -82,6 +84,9 @@ public class PartsServiceImpl implements PartsService {
|
|||||||
@OrganIgnore
|
@OrganIgnore
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void update(PartsSaveReqVO updateReqVO) {
|
public void update(PartsSaveReqVO updateReqVO) {
|
||||||
|
|
||||||
|
validateFieldExists(updateReqVO);
|
||||||
|
|
||||||
Long organId = getOrganId(BASE_PARTS_UPDATE_PERMISSION, getLoginUser().getId(), updateReqVO.getOrganId());
|
Long organId = getOrganId(BASE_PARTS_UPDATE_PERMISSION, getLoginUser().getId(), updateReqVO.getOrganId());
|
||||||
// 校验id存在
|
// 校验id存在
|
||||||
boolean index = validateExistsById(updateReqVO.getId(),organId);
|
boolean index = validateExistsById(updateReqVO.getId(),organId);
|
||||||
@@ -95,7 +100,7 @@ public class PartsServiceImpl implements PartsService {
|
|||||||
throw exception(PARTS_GOOD_ID_EXISTS);
|
throw exception(PARTS_GOOD_ID_EXISTS);
|
||||||
}
|
}
|
||||||
// 更新
|
// 更新
|
||||||
updateReqVO.setOrganId(organId);
|
updateReqVO.setOrganId(organId).setIsComposite(updateReqVO.getIsComposite() != null && updateReqVO.getIsComposite());
|
||||||
PartsDO updateObj = BeanUtils.toBean(updateReqVO, PartsDO.class);
|
PartsDO updateObj = BeanUtils.toBean(updateReqVO, PartsDO.class);
|
||||||
partsMapper.updateById(updateObj);
|
partsMapper.updateById(updateObj);
|
||||||
}
|
}
|
||||||
@@ -186,10 +191,10 @@ public class PartsServiceImpl implements PartsService {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
// 批量插入,批量更新
|
// 批量插入,批量更新
|
||||||
if (insertList.size() > 0) {
|
if (!insertList.isEmpty()) {
|
||||||
partsMapper.insertBatch(insertList);
|
partsMapper.insertBatch(insertList);
|
||||||
}
|
}
|
||||||
if (updateList.size() > 0) {
|
if (!updateList.isEmpty()) {
|
||||||
partsMapper.updateBatch(updateList);
|
partsMapper.updateBatch(updateList);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -218,4 +223,20 @@ public class PartsServiceImpl implements PartsService {
|
|||||||
return organIdDefault;
|
return organIdDefault;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 必填字段判断
|
||||||
|
private void validateFieldExists(PartsSaveReqVO partsSaveReqVO) {
|
||||||
|
if (!CategoryEnum.OTHER.getValue().equals(partsSaveReqVO.getCategory())) { // 不为其他
|
||||||
|
if (partsSaveReqVO.getUnit() == null) {
|
||||||
|
throw exception(PARTS_UNIT_NOT_NULL);
|
||||||
|
}
|
||||||
|
if (CategoryEnum.EDGING.getValue().equals(partsSaveReqVO.getCategory())) { // 为封边
|
||||||
|
if (partsSaveReqVO.getColor() == null || partsSaveReqVO.getWidth() == null || partsSaveReqVO.getThickness() == null) {
|
||||||
|
throw exception(PARTS_EDGE_NOT_NULL);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
+5
-4
@@ -66,18 +66,19 @@ public final class PlateExcelListener<T> extends AnalysisEventListener<PlateImpo
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void checkTexture(String valueCheck, String head, PlateImportExcelVO data) {
|
private void checkTexture(String valueCheck, String head, PlateImportExcelVO data) {
|
||||||
String value = valueCheck.trim();
|
|
||||||
if (value.equals("")) {
|
if (valueCheck == null || valueCheck.equals("")) {
|
||||||
this.flag = false;
|
this.flag = false;
|
||||||
data.setResult(data.getResult() + "," + head + "信息缺少");
|
data.setResult(data.getResult() + "," + head + "信息缺少");
|
||||||
} else {
|
} else {
|
||||||
|
String value = valueCheck.trim();
|
||||||
if (!value.equals("有") && !value.equals("无")) {
|
if (!value.equals("有") && !value.equals("无")) {
|
||||||
this.flag = false;
|
this.flag = false;
|
||||||
data.setResult(data.getResult() + "," + head + "信息有误");
|
data.setResult(data.getResult() + "," + head + "信息有误");
|
||||||
} else if (value.equals("有")) {
|
} else if (value.equals("有")) {
|
||||||
data.setTexture("true");
|
data.setTexture("有");
|
||||||
} else {
|
} else {
|
||||||
data.setTexture("false");
|
data.setTexture("无");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+17
-2
@@ -1,5 +1,6 @@
|
|||||||
package com.cf.imes.module.manage.service.plate;
|
package com.cf.imes.module.manage.service.plate;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
import com.cf.imes.module.manage.controller.admin.plate.vo.plate.PlateImportExcelVO;
|
import com.cf.imes.module.manage.controller.admin.plate.vo.plate.PlateImportExcelVO;
|
||||||
@@ -8,7 +9,9 @@ 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.manage.controller.admin.plate.vo.plate.PlateSaveReqVO;
|
||||||
import com.cf.imes.module.manage.dal.dataobject.plate.PlateDO;
|
import com.cf.imes.module.manage.dal.dataobject.plate.PlateDO;
|
||||||
import com.cf.imes.framework.common.pojo.PageResult;
|
import com.cf.imes.framework.common.pojo.PageResult;
|
||||||
|
import org.springframework.boot.system.ApplicationHome;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -65,12 +68,24 @@ public interface PlateService {
|
|||||||
PageResult<PlateDO> getPlatePage(PlatePageReqVO pageReqVO);
|
PageResult<PlateDO> getPlatePage(PlatePageReqVO pageReqVO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量导入用户
|
* 批量导入板材
|
||||||
*
|
*
|
||||||
* @param importUsers 导入用户列表
|
* @param importUsers 导入板材列表
|
||||||
* @param isUpdateSupport 是否支持更新
|
* @param isUpdateSupport 是否支持更新
|
||||||
* @return 导入结果
|
* @return 导入结果
|
||||||
*/
|
*/
|
||||||
PlateImportRespVO importPlateList(List<PlateImportExcelVO> importUsers, boolean isUpdateSupport , Long organId);
|
PlateImportRespVO importPlateList(List<PlateImportExcelVO> importUsers, boolean isUpdateSupport , Long organId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生产导入文件模板下载
|
||||||
|
*/
|
||||||
|
void exportTemplate(HttpServletResponse response, String value);
|
||||||
|
|
||||||
|
default String getSavePath() {
|
||||||
|
ApplicationHome applicationHome = new ApplicationHome(this.getClass());
|
||||||
|
|
||||||
|
// 保存目录位置根据项目需求可随意更改
|
||||||
|
return applicationHome.getDir().getAbsolutePath() + File.separator + "type";
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
+12
-3
@@ -11,6 +11,7 @@ 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.manage.controller.admin.plate.vo.plate.PlateSaveReqVO;
|
||||||
import com.cf.imes.module.manage.dal.dataobject.plate.PlateDO;
|
import com.cf.imes.module.manage.dal.dataobject.plate.PlateDO;
|
||||||
import com.cf.imes.module.manage.dal.mysql.plate.PlateMapper;
|
import com.cf.imes.module.manage.dal.mysql.plate.PlateMapper;
|
||||||
|
import com.cf.imes.module.manage.util.file.FileHelperUtil;
|
||||||
import com.cf.imes.module.system.api.organ.OrganApi;
|
import com.cf.imes.module.system.api.organ.OrganApi;
|
||||||
import com.cf.imes.module.system.api.permission.PermissionApi;
|
import com.cf.imes.module.system.api.permission.PermissionApi;
|
||||||
import com.cf.imes.module.system.enums.ErrorCodeConstants;
|
import com.cf.imes.module.system.enums.ErrorCodeConstants;
|
||||||
@@ -19,6 +20,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -71,11 +73,11 @@ public class PlateServiceImpl implements PlateService {
|
|||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void updatePlate(PlateSaveReqVO updateReqVO) {
|
public void updatePlate(PlateSaveReqVO updateReqVO) {
|
||||||
// 校验存在
|
// 校验存在
|
||||||
validatePlateExists(Long.valueOf(updateReqVO.getId()),
|
Long organId = getOrganId(BASE_PLATE_UPDATE_PERMISSION, getLoginUser().getId(), updateReqVO.getOrganId());
|
||||||
getOrganId(BASE_PLATE_UPDATE_PERMISSION, getLoginUser().getId(), updateReqVO.getOrganId()));
|
validatePlateExists(Long.valueOf(updateReqVO.getId()), organId);
|
||||||
PlateDO updateObj = BeanUtils.toBean(updateReqVO, PlateDO.class);
|
PlateDO updateObj = BeanUtils.toBean(updateReqVO, PlateDO.class);
|
||||||
// 校验板材goods_id是否相同
|
// 校验板材goods_id是否相同
|
||||||
if (plateMapper.isByGoodIDAndId(updateReqVO.getGoodsId(), getLoginUser().getId(), Long.valueOf(updateReqVO.getId()))) {
|
if (plateMapper.isByGoodIDAndId(updateReqVO.getGoodsId(), organId, Long.valueOf(updateReqVO.getId()))) {
|
||||||
throw exception(PLATE_GOODS_ID_NOT_SAME);
|
throw exception(PLATE_GOODS_ID_NOT_SAME);
|
||||||
}
|
}
|
||||||
plateMapper.updateById(updateObj);
|
plateMapper.updateById(updateObj);
|
||||||
@@ -165,6 +167,13 @@ public class PlateServiceImpl implements PlateService {
|
|||||||
return respVO;
|
return respVO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@OrganIgnore
|
||||||
|
public void exportTemplate(HttpServletResponse response, String value) {
|
||||||
|
String rootPath = getSavePath();
|
||||||
|
FileHelperUtil.getFile(rootPath, response, value);
|
||||||
|
}
|
||||||
|
|
||||||
private void validateOrganExists(Long organId) {
|
private void validateOrganExists(Long organId) {
|
||||||
CommonResult<Boolean> index = organApi.validOrgan(organId);
|
CommonResult<Boolean> index = organApi.validOrgan(organId);
|
||||||
if (!index.isSuccess()) {
|
if (!index.isSuccess()) {
|
||||||
|
|||||||
BIN
Binary file not shown.
BIN
Binary file not shown.
+1
-1
@@ -252,7 +252,7 @@ public class ErrorCodeConstants {
|
|||||||
|
|
||||||
//=========== 板材信息 1-002-033-000 ============
|
//=========== 板材信息 1-002-033-000 ============
|
||||||
public static final ErrorCode PLATE_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_002_033_001, "导入板材数据不能为空!");
|
public static final ErrorCode PLATE_IMPORT_LIST_IS_EMPTY = new ErrorCode(1_002_033_001, "导入板材数据不能为空!");
|
||||||
public static final ErrorCode PLATE_EXISTS = new ErrorCode(1_002_033_002, "板材存在");
|
public static final ErrorCode PLATE_EXISTS = new ErrorCode(1_002_033_002, "商品编号已存在");
|
||||||
public static final ErrorCode THE_CURRENT_BOARD_IS_NOT_SELECTED = new ErrorCode(1_002_033_003, "当前板材没有选择房间和柜体,请选择");
|
public static final ErrorCode THE_CURRENT_BOARD_IS_NOT_SELECTED = new ErrorCode(1_002_033_003, "当前板材没有选择房间和柜体,请选择");
|
||||||
public static final ErrorCode THE_BOARD_HAS_BEEN_CUT_INTO_PIECES = new ErrorCode(1_002_033_004, "当前排单已有板材开料,禁止删除");
|
public static final ErrorCode THE_BOARD_HAS_BEEN_CUT_INTO_PIECES = new ErrorCode(1_002_033_004, "当前排单已有板材开料,禁止删除");
|
||||||
public static final ErrorCode REMAIN_PLATE_NOT_EXISTS = new ErrorCode(1_002_033_005, "板材不存在");
|
public static final ErrorCode REMAIN_PLATE_NOT_EXISTS = new ErrorCode(1_002_033_005, "板材不存在");
|
||||||
|
|||||||
Reference in New Issue
Block a user