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:
@@ -174,8 +174,12 @@
|
||||
<artifactId>gson</artifactId>
|
||||
<version>2.8.8</version> <!-- 使用最新版本 -->
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>com.cf.imes</groupId>
|
||||
<artifactId>cf-module-prod-executor-api</artifactId>
|
||||
<version>2.0.0-jdk8-snapshot</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
|
||||
|
||||
</dependencies>
|
||||
|
||||
+8
-2
@@ -1,13 +1,12 @@
|
||||
package com.cf.imes.module.manage.controller.admin.plate.vo.plate;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import lombok.*;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import com.cf.imes.framework.common.pojo.PageParam;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.Size;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import static com.cf.imes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
||||
@@ -19,15 +18,19 @@ import static com.cf.imes.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH
|
||||
public class PlatePageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "客户的商品编号", example = "1")
|
||||
@Size(max = 32, message = "商品编号长度不能超过32个字符")
|
||||
private String goodsId;
|
||||
|
||||
@Schema(description = "商品名称", example = "赵六")
|
||||
@Size(max = 64, message = "商品名称长度不能超过64个字符")
|
||||
private String goodsName;
|
||||
|
||||
@Schema(description = "材质:颗粒板、欧松板、多层板、生态板、禾香板、密度板、实木、铝蜂窝板、铝塑板")
|
||||
@Size(max = 64, message = "材质长度不能超过64个字符")
|
||||
private String material;
|
||||
|
||||
@Schema(description = "颜色")
|
||||
@Size(max = 32, message = "颜色长度不能超过32个字符")
|
||||
private String color;
|
||||
|
||||
@Schema(description = "纹理")
|
||||
@@ -46,12 +49,15 @@ public class PlatePageReqVO extends PageParam {
|
||||
// private Double price;
|
||||
|
||||
@Schema(description = "品牌")
|
||||
@Size(max = 64, message = "品牌长度不能超过64个字符")
|
||||
private String brand;
|
||||
|
||||
@Schema(description = "规格")
|
||||
@Size(max = 64, message = "规格长度不能超过64个字符")
|
||||
private String spec;
|
||||
|
||||
@Schema(description = "备注", example = "随便")
|
||||
@Size(max = 255, message = "备注长度不能超过255个字符")
|
||||
private String remark;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
|
||||
+6
-7
@@ -1,11 +1,9 @@
|
||||
package com.cf.imes.module.manage.controller.admin.plate.vo.plate;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.cf.imes.module.manage.validation.length.ValidLength;
|
||||
import com.cf.imes.module.manage.validation.texture.ValidBoolean;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import org.hibernate.validator.constraints.Length;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import javax.validation.constraints.NotNull;
|
||||
@@ -20,7 +18,7 @@ public class PlateSaveReqVO {
|
||||
|
||||
@Schema(description = "客户的商品编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@NotEmpty(message = "客户的商品编号不能为空")
|
||||
@Size(max = 30, message = "客户的商品编号长度不能超过32个字符")
|
||||
@Size(max = 32, message = "商品编号长度不能超过32个字符")
|
||||
private String goodsId;
|
||||
|
||||
@Schema(description = "商品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
|
||||
@@ -30,12 +28,12 @@ public class PlateSaveReqVO {
|
||||
|
||||
@Schema(description = "材质:颗粒板、欧松板、多层板、生态板、禾香板、密度板、实木、铝蜂窝板、铝塑板", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "材质:颗粒板、欧松板、多层板、生态板、禾香板、密度板、实木、铝蜂窝板、铝塑板不能为空")
|
||||
@Size(max = 64, message = "商品材料长度不能超过64个字符")
|
||||
@Size(max = 64, message = "材质长度不能超过64个字符")
|
||||
private String material;
|
||||
|
||||
@Schema(description = "颜色", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "颜色不能为空")
|
||||
@Size(max = 32, message = "商品颜色长度不能超过32个字符")
|
||||
@Size(max = 32, message = "颜色长度不能超过32个字符")
|
||||
private String color;
|
||||
|
||||
@Schema(description = "纹理", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@@ -61,14 +59,15 @@ public class PlateSaveReqVO {
|
||||
// private Double price;
|
||||
|
||||
@Schema(description = "品牌")
|
||||
@Size(max = 64, message = "商品品牌长度不能超过64个字符")
|
||||
@Size(max = 64, message = "品牌长度不能超过64个字符")
|
||||
private String brand;
|
||||
|
||||
@Schema(description = "规格")
|
||||
@Size(max = 64, message = "商品规格长度不能超过64个字符")
|
||||
@Size(max = 64, message = "规格长度不能超过64个字符")
|
||||
private String spec;
|
||||
|
||||
@Schema(description = "备注", example = "随便")
|
||||
@Size(max = 255, message = "备注长度不能超过255个字符")
|
||||
private String remark;
|
||||
|
||||
private Long organId;
|
||||
|
||||
+2
-1
@@ -1,5 +1,6 @@
|
||||
package com.cf.imes.module.manage.framework.rpc.config;
|
||||
|
||||
import com.cf.imes.module.executor.api.plan.OrderPlanApi;
|
||||
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.process.ProcessApi;
|
||||
@@ -9,6 +10,6 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
@Configuration(proxyBeanMethods = false)
|
||||
@EnableFeignClients(clients = {AdminUserApi.class, OrganApi.class, ProcessApi.class, SettingApi.class,PermissionApi.class})
|
||||
@EnableFeignClients(clients = {AdminUserApi.class, OrganApi.class, ProcessApi.class, SettingApi.class,PermissionApi.class, OrderPlanApi.class})
|
||||
public class RpcConfiguration {
|
||||
}
|
||||
|
||||
+41
-6
@@ -4,15 +4,13 @@ package com.cf.imes.module.manage.service.pack;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
|
||||
import com.cf.imes.framework.common.enums.OrderItemTypeEnum;
|
||||
import com.cf.imes.framework.common.enums.OrderPackageStatusEnum;
|
||||
import com.cf.imes.framework.common.enums.OrderPackageTypeEnum;
|
||||
import com.cf.imes.framework.common.enums.UserSettingTypeEnum;
|
||||
import com.cf.imes.framework.common.enums.*;
|
||||
import com.cf.imes.framework.common.pojo.PageResult;
|
||||
import com.cf.imes.framework.common.util.Assert.AssertUtils;
|
||||
import com.cf.imes.framework.common.util.json.JsonUtils;
|
||||
import com.cf.imes.framework.common.util.object.BeanUtils;
|
||||
import com.cf.imes.framework.mybatis.core.query.QueryWrapperX;
|
||||
import com.cf.imes.module.executor.api.plan.OrderPlanApi;
|
||||
import com.cf.imes.module.manage.controller.admin.pack.prePack.PackPlateList;
|
||||
import com.cf.imes.module.manage.controller.admin.pack.prePack.PrePackOptimizeInfo;
|
||||
import com.cf.imes.module.manage.controller.admin.pack.prePack.PrePackReqVO;
|
||||
@@ -80,7 +78,6 @@ public class PackServiceImpl implements PackService {
|
||||
@Resource
|
||||
private OrdersMapper ordersMapper;
|
||||
|
||||
|
||||
@Resource
|
||||
private SnowflakeIdWorker3rd idWorker;
|
||||
|
||||
@@ -91,6 +88,9 @@ public class PackServiceImpl implements PackService {
|
||||
@Resource
|
||||
private SettingApi settingApi;
|
||||
|
||||
@Resource
|
||||
private OrderPlanApi orderPlanApi;
|
||||
|
||||
|
||||
// 打包分页查询
|
||||
@Override
|
||||
@@ -374,6 +374,7 @@ public class PackServiceImpl implements PackService {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public OrderPackRespVO updateParts(OrderPartsReqVO reqVO) {
|
||||
|
||||
validateOrdersExists(reqVO.getOrderId(),null);
|
||||
|
||||
// 判断包裹ID是否为空,为空,走新增,不为空,走更新
|
||||
if (reqVO.getPackId() == null) {
|
||||
@@ -404,6 +405,7 @@ public class PackServiceImpl implements PackService {
|
||||
|
||||
OrderPackageDO orderPackageDO = orderPackageMapper.selectByPackId(reqVO.getPackId(),reqVO.getOrderId(), getUserOrganId());
|
||||
|
||||
AssertUtils.notEmpty(orderPackageDO,ORDER_PACK_DATA_ERROR);
|
||||
List<OrderItemDO> orderItemDOS = orderItemMapper.selectPackList(reqVO.getPackId(), reqVO.getOrderId(), getUserOrganId());
|
||||
List<Long> partsList = orderItemDOS.stream().map(OrderItemDO::getPartsId).distinct().toList();
|
||||
|
||||
@@ -460,7 +462,7 @@ public class PackServiceImpl implements PackService {
|
||||
|
||||
OrderPackageDO packageDO = orderPackageMapper.selectById(packageID);
|
||||
|
||||
AssertUtils.notEmpty(packageDO,ORDER_PACK_DATA_ERROR );
|
||||
AssertUtils.notEmpty(packageDO,ORDER_PACK_DATA_NULL_ERROR );
|
||||
|
||||
Long orderId = packageDO.getOrderId();
|
||||
|
||||
@@ -469,6 +471,11 @@ public class PackServiceImpl implements PackService {
|
||||
AssertUtils.notEmpty(orderDO,ORDER_NO_DATA_ERROR);
|
||||
|
||||
orderDO.setPackaged(OrderPackageStatusEnum.UNPACKED.getStatus());
|
||||
|
||||
if(orderDO.getStatus().equals(OrderStatusEnum.FINISH_PRODUCTION.getStatus())){
|
||||
orderDO.setStatus(OrderStatusEnum.IN_PRODUCTION.getStatus());
|
||||
}
|
||||
|
||||
ordersMapper.updateById(orderDO);
|
||||
|
||||
packageDO.setStatus(OrderPackageStatusEnum.UNPACKED.getStatus());
|
||||
@@ -484,6 +491,7 @@ public class PackServiceImpl implements PackService {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public OrderPackRespVO updatePack(OrderPackReqVO packageVO) {
|
||||
|
||||
validateOrdersExists(packageVO.getOrderId(),null);
|
||||
|
||||
// 判断包裹ID是否为空,为空,走新增,不为空,走更新
|
||||
if (packageVO.getPackId() == null) {
|
||||
@@ -509,6 +517,9 @@ public class PackServiceImpl implements PackService {
|
||||
|
||||
|
||||
OrderPackageDO orderPackageDO = orderPackageMapper.selectByPackId(packageVO.getPackId(),packageVO.getOrderId(), getUserOrganId());
|
||||
|
||||
AssertUtils.notEmpty(orderPackageDO,ORDER_PACK_DATA_ERROR);
|
||||
|
||||
List<OrderItemDO> orderItemDOS = orderItemMapper.selectPackList(packageVO.getPackId(), packageVO.getOrderId(), getUserOrganId());
|
||||
List<Long> plateList = orderItemDOS.stream().map(OrderItemDO::getPlateId).distinct().toList();
|
||||
|
||||
@@ -588,9 +599,16 @@ public class PackServiceImpl implements PackService {
|
||||
// 修改生产单的打包状态为已打包
|
||||
orderDO.setPackaged(OrderPackageStatusEnum.PACKAGED.getStatus());
|
||||
|
||||
|
||||
if(orderPlanApi.getOrder(orderId).getData()){
|
||||
orderDO.setStatus(OrderStatusEnum.FINISH_PRODUCTION.getStatus());
|
||||
}
|
||||
|
||||
|
||||
ordersMapper.updateById(orderDO);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -622,6 +640,8 @@ public class PackServiceImpl implements PackService {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void deleteOrderPack(PackReqVO reqVO) {
|
||||
|
||||
|
||||
|
||||
// 判断包裹的类型是否为其他类型,如果是,则删除其包裹信息
|
||||
if (reqVO.getIsOther()) {
|
||||
|
||||
@@ -900,6 +920,9 @@ public class PackServiceImpl implements PackService {
|
||||
if (orderItemDoPartsList.isEmpty()) {
|
||||
OrderDO orderDO = ordersMapper.selectById(reqVO.getOrderId());
|
||||
orderDO.setPackaged(OrderPackageStatusEnum.PACKAGED.getStatus());
|
||||
if(orderPlanApi.getOrder(reqVO.getOrderId()).getData()){
|
||||
orderDO.setStatus(OrderStatusEnum.FINISH_PRODUCTION.getStatus());
|
||||
}
|
||||
ordersMapper.updateById(orderDO);
|
||||
}
|
||||
|
||||
@@ -952,6 +975,18 @@ public class PackServiceImpl implements PackService {
|
||||
}
|
||||
|
||||
|
||||
private void validateOrdersExists(Long orderId, Long packId) {
|
||||
|
||||
OrderDO orderDO = ordersMapper.selectById(orderId);
|
||||
AssertUtils.notEmpty(orderDO,ORDER_PACK_ERROR);
|
||||
|
||||
if(packId != null){
|
||||
OrderPackageDO orderPackageDO = orderPackageMapper.selectById(packId);
|
||||
AssertUtils.notEmpty(orderPackageDO,ORDER_PACK_DATA_ERROR);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// 类型转换
|
||||
private OrderPackRespVO typeConversion(OrderPackageDO orderPackageDO) {
|
||||
return OrderPackRespVO.builder()
|
||||
|
||||
Reference in New Issue
Block a user