From e8d343da3820078320933645c484382b8ba763e7 Mon Sep 17 00:00:00 2001 From: lihongjie0209 Date: Mon, 8 Jan 2024 09:28:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=BA=93=E5=AD=98=E7=9B=98?= =?UTF-8?q?=E7=82=B9=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/InventoryCheckController.java | 54 ++++++++++ .../dto/CreateInventoryCheckDto.java | 21 ++++ .../inventoryCheck/dto/InventoryCheckDto.java | 60 ++++++++++++ .../dto/UpdateInventoryCheckDto.java | 21 ++++ .../entity/InventoryCheckEntity.java | 98 +++++++++++++++++++ .../mapper/InventoryCheckMapper.java | 22 +++++ .../repository/InventoryCheckRepository.java | 9 ++ .../service/InventoryCheckService.java | 71 ++++++++++++++ .../InventoryCheckDetailController.java | 54 ++++++++++ .../dto/CreateInventoryCheckDetailDto.java | 29 ++++++ .../dto/InventoryCheckDetailDto.java | 32 ++++++ .../dto/UpdateInventoryCheckDetailDto.java | 29 ++++++ .../entity/InventoryCheckDetailEntity.java | 34 +++++++ .../mapper/InventoryCheckDetailMapper.java | 22 +++++ .../InventoryCheckDetailRepository.java | 10 ++ .../service/InventoryCheckDetailService.java | 71 ++++++++++++++ src/main/resources/config/dictionary.json | 28 ++++++ 17 files changed, 665 insertions(+) create mode 100644 src/main/java/cn/lihongjie/coal/inventoryCheck/controller/InventoryCheckController.java create mode 100644 src/main/java/cn/lihongjie/coal/inventoryCheck/dto/CreateInventoryCheckDto.java create mode 100644 src/main/java/cn/lihongjie/coal/inventoryCheck/dto/InventoryCheckDto.java create mode 100644 src/main/java/cn/lihongjie/coal/inventoryCheck/dto/UpdateInventoryCheckDto.java create mode 100644 src/main/java/cn/lihongjie/coal/inventoryCheck/entity/InventoryCheckEntity.java create mode 100644 src/main/java/cn/lihongjie/coal/inventoryCheck/mapper/InventoryCheckMapper.java create mode 100644 src/main/java/cn/lihongjie/coal/inventoryCheck/repository/InventoryCheckRepository.java create mode 100644 src/main/java/cn/lihongjie/coal/inventoryCheck/service/InventoryCheckService.java create mode 100644 src/main/java/cn/lihongjie/coal/inventoryCheckDetail/controller/InventoryCheckDetailController.java create mode 100644 src/main/java/cn/lihongjie/coal/inventoryCheckDetail/dto/CreateInventoryCheckDetailDto.java create mode 100644 src/main/java/cn/lihongjie/coal/inventoryCheckDetail/dto/InventoryCheckDetailDto.java create mode 100644 src/main/java/cn/lihongjie/coal/inventoryCheckDetail/dto/UpdateInventoryCheckDetailDto.java create mode 100644 src/main/java/cn/lihongjie/coal/inventoryCheckDetail/entity/InventoryCheckDetailEntity.java create mode 100644 src/main/java/cn/lihongjie/coal/inventoryCheckDetail/mapper/InventoryCheckDetailMapper.java create mode 100644 src/main/java/cn/lihongjie/coal/inventoryCheckDetail/repository/InventoryCheckDetailRepository.java create mode 100644 src/main/java/cn/lihongjie/coal/inventoryCheckDetail/service/InventoryCheckDetailService.java diff --git a/src/main/java/cn/lihongjie/coal/inventoryCheck/controller/InventoryCheckController.java b/src/main/java/cn/lihongjie/coal/inventoryCheck/controller/InventoryCheckController.java new file mode 100644 index 00000000..8f7262a0 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/inventoryCheck/controller/InventoryCheckController.java @@ -0,0 +1,54 @@ +package cn.lihongjie.coal.inventoryCheck.controller; + +import cn.lihongjie.coal.annotation.OrgScope; +import cn.lihongjie.coal.annotation.SysLog; +import cn.lihongjie.coal.base.dto.CommonQuery; +import cn.lihongjie.coal.base.dto.IdRequest; +import cn.lihongjie.coal.inventoryCheck.dto.CreateInventoryCheckDto; +import cn.lihongjie.coal.inventoryCheck.dto.InventoryCheckDto; +import cn.lihongjie.coal.inventoryCheck.dto.UpdateInventoryCheckDto; +import cn.lihongjie.coal.inventoryCheck.service.InventoryCheckService; + +import lombok.extern.slf4j.Slf4j; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/inventoryCheck") +@SysLog(module = "库存盘点") +@Slf4j +@OrgScope +public class InventoryCheckController { + @Autowired private InventoryCheckService service; + + @PostMapping("/create") + public InventoryCheckDto create(@RequestBody CreateInventoryCheckDto request) { + return this.service.create(request); + } + + @PostMapping("/update") + public InventoryCheckDto update(@RequestBody UpdateInventoryCheckDto request) { + return this.service.update(request); + } + + @PostMapping("/delete") + public Object delete(@RequestBody IdRequest request) { + this.service.delete(request); + return true; + } + + @PostMapping("/getById") + public InventoryCheckDto getById(@RequestBody IdRequest request) { + return this.service.getById(request.getId()); + } + + @PostMapping("/list") + public Page list(@RequestBody CommonQuery request) { + return this.service.list(request); + } +} diff --git a/src/main/java/cn/lihongjie/coal/inventoryCheck/dto/CreateInventoryCheckDto.java b/src/main/java/cn/lihongjie/coal/inventoryCheck/dto/CreateInventoryCheckDto.java new file mode 100644 index 00000000..ae4d28aa --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/inventoryCheck/dto/CreateInventoryCheckDto.java @@ -0,0 +1,21 @@ +package cn.lihongjie.coal.inventoryCheck.dto; + +import cn.lihongjie.coal.base.dto.OrgCommonDto; + +import lombok.Data; + +import org.hibernate.annotations.Comment; + +import java.time.LocalDateTime; + +@Data +public class CreateInventoryCheckDto extends OrgCommonDto { + + + private LocalDateTime checkTime; + + @Comment("盘点类型") + private String checkType; + + +} diff --git a/src/main/java/cn/lihongjie/coal/inventoryCheck/dto/InventoryCheckDto.java b/src/main/java/cn/lihongjie/coal/inventoryCheck/dto/InventoryCheckDto.java new file mode 100644 index 00000000..bb04d15f --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/inventoryCheck/dto/InventoryCheckDto.java @@ -0,0 +1,60 @@ +package cn.lihongjie.coal.inventoryCheck.dto; + +import cn.lihongjie.coal.base.dto.OrgCommonDto; + +import lombok.Data; + +import org.hibernate.annotations.Comment; +import org.hibernate.annotations.Formula; + +import java.time.LocalDateTime; + +@Data +public class InventoryCheckDto extends OrgCommonDto { + + private LocalDateTime checkTime; + + @Comment("盘点类型") + private String checkType; + + @Formula( + "(select i.name\n" + + "from t_dictionary d,\n" + + " t_dictionary_item i\n" + + "where d.id = i.dictionary_id\n" + + " and d.code = 'inventoryCheck.type'\n" + + " and i.code = check_type)") + @Comment("盘点类型-名称") + private String checkTypeName; + + /** + * 精煤 合计 + */ + + private Long sum0; + /** + * 中煤 合计 + */ + + private Long sum1; + /** + * 原煤 合计 + */ + + private Long sum2; + /** + * 煤泥 合计 + */ + + private Long sum3; + /** + * 矸石 合计 + */ + + private Long sum4; + /** + * 其他 合计 + */ + + private Long sum5; +} diff --git a/src/main/java/cn/lihongjie/coal/inventoryCheck/dto/UpdateInventoryCheckDto.java b/src/main/java/cn/lihongjie/coal/inventoryCheck/dto/UpdateInventoryCheckDto.java new file mode 100644 index 00000000..5326cedf --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/inventoryCheck/dto/UpdateInventoryCheckDto.java @@ -0,0 +1,21 @@ +package cn.lihongjie.coal.inventoryCheck.dto; + +import cn.lihongjie.coal.base.dto.OrgCommonDto; + +import lombok.Data; + +import org.hibernate.annotations.Comment; + +import java.time.LocalDateTime; + +@Data +public class UpdateInventoryCheckDto extends OrgCommonDto { + private LocalDateTime checkTime; + + @Comment("盘点类型") + private String checkType; + + + + +} diff --git a/src/main/java/cn/lihongjie/coal/inventoryCheck/entity/InventoryCheckEntity.java b/src/main/java/cn/lihongjie/coal/inventoryCheck/entity/InventoryCheckEntity.java new file mode 100644 index 00000000..5285a958 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/inventoryCheck/entity/InventoryCheckEntity.java @@ -0,0 +1,98 @@ +package cn.lihongjie.coal.inventoryCheck.entity; + +import cn.lihongjie.coal.base.entity.OrgCommonEntity; + +import jakarta.persistence.Entity; + +import lombok.Data; + +import org.hibernate.annotations.Comment; +import org.hibernate.annotations.Formula; + +import java.time.LocalDateTime; + +@Data +@Entity +public class InventoryCheckEntity extends OrgCommonEntity { + + private LocalDateTime checkTime; + + @Comment("盘点类型") + private String checkType; + + @Formula( + "(select i.name\n" + + "from t_dictionary d,\n" + + " t_dictionary_item i\n" + + "where d.id = i.dictionary_id\n" + + " and d.code = 'inventoryCheck.type'\n" + + " and i.code = check_type)") + @Comment("盘点类型-名称") + private String checkTypeName; + + /** 精煤 合计 */ + @Formula( + """ + +select sum(amount) from t_inventory_check_detail d + left join t_coal_info c on d.coal_info_id = c.id + left join t_product p on d.product_id = p.id +where (c.coal_type = '0' or p.coal_type = '0') and d.inventory_check_id = id +""") + private Long sum0; + + /** 中煤 合计 */ + @Formula( + """ + +select sum(amount) from t_inventory_check_detail d + left join t_coal_info c on d.coal_info_id = c.id + left join t_product p on d.product_id = p.id +where (c.coal_type = '1' or p.coal_type = '1') and d.inventory_check_id = id +""") + private Long sum1; + + /** 原煤 合计 */ + @Formula( + """ + +select sum(amount) from t_inventory_check_detail d + left join t_coal_info c on d.coal_info_id = c.id + left join t_product p on d.product_id = p.id +where (c.coal_type = '2' or p.coal_type = '2') and d.inventory_check_id = id +""") + private Long sum2; + + /** 煤泥 合计 */ + @Formula( + """ + +select sum(amount) from t_inventory_check_detail d + left join t_coal_info c on d.coal_info_id = c.id + left join t_product p on d.product_id = p.id +where (c.coal_type = '3' or p.coal_type = '3') and d.inventory_check_id = id +""") + private Long sum3; + + /** 矸石 合计 */ + @Formula( + """ + +select sum(amount) from t_inventory_check_detail d + left join t_coal_info c on d.coal_info_id = c.id + left join t_product p on d.product_id = p.id +where (c.coal_type = '4' or p.coal_type = '4') and d.inventory_check_id = id +""") + private Long sum4; + + /** 其他 合计 */ + @Formula( + """ + +select sum(amount) from t_inventory_check_detail d + left join t_coal_info c on d.coal_info_id = c.id + left join t_product p on d.product_id = p.id +where (c.coal_type = '5' or p.coal_type = '5') and d.inventory_check_id = id +""") + private Long sum5; +} diff --git a/src/main/java/cn/lihongjie/coal/inventoryCheck/mapper/InventoryCheckMapper.java b/src/main/java/cn/lihongjie/coal/inventoryCheck/mapper/InventoryCheckMapper.java new file mode 100644 index 00000000..4bbd2bf7 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/inventoryCheck/mapper/InventoryCheckMapper.java @@ -0,0 +1,22 @@ +package cn.lihongjie.coal.inventoryCheck.mapper; + +import cn.lihongjie.coal.base.mapper.BaseMapper; +import cn.lihongjie.coal.base.mapper.CommonMapper; +import cn.lihongjie.coal.inventoryCheck.dto.CreateInventoryCheckDto; +import cn.lihongjie.coal.inventoryCheck.dto.InventoryCheckDto; +import cn.lihongjie.coal.inventoryCheck.dto.UpdateInventoryCheckDto; +import cn.lihongjie.coal.inventoryCheck.entity.InventoryCheckEntity; + +import org.mapstruct.Mapper; +import org.mapstruct.control.DeepClone; + +@Mapper( + componentModel = org.mapstruct.MappingConstants.ComponentModel.SPRING, + uses = {CommonMapper.class}, + mappingControl = DeepClone.class) +public interface InventoryCheckMapper + extends BaseMapper< + InventoryCheckEntity, + InventoryCheckDto, + CreateInventoryCheckDto, + UpdateInventoryCheckDto> {} diff --git a/src/main/java/cn/lihongjie/coal/inventoryCheck/repository/InventoryCheckRepository.java b/src/main/java/cn/lihongjie/coal/inventoryCheck/repository/InventoryCheckRepository.java new file mode 100644 index 00000000..9325f075 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/inventoryCheck/repository/InventoryCheckRepository.java @@ -0,0 +1,9 @@ +package cn.lihongjie.coal.inventoryCheck.repository; + +import cn.lihongjie.coal.base.dao.BaseRepository; +import cn.lihongjie.coal.inventoryCheck.entity.InventoryCheckEntity; + +import org.springframework.stereotype.Repository; + +@Repository +public interface InventoryCheckRepository extends BaseRepository {} diff --git a/src/main/java/cn/lihongjie/coal/inventoryCheck/service/InventoryCheckService.java b/src/main/java/cn/lihongjie/coal/inventoryCheck/service/InventoryCheckService.java new file mode 100644 index 00000000..9e0e3c82 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/inventoryCheck/service/InventoryCheckService.java @@ -0,0 +1,71 @@ +package cn.lihongjie.coal.inventoryCheck.service; + +import cn.lihongjie.coal.base.dto.CommonQuery; +import cn.lihongjie.coal.base.dto.IdRequest; +import cn.lihongjie.coal.base.service.BaseService; +import cn.lihongjie.coal.inventoryCheck.dto.CreateInventoryCheckDto; +import cn.lihongjie.coal.inventoryCheck.dto.InventoryCheckDto; +import cn.lihongjie.coal.inventoryCheck.dto.UpdateInventoryCheckDto; +import cn.lihongjie.coal.inventoryCheck.entity.InventoryCheckEntity; +import cn.lihongjie.coal.inventoryCheck.mapper.InventoryCheckMapper; +import cn.lihongjie.coal.inventoryCheck.repository.InventoryCheckRepository; + +import lombok.extern.slf4j.Slf4j; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.convert.ConversionService; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Sort; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Service +@Slf4j +@Transactional +public class InventoryCheckService + extends BaseService { + @Autowired private InventoryCheckRepository repository; + + @Autowired private InventoryCheckMapper mapper; + + @Autowired private ConversionService conversionService; + + public InventoryCheckDto create(CreateInventoryCheckDto request) { + InventoryCheckEntity entity = mapper.toEntity(request); + + this.repository.save(entity); + return getById(entity.getId()); + } + + public InventoryCheckDto update(UpdateInventoryCheckDto request) { + InventoryCheckEntity entity = this.repository.get(request.getId()); + this.mapper.updateEntity(entity, request); + + this.repository.save(entity); + + return getById(entity.getId()); + } + + public void delete(IdRequest request) { + this.repository.deleteAllById(request.getIds()); + } + + public InventoryCheckDto getById(String id) { + InventoryCheckEntity entity = repository.get(id); + + return mapper.toDto(entity); + } + + public Page list(CommonQuery query) { + Page page = + repository.findAll( + query.specification(conversionService), + PageRequest.of( + query.getPageNo(), + query.getPageSize(), + Sort.by(query.getOrders()))); + + return page.map(this.mapper::toDto); + } +} diff --git a/src/main/java/cn/lihongjie/coal/inventoryCheckDetail/controller/InventoryCheckDetailController.java b/src/main/java/cn/lihongjie/coal/inventoryCheckDetail/controller/InventoryCheckDetailController.java new file mode 100644 index 00000000..24acd2a9 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/inventoryCheckDetail/controller/InventoryCheckDetailController.java @@ -0,0 +1,54 @@ +package cn.lihongjie.coal.inventoryCheckDetail.controller; + +import cn.lihongjie.coal.annotation.OrgScope; +import cn.lihongjie.coal.annotation.SysLog; +import cn.lihongjie.coal.base.dto.CommonQuery; +import cn.lihongjie.coal.base.dto.IdRequest; +import cn.lihongjie.coal.inventoryCheckDetail.dto.CreateInventoryCheckDetailDto; +import cn.lihongjie.coal.inventoryCheckDetail.dto.InventoryCheckDetailDto; +import cn.lihongjie.coal.inventoryCheckDetail.dto.UpdateInventoryCheckDetailDto; +import cn.lihongjie.coal.inventoryCheckDetail.service.InventoryCheckDetailService; + +import lombok.extern.slf4j.Slf4j; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/inventoryCheckDetail") +@SysLog(module = "库存盘点明细") +@Slf4j +@OrgScope +public class InventoryCheckDetailController { + @Autowired private InventoryCheckDetailService service; + + @PostMapping("/create") + public InventoryCheckDetailDto create(@RequestBody CreateInventoryCheckDetailDto request) { + return this.service.create(request); + } + + @PostMapping("/update") + public InventoryCheckDetailDto update(@RequestBody UpdateInventoryCheckDetailDto request) { + return this.service.update(request); + } + + @PostMapping("/delete") + public Object delete(@RequestBody IdRequest request) { + this.service.delete(request); + return true; + } + + @PostMapping("/getById") + public InventoryCheckDetailDto getById(@RequestBody IdRequest request) { + return this.service.getById(request.getId()); + } + + @PostMapping("/list") + public Page list(@RequestBody CommonQuery request) { + return this.service.list(request); + } +} diff --git a/src/main/java/cn/lihongjie/coal/inventoryCheckDetail/dto/CreateInventoryCheckDetailDto.java b/src/main/java/cn/lihongjie/coal/inventoryCheckDetail/dto/CreateInventoryCheckDetailDto.java new file mode 100644 index 00000000..d231b819 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/inventoryCheckDetail/dto/CreateInventoryCheckDetailDto.java @@ -0,0 +1,29 @@ +package cn.lihongjie.coal.inventoryCheckDetail.dto; + +import cn.lihongjie.coal.base.dto.OrgCommonDto; + +import jakarta.persistence.ManyToOne; + +import lombok.Data; + +@Data +public class CreateInventoryCheckDetailDto extends OrgCommonDto { + + + @ManyToOne + private String inventoryCheck; + + + @ManyToOne + private String coalInfo; + + + + @ManyToOne + private String product; + + + + private Double amount; + +} diff --git a/src/main/java/cn/lihongjie/coal/inventoryCheckDetail/dto/InventoryCheckDetailDto.java b/src/main/java/cn/lihongjie/coal/inventoryCheckDetail/dto/InventoryCheckDetailDto.java new file mode 100644 index 00000000..a975f4dd --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/inventoryCheckDetail/dto/InventoryCheckDetailDto.java @@ -0,0 +1,32 @@ +package cn.lihongjie.coal.inventoryCheckDetail.dto; + +import cn.lihongjie.coal.base.dto.OrgCommonDto; +import cn.lihongjie.coal.coalInfo.dto.CoalInfoDto; +import cn.lihongjie.coal.inventoryCheck.dto.InventoryCheckDto; +import cn.lihongjie.coal.product.dto.ProductDto; + +import jakarta.persistence.ManyToOne; + +import lombok.Data; + +@Data +public class InventoryCheckDetailDto extends OrgCommonDto { + + + @ManyToOne + private InventoryCheckDto inventoryCheck; + + + @ManyToOne + private CoalInfoDto coalInfo; + + + + @ManyToOne + private ProductDto product; + + + + private Double amount; + +} diff --git a/src/main/java/cn/lihongjie/coal/inventoryCheckDetail/dto/UpdateInventoryCheckDetailDto.java b/src/main/java/cn/lihongjie/coal/inventoryCheckDetail/dto/UpdateInventoryCheckDetailDto.java new file mode 100644 index 00000000..413567f2 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/inventoryCheckDetail/dto/UpdateInventoryCheckDetailDto.java @@ -0,0 +1,29 @@ +package cn.lihongjie.coal.inventoryCheckDetail.dto; + +import cn.lihongjie.coal.base.dto.OrgCommonDto; + +import jakarta.persistence.ManyToOne; + +import lombok.Data; + +@Data +public class UpdateInventoryCheckDetailDto extends OrgCommonDto { + + + @ManyToOne + private String inventoryCheck; + + + @ManyToOne + private String coalInfo; + + + + @ManyToOne + private String product; + + + + private Double amount; + +} diff --git a/src/main/java/cn/lihongjie/coal/inventoryCheckDetail/entity/InventoryCheckDetailEntity.java b/src/main/java/cn/lihongjie/coal/inventoryCheckDetail/entity/InventoryCheckDetailEntity.java new file mode 100644 index 00000000..8d86c88a --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/inventoryCheckDetail/entity/InventoryCheckDetailEntity.java @@ -0,0 +1,34 @@ +package cn.lihongjie.coal.inventoryCheckDetail.entity; + +import cn.lihongjie.coal.base.entity.OrgCommonEntity; +import cn.lihongjie.coal.coalInfo.entity.CoalInfoEntity; +import cn.lihongjie.coal.inventoryCheck.entity.InventoryCheckEntity; +import cn.lihongjie.coal.product.entity.ProductEntity; + +import jakarta.persistence.Entity; +import jakarta.persistence.ManyToOne; + +import lombok.Data; + +@Data +@Entity +public class InventoryCheckDetailEntity extends OrgCommonEntity { + + + @ManyToOne + private InventoryCheckEntity inventoryCheck; + + + @ManyToOne + private CoalInfoEntity coalInfo; + + + + @ManyToOne + private ProductEntity product; + + + + private Double amount; + +} diff --git a/src/main/java/cn/lihongjie/coal/inventoryCheckDetail/mapper/InventoryCheckDetailMapper.java b/src/main/java/cn/lihongjie/coal/inventoryCheckDetail/mapper/InventoryCheckDetailMapper.java new file mode 100644 index 00000000..e3dbed6d --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/inventoryCheckDetail/mapper/InventoryCheckDetailMapper.java @@ -0,0 +1,22 @@ +package cn.lihongjie.coal.inventoryCheckDetail.mapper; + +import cn.lihongjie.coal.base.mapper.BaseMapper; +import cn.lihongjie.coal.base.mapper.CommonMapper; +import cn.lihongjie.coal.inventoryCheckDetail.dto.CreateInventoryCheckDetailDto; +import cn.lihongjie.coal.inventoryCheckDetail.dto.InventoryCheckDetailDto; +import cn.lihongjie.coal.inventoryCheckDetail.dto.UpdateInventoryCheckDetailDto; +import cn.lihongjie.coal.inventoryCheckDetail.entity.InventoryCheckDetailEntity; + +import org.mapstruct.Mapper; +import org.mapstruct.control.DeepClone; + +@Mapper( + componentModel = org.mapstruct.MappingConstants.ComponentModel.SPRING, + uses = {CommonMapper.class}, + mappingControl = DeepClone.class) +public interface InventoryCheckDetailMapper + extends BaseMapper< + InventoryCheckDetailEntity, + InventoryCheckDetailDto, + CreateInventoryCheckDetailDto, + UpdateInventoryCheckDetailDto> {} diff --git a/src/main/java/cn/lihongjie/coal/inventoryCheckDetail/repository/InventoryCheckDetailRepository.java b/src/main/java/cn/lihongjie/coal/inventoryCheckDetail/repository/InventoryCheckDetailRepository.java new file mode 100644 index 00000000..578e177d --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/inventoryCheckDetail/repository/InventoryCheckDetailRepository.java @@ -0,0 +1,10 @@ +package cn.lihongjie.coal.inventoryCheckDetail.repository; + +import cn.lihongjie.coal.base.dao.BaseRepository; +import cn.lihongjie.coal.inventoryCheckDetail.entity.InventoryCheckDetailEntity; + +import org.springframework.stereotype.Repository; + +@Repository +public interface InventoryCheckDetailRepository + extends BaseRepository {} diff --git a/src/main/java/cn/lihongjie/coal/inventoryCheckDetail/service/InventoryCheckDetailService.java b/src/main/java/cn/lihongjie/coal/inventoryCheckDetail/service/InventoryCheckDetailService.java new file mode 100644 index 00000000..bf9ae675 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/inventoryCheckDetail/service/InventoryCheckDetailService.java @@ -0,0 +1,71 @@ +package cn.lihongjie.coal.inventoryCheckDetail.service; + +import cn.lihongjie.coal.base.dto.CommonQuery; +import cn.lihongjie.coal.base.dto.IdRequest; +import cn.lihongjie.coal.base.service.BaseService; +import cn.lihongjie.coal.inventoryCheckDetail.dto.CreateInventoryCheckDetailDto; +import cn.lihongjie.coal.inventoryCheckDetail.dto.InventoryCheckDetailDto; +import cn.lihongjie.coal.inventoryCheckDetail.dto.UpdateInventoryCheckDetailDto; +import cn.lihongjie.coal.inventoryCheckDetail.entity.InventoryCheckDetailEntity; +import cn.lihongjie.coal.inventoryCheckDetail.mapper.InventoryCheckDetailMapper; +import cn.lihongjie.coal.inventoryCheckDetail.repository.InventoryCheckDetailRepository; + +import lombok.extern.slf4j.Slf4j; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.convert.ConversionService; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Sort; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Service +@Slf4j +@Transactional +public class InventoryCheckDetailService + extends BaseService { + @Autowired private InventoryCheckDetailRepository repository; + + @Autowired private InventoryCheckDetailMapper mapper; + + @Autowired private ConversionService conversionService; + + public InventoryCheckDetailDto create(CreateInventoryCheckDetailDto request) { + InventoryCheckDetailEntity entity = mapper.toEntity(request); + + this.repository.save(entity); + return getById(entity.getId()); + } + + public InventoryCheckDetailDto update(UpdateInventoryCheckDetailDto request) { + InventoryCheckDetailEntity entity = this.repository.get(request.getId()); + this.mapper.updateEntity(entity, request); + + this.repository.save(entity); + + return getById(entity.getId()); + } + + public void delete(IdRequest request) { + this.repository.deleteAllById(request.getIds()); + } + + public InventoryCheckDetailDto getById(String id) { + InventoryCheckDetailEntity entity = repository.get(id); + + return mapper.toDto(entity); + } + + public Page list(CommonQuery query) { + Page page = + repository.findAll( + query.specification(conversionService), + PageRequest.of( + query.getPageNo(), + query.getPageSize(), + Sort.by(query.getOrders()))); + + return page.map(this.mapper::toDto); + } +} diff --git a/src/main/resources/config/dictionary.json b/src/main/resources/config/dictionary.json index ae7e1c3c..11abcaf8 100644 --- a/src/main/resources/config/dictionary.json +++ b/src/main/resources/config/dictionary.json @@ -1914,9 +1914,37 @@ { "code": "2", "name": "原煤" + }, + { + "code": "3", + "name": "煤泥" + }, + { + "code": "4", + "name": "矸石" + }, + { + "code": "5", + "name": "其他" } ] }, + + { + "code": "inventoryCheck.type", + "name": "库存盘点类型", + "item": [ + { + "code": "0", + "name": "煤源" + }, + { + "code": "1", + "name": "产品" + } + + ] + }, { "code": "coalParameter.inputType", "name": "煤参数录入方式",