diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/wms/bd/service/dto/ProductSeriesDTO.java b/eladmin-system/src/main/java/me/zhengjie/modules/wms/bd/service/dto/ProductSeriesDTO.java index adaacfef..8282cadd 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/wms/bd/service/dto/ProductSeriesDTO.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/wms/bd/service/dto/ProductSeriesDTO.java @@ -16,8 +16,6 @@ import java.sql.Timestamp; public class ProductSeriesDTO implements Serializable { // 主键 - // 处理精度丢失问题 - @JsonSerialize(using= ToStringSerializer.class) private Long id; // 产品系列名称 diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/wms/bd/service/impl/ProductInfoServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/wms/bd/service/impl/ProductInfoServiceImpl.java index 277ddb77..0dc7d27f 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/wms/bd/service/impl/ProductInfoServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/wms/bd/service/impl/ProductInfoServiceImpl.java @@ -223,6 +223,15 @@ public class ProductInfoServiceImpl implements ProductInfoService { } + Long productSeriesId = updateProductInfoRequest.getProductSeriesId(); + if(null == productSeriesId){ + throw new BadRequestException("产品系列不能为空!"); + } + Optional productSeriesOptional = productSeriesRepository.findById(productSeriesId); + ProductSeries productSeries = productSeriesOptional.get(); + if(null == productSeries){ + throw new BadRequestException("产品系列不存在!"); + } // 产品资料-仓库预警修改目标 List productInventoryWarningListTarget = updateProductInfoRequest.getProductInventoryWarning(); @@ -255,6 +264,9 @@ public class ProductInfoServiceImpl implements ProductInfoService { productInfo.setProductInitialSetup(productInitialSetupStr); } + productInfo.setProductCategoryName(productCategory.getName()); + productInfo.setMeasureUnitName(measureUnit.getName()); + productInfo.setProductSeriesName(productSeries.getProductSeriesName()); productInfo.setCreateTime(createTime); productInfo.setStatus(true); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/wms/customerOrder/domain/CustomerOrder.java b/eladmin-system/src/main/java/me/zhengjie/modules/wms/customerOrder/domain/CustomerOrder.java index a1fa5843..11de88dc 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/wms/customerOrder/domain/CustomerOrder.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/wms/customerOrder/domain/CustomerOrder.java @@ -1,9 +1,11 @@ package me.zhengjie.modules.wms.customerOrder.domain; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.copier.CopyOptions; import org.hibernate.annotations.CreationTimestamp; +import org.springframework.format.annotation.DateTimeFormat; import javax.persistence.*; import java.sql.Timestamp; @@ -36,6 +38,8 @@ public class CustomerOrder implements Serializable { private Timestamp orderDate; // 交货日期 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Column(name = "delivery_date") private Timestamp deliveryDate; diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/wms/customerOrder/request/UpdateCustomerOrderRequest.java b/eladmin-system/src/main/java/me/zhengjie/modules/wms/customerOrder/request/UpdateCustomerOrderRequest.java index 1cd93c77..c9ea55d6 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/wms/customerOrder/request/UpdateCustomerOrderRequest.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/wms/customerOrder/request/UpdateCustomerOrderRequest.java @@ -2,8 +2,10 @@ package me.zhengjie.modules.wms.customerOrder.request; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.copier.CopyOptions; +import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import me.zhengjie.modules.wms.customerOrder.service.dto.CustomerOrderProductDTO; +import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.sql.Timestamp; @@ -28,6 +30,8 @@ public class UpdateCustomerOrderRequest implements Serializable { private Timestamp orderDate; // 交货日期 + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Timestamp deliveryDate; // 客户订单编号 diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/wms/customerOrder/service/impl/CustomerOrderServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/wms/customerOrder/service/impl/CustomerOrderServiceImpl.java index 17d342fd..3d6aaef3 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/wms/customerOrder/service/impl/CustomerOrderServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/wms/customerOrder/service/impl/CustomerOrderServiceImpl.java @@ -21,6 +21,7 @@ import me.zhengjie.modules.wms.customerOrder.request.CreateCustomerOrderRequest; import me.zhengjie.modules.wms.customerOrder.request.CustomerOrderProductRequest; import me.zhengjie.modules.wms.customerOrder.service.dto.CustomerOrderDTO; import me.zhengjie.modules.wms.customerOrder.service.mapper.CustomerOrderMapper; +import me.zhengjie.utils.StringUtils; import me.zhengjie.utils.ValidationUtil; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -139,6 +140,19 @@ public class CustomerOrderServiceImpl implements CustomerOrderService { @Override @Transactional(rollbackFor = Exception.class) public CustomerOrderDTO create(CreateCustomerOrderRequest createCustomerOrderRequest) { + + List repeatProductCodeList =createCustomerOrderRequest.getCustomerOrderProductList().stream(). + collect(Collectors.groupingBy(dog->dog.getProductCode() ,Collectors.counting())) + .entrySet().stream() + .filter(entry->entry.getValue()>1) + .map(entry->entry.getKey()) + .collect(Collectors.toList()); + + if(!CollectionUtils.isEmpty(repeatProductCodeList)){ + String repeatProductCodeStr = StringUtils.join(repeatProductCodeList.toArray(), ","); + throw new BadRequestException("产品" + repeatProductCodeStr + "请合并为一条记录"); + } + Long totalMoney = 0L; //插入客户订单对应的产品信息 List customerOrderProductRequestList = createCustomerOrderRequest.getCustomerOrderProductList(); @@ -202,6 +216,18 @@ public class CustomerOrderServiceImpl implements CustomerOrderService { @Transactional(rollbackFor = Exception.class) public void update(UpdateCustomerOrderRequest updateCustomerOrderRequest) { + List repeatProductCodeList =updateCustomerOrderRequest.getCustomerOrderProductList().stream(). + collect(Collectors.groupingBy(dog->dog.getProductCode() ,Collectors.counting())) + .entrySet().stream() + .filter(entry->entry.getValue()>1) + .map(entry->entry.getKey()) + .collect(Collectors.toList()); + + if(!CollectionUtils.isEmpty(repeatProductCodeList)){ + String repeatProductCodeStr = StringUtils.join(repeatProductCodeList.toArray(), ","); + throw new BadRequestException("产品" + repeatProductCodeStr + "请合并为一条记录"); + } + CustomerOrder customerOrder = new CustomerOrder(); BeanUtils.copyProperties(updateCustomerOrderRequest, customerOrder); // 修改客户订单概要信息