余料库接口完善修改

This commit is contained in:
lym
2024-06-11 10:04:09 +08:00
parent 1d5c0dd0de
commit 2e1c673be2
20 changed files with 254 additions and 54 deletions
@@ -0,0 +1,24 @@
package com.cf.imes.module.executor.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum OrderStatusEnum {
EMPTY(0, "空生产单"),
NEW_ORDER(1, "新单"),
IN_PRODUCTION(2, "生产中"),
FINISH_PRODUCTION(3, "生产完成");
private final Integer status;
private String description;
public boolean equals(Integer status) {
return this.status .equals(status) ;
}
public boolean equals(OrderStatusEnum enableStatusEnum) {
return enableStatusEnum != null && enableStatusEnum.status .equals(this.getStatus()) ;
}
}
@@ -302,13 +302,26 @@ public class OrderController {
return success(orderService.importTemplate(file,type));
}
@GetMapping("/printing")
@Operation(summary = "打印/导出")
@GetMapping("/printingZip")
@Operation(summary = "打印/导出(多文件)")
@Parameter(name = "type", description = "文件类型", required = true, example = "0")
@PreAuthorize("@ss.hasPermission('executor:order:query')")
@OperateLog(type = EXPORT)
public void getOrderPrinting(@Valid OrderPageReqVO pageReqVO, @RequestParam("type") String type,
public void getOrderPrintingZip(@Valid OrderPageReqVO pageReqVO,
@RequestParam("type") String type,
HttpServletResponse response) throws IOException {
orderService.getPrintData(pageReqVO,type,response);
orderService.getPrintDataZip(pageReqVO,type,response);
}
@GetMapping("/printing")
@Operation(summary = "打印/导出(单文件)")
@Parameter(name = "type", description = "文件类型", required = true, example = "0")
@PreAuthorize("@ss.hasPermission('executor:order:query')")
@OperateLog(type = EXPORT)
public void getOrderPrinting(
// @RequestParam("orderId") Long orderId,
@RequestParam("type") String type,
HttpServletResponse response) throws IOException {
orderService.getPrintData(1797937673478864896L,type,response);
}
}
@@ -74,4 +74,7 @@ public class PartGoodsRespVO {
@Schema(description = "数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "29507")
private Double num;
@Schema(description = "金额", requiredMode = Schema.RequiredMode.REQUIRED, example = "29507")
private Double totalPrice;
}
@@ -114,4 +114,13 @@ public interface OrderMapper extends BaseMapperX<OrderDO> {
.eq(OrderDO::getDeleted, 0)
.eq(OrderDO::getOrganId, organId));
}
// 查询单个生产单
default OrderDO selectOrderOne(Long id,Long organId) {
return selectOne(new LambdaQueryWrapper<OrderDO>()
.select(OrderDO::getStatus)
.eq(OrderDO::getId, id)
.eq(OrderDO::getDeleted, 0)
.eq(OrderDO::getOrganId, organId));
}
}
@@ -155,9 +155,14 @@ public interface OrderService {
void exportTemplate(HttpServletResponse response, String value);
/**
* 打印/导出数据获取
* 打印/导出数据获取 (多文件)
*/
void getPrintData(OrderPageReqVO orderPageReqVO, String type,HttpServletResponse response) throws IOException;
void getPrintDataZip(OrderPageReqVO orderPageReqVO, String type,HttpServletResponse response) throws IOException;
/**
* 打印/导出数据获取 (单文件)
*/
void getPrintData(Long orderId, String type,HttpServletResponse response) throws IOException;
default String getSavePath() {
ApplicationHome applicationHome = new ApplicationHome(this.getClass());
@@ -35,11 +35,13 @@ import com.cf.imes.module.executor.dal.mysql.orderParts.OrderPartsMapper;
import com.cf.imes.module.executor.dal.mysql.plate.PlateGoodMapper;
import com.cf.imes.module.executor.dal.mysql.plate.PlateMapper;
import com.cf.imes.module.executor.dal.mysql.rawgoods.RawGoodsMapper;
import com.cf.imes.module.executor.enums.OrderStatusEnum;
import com.cf.imes.module.executor.util.ExcelWriterUtil;
import com.cf.imes.module.executor.util.deviseData.dataTwo.PlateDetail;
import com.cf.imes.module.executor.util.fileConversion.admin.api.webcad.ApiDataProduction;
import com.cf.imes.module.executor.util.fileConversion.admin.api.webcad.ApiTypeRealize;
import com.cf.imes.module.executor.util.fileConversion.admin.files.excel.ExcelTypeRealize;
import com.cf.imes.module.executor.util.fileConversion.admin.files.excel.OrderPlateImportExcelVO;
import com.cf.imes.module.system.api.application.ApplicationApi;
import com.cf.imes.module.system.api.dict.DictDataApi;
import com.cf.imes.module.system.api.dict.dto.DictDataRespDTO;
@@ -275,13 +277,14 @@ public class OrderServiceImpl implements OrderService {
public void deleteBodyByOrder(Long orderId, Collection<Long> bodyIds) {
validateOrderExists(orderId);
// 校验生产单的状态 1 为新单状态,才可以修改
if (orderMapper.selectOne(new LambdaQueryWrapper<OrderDO>().eq(OrderDO::getId, orderId).eq(OrderDO::getStatus, 1)).getStatus() == 1) {
if (orderMapper.selectOrderOne(orderId, OrganContextHolder.getOrganId()).getStatus() !=
OrderStatusEnum.NEW_ORDER.getStatus()) {
throw exception(ORDER_STATUS_ERROR);
}
if (CollectionUtils.isNotEmpty(bodyIds)) {
bodyIds.forEach(bodyId -> {
// 校验存在
validateOrderBodyExists(orderId, bodyId);
validateOrderBodyExists(orderId, bodyId, OrganContextHolder.getOrganId());
// 删除
orderBodyMapper.deleteAllByOrderId(orderId, bodyId);
});
@@ -444,11 +447,9 @@ public class OrderServiceImpl implements OrderService {
}
}
DictDataRespDTO typographyDTO = dictDataApi.getDictData(DictTypeConstants.TYPOGRAPHY_TYPE, String.valueOf(goodsDO.getGoodsId())).getData();// 排版面
Long plateGoods = (Long) identifierGenerator.nextId(null);
PlateGoodDO plateGoodDO = BeanUtils.toBean(goodsDO, PlateGoodDO.class)
.setId(plateGoods)
.setTexture(typographyDTO.getLabel())
.setGoodsId(String.valueOf(goodsDO.getGoodsId()));
goodsDO.setGoodsId(plateGoodDO.getId());
plateGoodLists.add(plateGoodDO);
@@ -458,15 +459,16 @@ public class OrderServiceImpl implements OrderService {
return map;
}
private void validateOrderBodyExists(Long orderId, Long bodyId) {
if (orderBodyMapper.selectCount(new LambdaQueryWrapper<OrderBodyDO>().eq(OrderBodyDO::getOrderId, orderId).eq(OrderBodyDO::getId, bodyId)) == 0) {
private void validateOrderBodyExists(Long orderId, Long bodyId, Long organId) {
if (orderBodyMapper.selectCount(new LambdaQueryWrapper<OrderBodyDO>()
.eq(OrderBodyDO::getOrderId, orderId)
.eq(OrderBodyDO::getId, bodyId)
.eq(OrderBodyDO::getOrganId, organId)) == 0) {
throw exception(ORDER_BODY_NOT_EXISTS);
}
}
private LocalDateTime getAfterDate(LocalDateTime date) {
// 获取当前日期类型 2024-03-06 16:50:15
// 获取当前日期,明确指定时区为业务所在时区,例如Asia/Shanghai
ZonedDateTime now = ZonedDateTime.now(ZoneId.of("UTC"));
LocalDateTime localDateTime = now.toLocalDateTime();
@@ -474,12 +476,10 @@ public class OrderServiceImpl implements OrderService {
// 添加30天
LocalDateTime futureDate = localDateTime.plusDays(DEFAULT_DAYS_TO_ADD);
try {
// 考虑到异常处理,使用try-catch块
return futureDate;
} catch (DateTimeParseException e) {
// 在实际应用中应该有更详细的错误处理逻辑
System.err.println("Error parsing future date: " + e.getMessage());
// 根据业务需求,这里可以选择记录日志、抛出自定义异常或进行其他处理
}
}
return date;
@@ -630,7 +630,7 @@ public class OrderServiceImpl implements OrderService {
}
@Override
public void getPrintData(OrderPageReqVO orderPageReqVO, String type, HttpServletResponse response) throws IOException {
public void getPrintDataZip(OrderPageReqVO orderPageReqVO, String type, HttpServletResponse response) throws IOException {
orderPageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
PageResult<OrderDO> pageResult = orderMapper.selectPage(orderPageReqVO.setOrganId(SecurityFrameworkUtils.getLoginUser().getOrganId()));
List<OrderDO> orderDOList = pageResult.getList();
@@ -642,7 +642,19 @@ public class OrderServiceImpl implements OrderService {
for (OrderDO orderDO : orderDOList) {
map.putAll(getDataByOrderIdAndType(orderDO, type));
}
ExcelWriterUtil.exportExcel(response, map, getSavePath() + "\\" + type, type);
ExcelWriterUtil.exportExcelZip(response, map, getSavePath() + "\\" + type, type);
}
@Override
public void getPrintData(Long orderId, String type, HttpServletResponse response) throws IOException {
// 查询生产单
OrderDO orderDO = orderMapper.selectById(orderId);
if (orderDO == null) {
ExcelWriterUtil.writeErr(response, "生产单查找结果为空", getSavePath() + "\\" + "错误文件.xlsx");
}
Map<Long, Object> map = getDataByOrderIdAndType(orderId, type);
ExcelWriterUtil.exportExcel(response, orderDO, (List<OrderPlateImportExcelVO>) map.get(orderDO.getId()), getSavePath(), type);
}
// 根据ype 与 orderId获取相关信息
@@ -673,6 +685,34 @@ public class OrderServiceImpl implements OrderService {
return map;
}
// 根据ype 与 orderId获取相关信息
public Map<Long, Object> getDataByOrderIdAndType(Long orderId, String type) {
Map<Long, Object> map = new HashMap<>();
switch (type) {
case "配件明细1-模板.xlsx":// 配件明细
map.put(orderId, orderPartsMapper.selectPartDetail(orderId, SecurityFrameworkUtils.getLoginUser().getOrganId()));
break;
case "配件汇总1-模板.xlsx":// 配件汇总
map.put(orderId, orderPartsMapper.selectPartAll(orderId, SecurityFrameworkUtils.getLoginUser().getOrganId()));
break;
case "板材明细-按房间-模板.xlsx":
break;
case "板材明细-按板材-模板.xlsx":
map.put(orderId, plateMapper.selectPlateGoodsList(orderId, SecurityFrameworkUtils.getLoginUser().getOrganId()));
break;
case "板材汇总-按房间-模板.xlsx":
break;
case "板材汇总-按板材-模板.xlsx":
map.put(orderId, plateMapper.selectPlateGoodsList(orderId, SecurityFrameworkUtils.getLoginUser().getOrganId()));
break;
default:
// 处理默认情况,可以选择忽略或者做其他处理
break;
}
return map;
}
public String getRandomNumber(int length) {
StringBuilder sb = new StringBuilder();
Random random = new Random();
@@ -69,7 +69,7 @@ public class OrderProcessServiceImpl implements OrderProcessService {
private OrderBodyMapper orderBodyMapper;
@Override
@Transactional
@Transactional(rollbackFor = Exception.class)
public Long createOrderProcess(OrderProcessSaveReqVO createReqVO) {
// 当生产不为删除时,校验生产单存在
if (orderMapper.selectOrder(createReqVO.getOrderId(), SecurityFrameworkUtils.getLoginUser().getOrganId()).isEmpty()) {
@@ -15,6 +15,7 @@ import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;
import java.net.URLEncoder;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.HashMap;
@@ -97,7 +98,7 @@ public class ExcelWriterUtil {
outputStream.close();
}
public static void exportExcel(HttpServletResponse response, Map<OrderDO, Object> map, String filePathErr, String type) throws IOException {
public static void exportExcelZip(HttpServletResponse response, Map<OrderDO, Object> map, String filePathErr, String type) throws IOException {
ServletOutputStream outputStream = response.getOutputStream();
ZipOutputStream zipOutputStream = new ZipOutputStream(outputStream);
@@ -136,10 +137,49 @@ public class ExcelWriterUtil {
}
}
public static void exportExcel(HttpServletResponse response,
OrderDO orderDO,
List<OrderPlateImportExcelVO> list,
String filePathErr,
String type) throws IOException {
//输入流
InputStream inputStream = ResourceUtils.getURL(filePathErr+ "\\" + type).openStream();
ServletOutputStream outputStream = response.getOutputStream();
//设置输出流和模板信息
ExcelWriter excelWriter = EasyExcel.write(outputStream).withTemplate(inputStream).build();
WriteSheet writeSheet = EasyExcel.writerSheet().build();
//开启自动换行,自动换行表示每次写入一条list数据是都会重新生成一行空行,此选项默认是关闭的,需要提前设置为true
FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();
//准备单组和数据
Map<String, String> mapOrder = fillOrderData(orderDO);
excelWriter.fill(mapOrder, writeSheet);
//列表
excelWriter.fill(list, fillConfig, writeSheet);
//设置文件名的编码格式,防止文件名乱码
String fileName = URLEncoder.encode(type.replace("模板",String.valueOf(orderDO.getId())), "UTF-8");
//固定写法,设置响应头
response.setHeader("Content-disposition", "attachment;filename="+ fileName + ".xlsx");
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
//关流
excelWriter.finish();
inputStream.close();
outputStream.close();
}
// 填充订单数据
private static Map<String, String> fillOrderData(OrderDO order) {
Map<String, String> orderMap = new HashMap<>();
orderMap.put("customOrderNo", order.getCustomOrderNo());
orderMap.put("orderId", order.getId().toString());
orderMap.put("orderData", order.getOrderDate().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
orderMap.put("customer", order.getCustomer());
orderMap.put("address", order.getAddress());
orderMap.put("phoneNumber", order.getPhoneNumber());
@@ -0,0 +1,24 @@
package com.cf.imes.module.manage.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum RemainPlateUseTypeEnum {
TYPE_ONE(0, "核销"),
TYPE_TWO(1, "排单"),
TYPE_THREE(2, "补板");
private final Integer status;
private String description;
public boolean equals(Integer status) {
return this.status .equals(status) ;
}
public boolean equals(RemainPlateUseTypeEnum enableStatusEnum) {
return enableStatusEnum != null && enableStatusEnum.status .equals(this.getStatus()) ;
}
}
@@ -3,6 +3,7 @@ package com.cf.imes.module.manage.controller.admin.plate;
import com.cf.imes.module.manage.controller.admin.plate.vo.remain.RemainPlatePageReqVO;
import com.cf.imes.module.manage.controller.admin.plate.vo.remain.RemainPlateRespVO;
import com.cf.imes.module.manage.controller.admin.plate.vo.remain.RemainPlateSaveReqVO;
import com.cf.imes.module.manage.controller.admin.plate.vo.remain.RemainPlateUptReqVO;
import com.cf.imes.module.manage.dal.dataobject.remainplaten.RemainPlateDO;
import com.cf.imes.module.manage.service.remainplaten.RemainPlateService;
import io.swagger.v3.oas.annotations.Parameters;
@@ -41,12 +42,19 @@ public class RemainPlateController {
private RemainPlateService remainPlateService;
@PostMapping("/create")
@Operation(summary = "创建生产单余料板表")
@Operation(summary = "创建生产单余料板表(单个)")
@PreAuthorize("@ss.hasPermission('manage:remain-plate:create')")
public CommonResult<Long> createRemainPlate(@Valid @RequestBody RemainPlateSaveReqVO createReqVO) {
return success(remainPlateService.createRemainPlate(createReqVO));
}
@PostMapping("/createMultiple")
@Operation(summary = "创建生产单余料板表(多个)")
@PreAuthorize("@ss.hasPermission('manage:remain-plate:create')")
public CommonResult<Boolean> createRemainPlateMultiple(@Valid @RequestBody Set<RemainPlateSaveReqVO> createReqVOS) {
return success(remainPlateService.createRemainPlateMultiple(createReqVOS));
}
@PutMapping("/update")
@Operation(summary = "更新生产单余料板表")
@PreAuthorize("@ss.hasPermission('manage:remain-plate:update')")
@@ -57,31 +65,20 @@ public class RemainPlateController {
@PutMapping("/updateStatus")
@Operation(summary = "余料板批量核销")
@Parameters({
@Parameter(name = "id", description = "余料板id集", required = true),
@Parameter(name = "status", description = "修改的状态", required = true , example = "1"),
@Parameter(name = "useType", description = "使用类型,0核销,1排单,2补板", required = true , example = "1"),
@Parameter(name = "planId", description = "排单 ID", example = "1")
})
@PreAuthorize("@ss.hasPermission('manage:remain-plate:update')")
public CommonResult<Boolean> updateRemainPlate(@RequestParam("id") Set<Long> ids,
@RequestParam("status") Integer status,
@RequestParam("useType") Integer useType,
@RequestParam("planId") Long planId) {
remainPlateService.updateRemainPlateStatus(ids,status,useType,planId);
public CommonResult<Boolean> updateRemainPlate(@RequestBody RemainPlateUptReqVO updateReqVO) {
remainPlateService.updateRemainPlateStatus(updateReqVO.getIds(),
updateReqVO.getStatus(),
updateReqVO.getUseType(),
updateReqVO.getPlanId());
return success(true);
}
@PutMapping("/revertUpdate")
@Operation(summary = "余料板批量释放")
@Parameters({
@Parameter(name = "id", description = "余料板id集", required = true),
@Parameter(name = "status", description = "修改的状态", required = true , example = "1")
})
@PreAuthorize("@ss.hasPermission('manage:remain-plate:update')")
public CommonResult<Boolean> updateRemainPlate(@RequestParam("id") Set<Long> ids,
@RequestParam("status") Integer status) {
remainPlateService.revertRemainPlateStatus(ids,status);
public CommonResult<Boolean> revertRemainPlate(@RequestBody RemainPlateUptReqVO updateReqVO) {
remainPlateService.revertRemainPlateStatus(updateReqVO.getIds(),updateReqVO.getStatus());
return success(true);
}
@@ -16,6 +16,9 @@ import static com.cf.imes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH
@ToString(callSuper = true)
public class RemainPlatePageReqVO extends PageParam {
@Schema(description = "ID", example = "16628")
private Long id;
@Schema(description = "排单 ID", example = "16628")
private Long planId;
@@ -23,8 +23,7 @@ public class RemainPlateSaveReqVO {
@Schema(description = "初始排单 ID")
private Long initPlanId;
@Schema(description = "余料板状态,0未使用,1使用中,2已使用", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
@NotNull(message = "余料板状态,0未使用,1使用中,2已使用不能为空")
@Schema(description = "余料板状态,0未使用,1使用中,2已使用", example = "1")
private Integer status;
@Schema(description = "是否为开料添加,0否,1是", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
@@ -34,12 +33,10 @@ public class RemainPlateSaveReqVO {
@Schema(description = "使用类型,0核销,1排单,2补板", example = "0")
private Integer useType;
@Schema(description = "商品 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7425")
@NotEmpty(message = "商品 ID不能为空")
@Schema(description = "商品 ID", example = "7425")
private String goodsId;
@Schema(description = "商品名", requiredMode = Schema.RequiredMode.REQUIRED, example = "晨丰")
@NotEmpty(message = "商品名不能为空")
@Schema(description = "商品名", example = "晨丰")
private String name;
@Schema(description = "材料", requiredMode = Schema.RequiredMode.REQUIRED)
@@ -78,8 +75,7 @@ public class RemainPlateSaveReqVO {
@Schema(description = "备注", example = "随便")
private String remark;
@Schema(description = "轮廊数据,Json 串", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "轮廊数据,Json 串不能为空")
@Schema(description = "轮廊数据,Json 串")
private String outLineJson;
}
@@ -0,0 +1,23 @@
package com.cf.imes.module.manage.controller.admin.plate.vo.remain;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.Set;
@Schema(description = "管理后台 - 生产单余料板表 order_remain_plate_{N} Response VO")
@Data
public class RemainPlateUptReqVO {
@Schema(description = "余料板集", requiredMode = Schema.RequiredMode.REQUIRED, example = "16470")
private Set<Long> ids;
@Schema(description = "余料板状态,0未使用,1使用中", example = "1")
private Integer status;
@Schema(description = "使用类型,0核销,1排单,2补板", example = "0")
private Integer useType;
@Schema(description = "排单 ID", example = "6628")
private Long planId;
}
@@ -23,6 +23,14 @@ public interface RemainPlateService {
*/
Long createRemainPlate(@Valid RemainPlateSaveReqVO createReqVO);
/**
* 创建生产单余料板表
*
* @param createReqVOS 创建信息
* @return 编号
*/
Boolean createRemainPlateMultiple(@Valid Set<RemainPlateSaveReqVO> createReqVOS);
/**
* 批量核销
*
@@ -6,6 +6,7 @@ import com.cf.imes.module.manage.controller.admin.plate.vo.remain.RemainPlateSav
import com.cf.imes.module.manage.dal.dataobject.remainplaten.RemainPlateDO;
import com.cf.imes.module.manage.dal.mysql.remainplaten.RemainPlateMapper;
import com.cf.imes.module.manage.enums.RemainPlateStatusEnum;
import com.cf.imes.module.manage.enums.RemainPlateUseTypeEnum;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import com.cf.imes.framework.common.pojo.PageResult;
@@ -15,6 +16,7 @@ import com.cf.imes.framework.common.util.object.BeanUtils;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.Set;
import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception;
@@ -41,19 +43,31 @@ public class RemainPlateServiceImpl implements RemainPlateService {
return remainPlate.getId();
}
@Override
public Boolean createRemainPlateMultiple(Set<RemainPlateSaveReqVO> createReqVOS) {
// 批量插入
return remainPlateMapper.insertBatch(Collections.singleton(BeanUtils.toBean(createReqVOS, RemainPlateDO.class)));
}
@Override
public void updateRemainPlateStatus(Set<Long> ids, Integer status, Integer useType,Long planId) {
//判断是否符合核销标准
validateRemainPlateStatus(ids,RemainPlateStatusEnum.UNUSED.getStatus());
validateRemainPlateStatus(ids,RemainPlateStatusEnum.IN_USE.getStatus());
//以id为条件批量修改余料库中的状态
remainPlateMapper.updateRemainPlateStatus(ids, status, useType, OrganContextHolder.getOrganId(),planId);
}
@Override
public void revertRemainPlateStatus(Set<Long> ids, Integer status) {
// 判断余料的状态使用中
validateRemainPlateStatus(ids,RemainPlateStatusEnum.IN_USE.getStatus());
remainPlateMapper.updateRemainPlateStatus(ids, status, null, OrganContextHolder.getOrganId(),null);
// 判断余料的状态是否存在使用中
validateRemainPlateStatus(ids,RemainPlateStatusEnum.UNUSED.getStatus());
// 判断使用类型是否为核销
for (Long id : ids) {
if (validateRemainPlateUseType(id) != RemainPlateUseTypeEnum.TYPE_ONE.getStatus()) {
throw exception(REMAIN_PLATE_USR_TYPE);
}
}
remainPlateMapper.updateRemainPlateStatus(ids, status, null, OrganContextHolder.getOrganId(),0L);
}
@Override
@@ -77,7 +91,7 @@ public class RemainPlateServiceImpl implements RemainPlateService {
@Override
public void deleteRemainPlate(Set<Long> ids) {
// 判断余料的状态使用中
// 判断余料的状态是否存在使用中
validateRemainPlateStatus(ids,RemainPlateStatusEnum.IN_USE.getStatus());
// 删除
remainPlateMapper.deleteBatchIds(ids);
@@ -259,4 +259,5 @@ public interface ErrorCodeConstants {
ErrorCode REMAIN_PLATE_STATUS_USED = new ErrorCode(1_002_038_001, "余料板正在使用中,禁止修改");
ErrorCode REMAIN_PLATE_STATUS_NO_USED = new ErrorCode(1_002_038_001, "余料板未使用");
ErrorCode REMAIN_PLATE_USR_TYPE = new ErrorCode(1_002_038_001, "余料板使用类型为不可核销类型");
}