From 1b116ca132bf93c905317365bacc2bde6c76a972 Mon Sep 17 00:00:00 2001 From: starrysky <838252223@qq.com> Date: Sun, 28 Jul 2019 10:59:32 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=88=A0=E9=99=A4=E7=89=A9?= =?UTF-8?q?=E6=96=99=E8=B5=84=E6=96=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wms/bd/cons/MaterialInventoryWarning.java | 28 +++++++++++++++++++ .../modules/wms/bd/domain/MaterialInfo.java | 4 +++ .../bd/repository/MaterialInfoRepository.java | 25 +++++++++++++++++ .../service/impl/MaterialInfoServiceImpl.java | 13 ++++++++- 4 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 eladmin-system/src/main/java/me/zhengjie/modules/wms/bd/cons/MaterialInventoryWarning.java diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/wms/bd/cons/MaterialInventoryWarning.java b/eladmin-system/src/main/java/me/zhengjie/modules/wms/bd/cons/MaterialInventoryWarning.java new file mode 100644 index 00000000..b3d353e8 --- /dev/null +++ b/eladmin-system/src/main/java/me/zhengjie/modules/wms/bd/cons/MaterialInventoryWarning.java @@ -0,0 +1,28 @@ +package me.zhengjie.modules.wms.bd.cons; + +import lombok.Data; + +/** + * 物料库存预警信息 + * [{“sort”:””,”ware_house_code”:””,”ware_house_name”:””,”minimum_inventory”:””,”highest_inventory”:””}] + * @author 黄星星 + * @date 2019-07-28 + */ +@Data +public class MaterialInventoryWarning { + // 排序 + private Integer sort; + + // 仓库编码 + private String wareHouseCode; + + // 仓库名称 + private String wareHouseName; + + // 最低库存 + private Integer miniNumInventory; + + // 最高库存 + private Integer highestInventory; + +} \ No newline at end of file diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/wms/bd/domain/MaterialInfo.java b/eladmin-system/src/main/java/me/zhengjie/modules/wms/bd/domain/MaterialInfo.java index d257860a..f86f1daf 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/wms/bd/domain/MaterialInfo.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/wms/bd/domain/MaterialInfo.java @@ -6,6 +6,7 @@ import cn.hutool.core.bean.copier.CopyOptions; import org.hibernate.annotations.CreationTimestamp; import javax.persistence.*; +import javax.validation.constraints.NotNull; import java.sql.Timestamp; import java.io.Serializable; @@ -69,6 +70,9 @@ public class MaterialInfo implements Serializable { @Column(name = "material_initial_setup_total_number") private String materialInitialSetupTotalNumber; + @NotNull + private Boolean status; + // 创建时间 @Column(name = "create_time") @CreationTimestamp diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/wms/bd/repository/MaterialInfoRepository.java b/eladmin-system/src/main/java/me/zhengjie/modules/wms/bd/repository/MaterialInfoRepository.java index fa22fffe..19d5042d 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/wms/bd/repository/MaterialInfoRepository.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/wms/bd/repository/MaterialInfoRepository.java @@ -1,12 +1,37 @@ package me.zhengjie.modules.wms.bd.repository; +import me.zhengjie.modules.wms.bd.domain.MaterialCategory; import me.zhengjie.modules.wms.bd.domain.MaterialInfo; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaSpecificationExecutor; +import org.springframework.data.jpa.repository.Modifying; +import org.springframework.data.jpa.repository.Query; /** * @author 黄星星 * @date 2019-07-27 */ public interface MaterialInfoRepository extends JpaRepository, JpaSpecificationExecutor { + + /** + * 根据物料编码查询状态存在的物料资料 + * @param materialCode + * @return + */ + MaterialInfo findByMaterialCodeAndStatusTrue(String materialCode); + + /** + * 根据主键查询状态正常的物料资料 + * @param id + * @return + */ + MaterialInfo findByIdAndStatusTrue(long id); + + /** + * 删除物料资料 + * @param id + */ + @Modifying + @Query(value = "update bd_material_info set status = 0 where id = ?1",nativeQuery = true) + void deleteMaterialInfo(long id); } \ No newline at end of file diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/wms/bd/service/impl/MaterialInfoServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/wms/bd/service/impl/MaterialInfoServiceImpl.java index 93df4efb..4dea6a2a 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/wms/bd/service/impl/MaterialInfoServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/wms/bd/service/impl/MaterialInfoServiceImpl.java @@ -85,6 +85,13 @@ public class MaterialInfoServiceImpl implements MaterialInfoService { if(null == measureUnit){ throw new BadRequestException("计量单位不存在!"); } + + // 物料编码 + String materialCode = resources.getMaterialCode(); + MaterialInfo byMaterialCodeAndStatusTrue = materialInfoRepository.findByMaterialCodeAndStatusTrue(materialCode); + if(null != byMaterialCodeAndStatusTrue){ + throw new BadRequestException("物料编码已存在!"); + } return materialInfoMapper.toDto(materialInfoRepository.save(resources)); } @@ -101,6 +108,10 @@ public class MaterialInfoServiceImpl implements MaterialInfoService { @Override @Transactional(rollbackFor = Exception.class) public void delete(long id) { - materialInfoRepository.deleteById(id); + MaterialInfo materialInfo = materialInfoRepository.findByIdAndStatusTrue(id); + if(null == materialInfo){ + throw new BadRequestException("物料资料不存在!"); + } + materialInfoRepository.deleteMaterialInfo(id); } } \ No newline at end of file