From ee6785d4ec820aa60f48d67efdd89f64557ad2ca Mon Sep 17 00:00:00 2001 From: lihongjie0209 Date: Wed, 11 Sep 2024 20:05:57 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=8A=A5=E8=A1=A8=E5=AE=9A?= =?UTF-8?q?=E4=B9=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PurchaseOrderReportController.java | 54 +++++++++++ .../dto/CreatePurchaseOrderReportDto.java | 10 ++ .../dto/PurchaseOrderReportDto.java | 10 ++ .../dto/UpdatePurchaseOrderReportDto.java | 11 +++ .../entity/PurchaseOrderReportEntity.java | 14 +++ .../mapper/PurchaseOrderReportMapper.java | 23 +++++ .../PurchaseOrderReportRepository.java | 15 +++ .../service/PurchaseOrderReportService.java | 81 ++++++++++++++++ .../controller/SaleOrderReportController.java | 66 +++++++++++++ .../dto/CreateSaleOrderReportDto.java | 11 +++ .../dto/SaleOrderReportDto.java | 10 ++ .../dto/UpdateSaleOrderReportDto.java | 11 +++ .../entity/SaleOrderReportEntity.java | 14 +++ .../mapper/SaleOrderReportMapper.java | 23 +++++ .../repository/SaleOrderReportRepository.java | 15 +++ .../service/SaleOrderReportService.java | 94 +++++++++++++++++++ .../dict/enum/purchaseOrderReportDict.groovy | 17 ++++ .../dict/enum/saleOrderReportDict.groovy | 17 ++++ 18 files changed, 496 insertions(+) create mode 100644 src/main/java/cn/lihongjie/coal/purchaseOrderReport/controller/PurchaseOrderReportController.java create mode 100644 src/main/java/cn/lihongjie/coal/purchaseOrderReport/dto/CreatePurchaseOrderReportDto.java create mode 100644 src/main/java/cn/lihongjie/coal/purchaseOrderReport/dto/PurchaseOrderReportDto.java create mode 100644 src/main/java/cn/lihongjie/coal/purchaseOrderReport/dto/UpdatePurchaseOrderReportDto.java create mode 100644 src/main/java/cn/lihongjie/coal/purchaseOrderReport/entity/PurchaseOrderReportEntity.java create mode 100644 src/main/java/cn/lihongjie/coal/purchaseOrderReport/mapper/PurchaseOrderReportMapper.java create mode 100644 src/main/java/cn/lihongjie/coal/purchaseOrderReport/repository/PurchaseOrderReportRepository.java create mode 100644 src/main/java/cn/lihongjie/coal/purchaseOrderReport/service/PurchaseOrderReportService.java create mode 100644 src/main/java/cn/lihongjie/coal/saleOrderReport/controller/SaleOrderReportController.java create mode 100644 src/main/java/cn/lihongjie/coal/saleOrderReport/dto/CreateSaleOrderReportDto.java create mode 100644 src/main/java/cn/lihongjie/coal/saleOrderReport/dto/SaleOrderReportDto.java create mode 100644 src/main/java/cn/lihongjie/coal/saleOrderReport/dto/UpdateSaleOrderReportDto.java create mode 100644 src/main/java/cn/lihongjie/coal/saleOrderReport/entity/SaleOrderReportEntity.java create mode 100644 src/main/java/cn/lihongjie/coal/saleOrderReport/mapper/SaleOrderReportMapper.java create mode 100644 src/main/java/cn/lihongjie/coal/saleOrderReport/repository/SaleOrderReportRepository.java create mode 100644 src/main/java/cn/lihongjie/coal/saleOrderReport/service/SaleOrderReportService.java create mode 100644 src/main/resources/scripts/dict/enum/purchaseOrderReportDict.groovy create mode 100644 src/main/resources/scripts/dict/enum/saleOrderReportDict.groovy diff --git a/src/main/java/cn/lihongjie/coal/purchaseOrderReport/controller/PurchaseOrderReportController.java b/src/main/java/cn/lihongjie/coal/purchaseOrderReport/controller/PurchaseOrderReportController.java new file mode 100644 index 00000000..130ce07d --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/purchaseOrderReport/controller/PurchaseOrderReportController.java @@ -0,0 +1,54 @@ +package cn.lihongjie.coal.purchaseOrderReport.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.purchaseOrderReport.dto.CreatePurchaseOrderReportDto; +import cn.lihongjie.coal.purchaseOrderReport.dto.PurchaseOrderReportDto; +import cn.lihongjie.coal.purchaseOrderReport.dto.UpdatePurchaseOrderReportDto; +import cn.lihongjie.coal.purchaseOrderReport.service.PurchaseOrderReportService; + +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("/purchaseOrderReport") +@SysLog(module = "") +@Slf4j +@OrgScope +public class PurchaseOrderReportController { + @Autowired private PurchaseOrderReportService service; + + @PostMapping("/create") + public PurchaseOrderReportDto create(@RequestBody CreatePurchaseOrderReportDto request) { + return this.service.create(request); + } + + @PostMapping("/update") + public PurchaseOrderReportDto update(@RequestBody UpdatePurchaseOrderReportDto request) { + return this.service.update(request); + } + + @PostMapping("/delete") + public Object delete(@RequestBody IdRequest request) { + this.service.delete(request); + return true; + } + + @PostMapping("/getById") + public PurchaseOrderReportDto 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/purchaseOrderReport/dto/CreatePurchaseOrderReportDto.java b/src/main/java/cn/lihongjie/coal/purchaseOrderReport/dto/CreatePurchaseOrderReportDto.java new file mode 100644 index 00000000..1d02ab82 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/purchaseOrderReport/dto/CreatePurchaseOrderReportDto.java @@ -0,0 +1,10 @@ +package cn.lihongjie.coal.purchaseOrderReport.dto; + +import cn.lihongjie.coal.base.dto.OrgCommonDto; + +import lombok.Data; + +@Data +public class CreatePurchaseOrderReportDto extends OrgCommonDto { + private String jsonConfig; +} diff --git a/src/main/java/cn/lihongjie/coal/purchaseOrderReport/dto/PurchaseOrderReportDto.java b/src/main/java/cn/lihongjie/coal/purchaseOrderReport/dto/PurchaseOrderReportDto.java new file mode 100644 index 00000000..66584f36 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/purchaseOrderReport/dto/PurchaseOrderReportDto.java @@ -0,0 +1,10 @@ +package cn.lihongjie.coal.purchaseOrderReport.dto; + +import cn.lihongjie.coal.base.dto.OrgCommonDto; + +import lombok.Data; + +@Data +public class PurchaseOrderReportDto extends OrgCommonDto { + private String jsonConfig; +} diff --git a/src/main/java/cn/lihongjie/coal/purchaseOrderReport/dto/UpdatePurchaseOrderReportDto.java b/src/main/java/cn/lihongjie/coal/purchaseOrderReport/dto/UpdatePurchaseOrderReportDto.java new file mode 100644 index 00000000..e3943a1e --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/purchaseOrderReport/dto/UpdatePurchaseOrderReportDto.java @@ -0,0 +1,11 @@ +package cn.lihongjie.coal.purchaseOrderReport.dto; + +import cn.lihongjie.coal.base.dto.OrgCommonDto; + +import lombok.Data; + +@Data +public class UpdatePurchaseOrderReportDto extends OrgCommonDto { + + private String jsonConfig; +} diff --git a/src/main/java/cn/lihongjie/coal/purchaseOrderReport/entity/PurchaseOrderReportEntity.java b/src/main/java/cn/lihongjie/coal/purchaseOrderReport/entity/PurchaseOrderReportEntity.java new file mode 100644 index 00000000..e290027b --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/purchaseOrderReport/entity/PurchaseOrderReportEntity.java @@ -0,0 +1,14 @@ +package cn.lihongjie.coal.purchaseOrderReport.entity; + +import cn.lihongjie.coal.base.entity.OrgCommonEntity; + +import jakarta.persistence.Entity; + +import lombok.Data; + +@Data +@Entity +public class PurchaseOrderReportEntity extends OrgCommonEntity { + + private String jsonConfig; +} diff --git a/src/main/java/cn/lihongjie/coal/purchaseOrderReport/mapper/PurchaseOrderReportMapper.java b/src/main/java/cn/lihongjie/coal/purchaseOrderReport/mapper/PurchaseOrderReportMapper.java new file mode 100644 index 00000000..41c63887 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/purchaseOrderReport/mapper/PurchaseOrderReportMapper.java @@ -0,0 +1,23 @@ +package cn.lihongjie.coal.purchaseOrderReport.mapper; + +import cn.lihongjie.coal.base.mapper.BaseMapper; +import cn.lihongjie.coal.base.mapper.CommonEntityMapper; +import cn.lihongjie.coal.base.mapper.CommonMapper; +import cn.lihongjie.coal.purchaseOrderReport.dto.CreatePurchaseOrderReportDto; +import cn.lihongjie.coal.purchaseOrderReport.dto.PurchaseOrderReportDto; +import cn.lihongjie.coal.purchaseOrderReport.dto.UpdatePurchaseOrderReportDto; +import cn.lihongjie.coal.purchaseOrderReport.entity.PurchaseOrderReportEntity; + +import org.mapstruct.Mapper; +import org.mapstruct.control.DeepClone; + +@Mapper( + componentModel = org.mapstruct.MappingConstants.ComponentModel.SPRING, + uses = {CommonMapper.class, CommonEntityMapper.class}, + mappingControl = DeepClone.class) +public interface PurchaseOrderReportMapper + extends BaseMapper< + PurchaseOrderReportEntity, + PurchaseOrderReportDto, + CreatePurchaseOrderReportDto, + UpdatePurchaseOrderReportDto> {} diff --git a/src/main/java/cn/lihongjie/coal/purchaseOrderReport/repository/PurchaseOrderReportRepository.java b/src/main/java/cn/lihongjie/coal/purchaseOrderReport/repository/PurchaseOrderReportRepository.java new file mode 100644 index 00000000..dd7cdd0b --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/purchaseOrderReport/repository/PurchaseOrderReportRepository.java @@ -0,0 +1,15 @@ +package cn.lihongjie.coal.purchaseOrderReport.repository; + +import cn.lihongjie.coal.base.dao.BaseRepository; +import cn.lihongjie.coal.purchaseOrderReport.entity.PurchaseOrderReportEntity; + +import org.springframework.data.jpa.repository.Query; +import org.springframework.stereotype.Repository; + +import java.util.List; + +@Repository +public interface PurchaseOrderReportRepository extends BaseRepository { + @Query("select false") + boolean isLinked(List ids); +} diff --git a/src/main/java/cn/lihongjie/coal/purchaseOrderReport/service/PurchaseOrderReportService.java b/src/main/java/cn/lihongjie/coal/purchaseOrderReport/service/PurchaseOrderReportService.java new file mode 100644 index 00000000..92c2202c --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/purchaseOrderReport/service/PurchaseOrderReportService.java @@ -0,0 +1,81 @@ +package cn.lihongjie.coal.purchaseOrderReport.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.dbFunctions.DbFunctionService; +import cn.lihongjie.coal.exception.BizException; +import cn.lihongjie.coal.purchaseOrderReport.dto.CreatePurchaseOrderReportDto; +import cn.lihongjie.coal.purchaseOrderReport.dto.PurchaseOrderReportDto; +import cn.lihongjie.coal.purchaseOrderReport.dto.UpdatePurchaseOrderReportDto; +import cn.lihongjie.coal.purchaseOrderReport.entity.PurchaseOrderReportEntity; +import cn.lihongjie.coal.purchaseOrderReport.mapper.PurchaseOrderReportMapper; +import cn.lihongjie.coal.purchaseOrderReport.repository.PurchaseOrderReportRepository; + +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 PurchaseOrderReportService + extends BaseService { + @Autowired private PurchaseOrderReportRepository repository; + + @Autowired private PurchaseOrderReportMapper mapper; + + @Autowired private ConversionService conversionService; + + @Autowired private DbFunctionService dbFunctionService; + + public PurchaseOrderReportDto create(CreatePurchaseOrderReportDto request) { + PurchaseOrderReportEntity entity = mapper.toEntity(request); + + this.repository.save(entity); + return getById(entity.getId()); + } + + public PurchaseOrderReportDto update(UpdatePurchaseOrderReportDto request) { + PurchaseOrderReportEntity entity = this.repository.get(request.getId()); + this.mapper.updateEntity(entity, request); + + this.repository.save(entity); + + return getById(entity.getId()); + } + + public void delete(IdRequest request) { + boolean linked = this.repository.isLinked(request.getIds()); + + if (linked) { + throw new BizException("数据已被关联,无法删除"); + } + + this.repository.deleteAllById(request.getIds()); + } + + public PurchaseOrderReportDto getById(String id) { + PurchaseOrderReportEntity 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/saleOrderReport/controller/SaleOrderReportController.java b/src/main/java/cn/lihongjie/coal/saleOrderReport/controller/SaleOrderReportController.java new file mode 100644 index 00000000..e9047734 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/saleOrderReport/controller/SaleOrderReportController.java @@ -0,0 +1,66 @@ +package cn.lihongjie.coal.saleOrderReport.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.saleOrderReport.dto.CreateSaleOrderReportDto; +import cn.lihongjie.coal.saleOrderReport.dto.SaleOrderReportDto; +import cn.lihongjie.coal.saleOrderReport.dto.UpdateSaleOrderReportDto; +import cn.lihongjie.coal.saleOrderReport.service.SaleOrderReportService; + +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("/saleOrderReport") +@SysLog(module = "") +@Slf4j +@OrgScope +public class SaleOrderReportController { + @Autowired private SaleOrderReportService service; + + @PostMapping("/create") + public SaleOrderReportDto create(@RequestBody CreateSaleOrderReportDto request) { + return this.service.create(request); + } + + @PostMapping("/update") + public SaleOrderReportDto update(@RequestBody UpdateSaleOrderReportDto request) { + return this.service.update(request); + } + + @PostMapping("/delete") + public Object delete(@RequestBody IdRequest request) { + this.service.delete(request); + return true; + } + + @PostMapping("/getById") + public SaleOrderReportDto getById(@RequestBody IdRequest request) { + return this.service.getById(request.getId()); + } + + @PostMapping("/list") + public Page list(@RequestBody CommonQuery request) { + return this.service.list(request); + } + + @PostMapping("/archive") + public Object archive(@RequestBody IdRequest request) { + this.service.archive(request); + return true; + } + + @PostMapping("/unarchive") + public Object unarchive(@RequestBody IdRequest request) { + this.service.unarchive(request); + return true; + } +} diff --git a/src/main/java/cn/lihongjie/coal/saleOrderReport/dto/CreateSaleOrderReportDto.java b/src/main/java/cn/lihongjie/coal/saleOrderReport/dto/CreateSaleOrderReportDto.java new file mode 100644 index 00000000..9923e8b2 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/saleOrderReport/dto/CreateSaleOrderReportDto.java @@ -0,0 +1,11 @@ +package cn.lihongjie.coal.saleOrderReport.dto; + +import cn.lihongjie.coal.base.dto.OrgCommonDto; + +import lombok.Data; + +@Data +public class CreateSaleOrderReportDto extends OrgCommonDto { + + private String jsonConfig; +} diff --git a/src/main/java/cn/lihongjie/coal/saleOrderReport/dto/SaleOrderReportDto.java b/src/main/java/cn/lihongjie/coal/saleOrderReport/dto/SaleOrderReportDto.java new file mode 100644 index 00000000..35a06418 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/saleOrderReport/dto/SaleOrderReportDto.java @@ -0,0 +1,10 @@ +package cn.lihongjie.coal.saleOrderReport.dto; + +import cn.lihongjie.coal.base.dto.OrgCommonDto; + +import lombok.Data; + +@Data +public class SaleOrderReportDto extends OrgCommonDto { + private String jsonConfig; +} diff --git a/src/main/java/cn/lihongjie/coal/saleOrderReport/dto/UpdateSaleOrderReportDto.java b/src/main/java/cn/lihongjie/coal/saleOrderReport/dto/UpdateSaleOrderReportDto.java new file mode 100644 index 00000000..fd2e51d2 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/saleOrderReport/dto/UpdateSaleOrderReportDto.java @@ -0,0 +1,11 @@ +package cn.lihongjie.coal.saleOrderReport.dto; + +import cn.lihongjie.coal.base.dto.OrgCommonDto; + +import lombok.Data; + +@Data +public class UpdateSaleOrderReportDto extends OrgCommonDto { + + private String jsonConfig; +} diff --git a/src/main/java/cn/lihongjie/coal/saleOrderReport/entity/SaleOrderReportEntity.java b/src/main/java/cn/lihongjie/coal/saleOrderReport/entity/SaleOrderReportEntity.java new file mode 100644 index 00000000..0bc6e019 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/saleOrderReport/entity/SaleOrderReportEntity.java @@ -0,0 +1,14 @@ +package cn.lihongjie.coal.saleOrderReport.entity; + +import cn.lihongjie.coal.base.entity.OrgCommonEntity; + +import jakarta.persistence.Entity; + +import lombok.Data; + +@Data +@Entity +public class SaleOrderReportEntity extends OrgCommonEntity { + + private String jsonConfig; +} diff --git a/src/main/java/cn/lihongjie/coal/saleOrderReport/mapper/SaleOrderReportMapper.java b/src/main/java/cn/lihongjie/coal/saleOrderReport/mapper/SaleOrderReportMapper.java new file mode 100644 index 00000000..9314867b --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/saleOrderReport/mapper/SaleOrderReportMapper.java @@ -0,0 +1,23 @@ +package cn.lihongjie.coal.saleOrderReport.mapper; + +import cn.lihongjie.coal.base.mapper.BaseMapper; +import cn.lihongjie.coal.base.mapper.CommonEntityMapper; +import cn.lihongjie.coal.base.mapper.CommonMapper; +import cn.lihongjie.coal.saleOrderReport.dto.CreateSaleOrderReportDto; +import cn.lihongjie.coal.saleOrderReport.dto.SaleOrderReportDto; +import cn.lihongjie.coal.saleOrderReport.dto.UpdateSaleOrderReportDto; +import cn.lihongjie.coal.saleOrderReport.entity.SaleOrderReportEntity; + +import org.mapstruct.Mapper; +import org.mapstruct.control.DeepClone; + +@Mapper( + componentModel = org.mapstruct.MappingConstants.ComponentModel.SPRING, + uses = {CommonMapper.class, CommonEntityMapper.class}, + mappingControl = DeepClone.class) +public interface SaleOrderReportMapper + extends BaseMapper< + SaleOrderReportEntity, + SaleOrderReportDto, + CreateSaleOrderReportDto, + UpdateSaleOrderReportDto> {} diff --git a/src/main/java/cn/lihongjie/coal/saleOrderReport/repository/SaleOrderReportRepository.java b/src/main/java/cn/lihongjie/coal/saleOrderReport/repository/SaleOrderReportRepository.java new file mode 100644 index 00000000..e0e60b15 --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/saleOrderReport/repository/SaleOrderReportRepository.java @@ -0,0 +1,15 @@ +package cn.lihongjie.coal.saleOrderReport.repository; + +import cn.lihongjie.coal.base.dao.BaseRepository; +import cn.lihongjie.coal.saleOrderReport.entity.SaleOrderReportEntity; + +import org.springframework.data.jpa.repository.Query; +import org.springframework.stereotype.Repository; + +import java.util.List; + +@Repository +public interface SaleOrderReportRepository extends BaseRepository { + @Query("select false") + boolean isLinked(List ids); +} diff --git a/src/main/java/cn/lihongjie/coal/saleOrderReport/service/SaleOrderReportService.java b/src/main/java/cn/lihongjie/coal/saleOrderReport/service/SaleOrderReportService.java new file mode 100644 index 00000000..891aad3a --- /dev/null +++ b/src/main/java/cn/lihongjie/coal/saleOrderReport/service/SaleOrderReportService.java @@ -0,0 +1,94 @@ +package cn.lihongjie.coal.saleOrderReport.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.dbFunctions.DbFunctionService; +import cn.lihongjie.coal.exception.BizException; +import cn.lihongjie.coal.saleOrderReport.dto.CreateSaleOrderReportDto; +import cn.lihongjie.coal.saleOrderReport.dto.SaleOrderReportDto; +import cn.lihongjie.coal.saleOrderReport.dto.UpdateSaleOrderReportDto; +import cn.lihongjie.coal.saleOrderReport.entity.SaleOrderReportEntity; +import cn.lihongjie.coal.saleOrderReport.mapper.SaleOrderReportMapper; +import cn.lihongjie.coal.saleOrderReport.repository.SaleOrderReportRepository; + +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 SaleOrderReportService + extends BaseService { + @Autowired private SaleOrderReportRepository repository; + + @Autowired private SaleOrderReportMapper mapper; + + @Autowired private ConversionService conversionService; + + @Autowired private DbFunctionService dbFunctionService; + + public SaleOrderReportDto create(CreateSaleOrderReportDto request) { + SaleOrderReportEntity entity = mapper.toEntity(request); + + this.repository.save(entity); + return getById(entity.getId()); + } + + public SaleOrderReportDto update(UpdateSaleOrderReportDto request) { + SaleOrderReportEntity entity = this.repository.get(request.getId()); + if (this.repository.containArchived(request.getId())) { + throw new BizException("部分数据已归档,无法编辑或删除"); + } + this.mapper.updateEntity(entity, request); + + this.repository.save(entity); + + return getById(entity.getId()); + } + + public void delete(IdRequest request) { + if (this.repository.containArchived(request)) { + throw new BizException("部分数据已归档,无法编辑或删除"); + } + boolean linked = this.repository.isLinked(request.getIds()); + + if (linked) { + throw new BizException("数据已被关联,无法删除"); + } + this.repository.deleteAllById(request.getIds()); + } + + public SaleOrderReportDto getById(String id) { + SaleOrderReportEntity 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); + } + + public void archive(IdRequest dto) { + this.repository.archive(dto); + } + + public void unarchive(IdRequest dto) { + this.repository.unArchive(dto); + } +} diff --git a/src/main/resources/scripts/dict/enum/purchaseOrderReportDict.groovy b/src/main/resources/scripts/dict/enum/purchaseOrderReportDict.groovy new file mode 100644 index 00000000..5b1056c9 --- /dev/null +++ b/src/main/resources/scripts/dict/enum/purchaseOrderReportDict.groovy @@ -0,0 +1,17 @@ + +package scripts.dict + +import cn.lihongjie.coal.base.dto.CommonQuery +import cn.lihongjie.coal.purchaseOrderReport.controller.PurchaseOrderReportController +import org.springframework.context.ApplicationContext + +ApplicationContext ioc = ioc + +def controller = ioc.getBean(PurchaseOrderReportController.class) + + + + +return controller.list(new CommonQuery()) + + diff --git a/src/main/resources/scripts/dict/enum/saleOrderReportDict.groovy b/src/main/resources/scripts/dict/enum/saleOrderReportDict.groovy new file mode 100644 index 00000000..4b2364b9 --- /dev/null +++ b/src/main/resources/scripts/dict/enum/saleOrderReportDict.groovy @@ -0,0 +1,17 @@ + +package scripts.dict + +import cn.lihongjie.coal.base.dto.CommonQuery +import cn.lihongjie.coal.saleOrderReport.controller.SaleOrderReportController +import org.springframework.context.ApplicationContext + +ApplicationContext ioc = ioc + +def controller = ioc.getBean(SaleOrderReportController.class) + + + + +return controller.list(new CommonQuery()) + +