diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/service/dto/OutSourceInspectionCertificateDTO.java b/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/service/dto/OutSourceInspectionCertificateDTO.java index 418926c0..fdd802b7 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/service/dto/OutSourceInspectionCertificateDTO.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/service/dto/OutSourceInspectionCertificateDTO.java @@ -1,5 +1,6 @@ package me.zhengjie.modules.wms.outSourceProductSheet.service.dto; +import com.sun.org.apache.xpath.internal.operations.Bool; import lombok.Data; import java.sql.Timestamp; import java.io.Serializable; @@ -21,7 +22,7 @@ public class OutSourceInspectionCertificateDTO implements Serializable { private Timestamp updateTime; - private Integer status; + private Boolean status; // 所属委外加工单 private Long outSourceProcessSheetId; diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/service/dto/OutSourceInspectionCertificateProductDTO.java b/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/service/dto/OutSourceInspectionCertificateProductDTO.java index e702653e..c4f333bf 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/service/dto/OutSourceInspectionCertificateProductDTO.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/service/dto/OutSourceInspectionCertificateProductDTO.java @@ -20,7 +20,7 @@ public class OutSourceInspectionCertificateProductDTO implements Serializable { private Timestamp updateTime; - private Integer status; + private Boolean status; // 所属委外验收单 private Long outSourceInspectionCertificateId; diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/wms/purchase/domain/ConsumablesPurchaseOrder.java b/eladmin-system/src/main/java/me/zhengjie/modules/wms/purchase/domain/ConsumablesPurchaseOrder.java index 3492edfc..37132f84 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/wms/purchase/domain/ConsumablesPurchaseOrder.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/wms/purchase/domain/ConsumablesPurchaseOrder.java @@ -37,7 +37,7 @@ public class ConsumablesPurchaseOrder implements Serializable { // 状态 @Column(name = "status") - private Integer status; + private Boolean status; // 审核状态 @Column(name = "audit_status") diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/wms/purchase/domain/ConsumablesPurchaseOrderProduct.java b/eladmin-system/src/main/java/me/zhengjie/modules/wms/purchase/domain/ConsumablesPurchaseOrderProduct.java index 3b200fe2..1785fdcc 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/wms/purchase/domain/ConsumablesPurchaseOrderProduct.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/wms/purchase/domain/ConsumablesPurchaseOrderProduct.java @@ -58,7 +58,7 @@ public class ConsumablesPurchaseOrderProduct implements Serializable { private Timestamp updateTime; @Column(name = "status") - private Integer status; + private Boolean status; // 耗材编号 @Column(name = "consumables_code") diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/wms/purchase/domain/ProductPurchaseOrder.java b/eladmin-system/src/main/java/me/zhengjie/modules/wms/purchase/domain/ProductPurchaseOrder.java index 3283cac5..be114b7d 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/wms/purchase/domain/ProductPurchaseOrder.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/wms/purchase/domain/ProductPurchaseOrder.java @@ -37,7 +37,7 @@ public class ProductPurchaseOrder implements Serializable { // 状态 @Column(name = "status") - private Integer status; + private Boolean status; // 审核状态 @Column(name = "audit_status") diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/wms/purchase/domain/ProductPurchaseOrderProduct.java b/eladmin-system/src/main/java/me/zhengjie/modules/wms/purchase/domain/ProductPurchaseOrderProduct.java index 29ffa923..fed2b0f6 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/wms/purchase/domain/ProductPurchaseOrderProduct.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/wms/purchase/domain/ProductPurchaseOrderProduct.java @@ -62,7 +62,7 @@ public class ProductPurchaseOrderProduct implements Serializable { private Timestamp updateTime; @Column(name = "status") - private Integer status; + private Boolean status; // 产品编号 @Column(name = "product_code") diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/wms/purchase/rest/ProductPurchaseOrderController.java b/eladmin-system/src/main/java/me/zhengjie/modules/wms/purchase/rest/ProductPurchaseOrderController.java index bd047b1d..f9b4bac3 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/wms/purchase/rest/ProductPurchaseOrderController.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/wms/purchase/rest/ProductPurchaseOrderController.java @@ -14,10 +14,11 @@ import org.springframework.web.bind.annotation.*; import io.swagger.annotations.*; /** + * 产品采购管理控制类 * @author jie * @date 2019-10-06 */ -@Api(tags = "ProductPurchaseOrder管理") +@Api(tags = "产品采购管理") @RestController @RequestMapping("api") public class ProductPurchaseOrderController { @@ -25,24 +26,24 @@ public class ProductPurchaseOrderController { @Autowired private ProductPurchaseOrderService productPurchaseOrderService; - @Log("查询ProductPurchaseOrder") - @ApiOperation(value = "查询ProductPurchaseOrder") - @GetMapping(value = "/productPurchaseOrder") + @Log("分页查询产品采购单") + @ApiOperation(value = "分页查询产品采购单") + @GetMapping(value = "/queryProductPurchaseOrderPageList") @PreAuthorize("hasAnyRole('ADMIN','PRODUCTPURCHASEORDER_ALL','PRODUCTPURCHASEORDER_SELECT')") - public ResponseEntity getProductPurchaseOrders(ProductPurchaseOrderQueryCriteria criteria, Pageable pageable){ + public ResponseEntity queryProductPurchaseOrderPageList(ProductPurchaseOrderQueryCriteria criteria, Pageable pageable){ return new ResponseEntity(productPurchaseOrderService.queryAll(criteria,pageable),HttpStatus.OK); } - @Log("新增ProductPurchaseOrder") - @ApiOperation(value = "新增ProductPurchaseOrder") + @Log("新增产品采购单") + @ApiOperation(value = "新增产品采购单") @PostMapping(value = "/productPurchaseOrder") @PreAuthorize("hasAnyRole('ADMIN','PRODUCTPURCHASEORDER_ALL','PRODUCTPURCHASEORDER_CREATE')") public ResponseEntity create(@Validated @RequestBody ProductPurchaseOrder resources){ return new ResponseEntity(productPurchaseOrderService.create(resources),HttpStatus.CREATED); } - @Log("修改ProductPurchaseOrder") - @ApiOperation(value = "修改ProductPurchaseOrder") + @Log("修改产品采购") + @ApiOperation(value = "修改产品采购") @PutMapping(value = "/productPurchaseOrder") @PreAuthorize("hasAnyRole('ADMIN','PRODUCTPURCHASEORDER_ALL','PRODUCTPURCHASEORDER_EDIT')") public ResponseEntity update(@Validated @RequestBody ProductPurchaseOrder resources){ @@ -50,8 +51,8 @@ public class ProductPurchaseOrderController { return new ResponseEntity(HttpStatus.NO_CONTENT); } - @Log("删除ProductPurchaseOrder") - @ApiOperation(value = "删除ProductPurchaseOrder") + @Log("删除产品采购") + @ApiOperation(value = "删除产品采购") @DeleteMapping(value = "/productPurchaseOrder/{id}") @PreAuthorize("hasAnyRole('ADMIN','PRODUCTPURCHASEORDER_ALL','PRODUCTPURCHASEORDER_DELETE')") public ResponseEntity delete(@PathVariable Long id){ diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/wms/purchase/service/dto/ConsumablesPurchaseOrderDTO.java b/eladmin-system/src/main/java/me/zhengjie/modules/wms/purchase/service/dto/ConsumablesPurchaseOrderDTO.java index 5cb276f9..666affdd 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/wms/purchase/service/dto/ConsumablesPurchaseOrderDTO.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/wms/purchase/service/dto/ConsumablesPurchaseOrderDTO.java @@ -25,7 +25,7 @@ public class ConsumablesPurchaseOrderDTO implements Serializable { private String purchaseUserName; // 状态 - private Integer status; + private Boolean status; // 审核状态 private Integer auditStatus; diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/wms/purchase/service/dto/ConsumablesPurchaseOrderProductDTO.java b/eladmin-system/src/main/java/me/zhengjie/modules/wms/purchase/service/dto/ConsumablesPurchaseOrderProductDTO.java index bfed6638..26f320be 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/wms/purchase/service/dto/ConsumablesPurchaseOrderProductDTO.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/wms/purchase/service/dto/ConsumablesPurchaseOrderProductDTO.java @@ -41,7 +41,7 @@ public class ConsumablesPurchaseOrderProductDTO implements Serializable { // 更新时间 private Timestamp updateTime; - private Integer status; + private Boolean status; // 耗材编号 private String consumablesCode; diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/wms/purchase/service/dto/ProductPurchaseOrderDTO.java b/eladmin-system/src/main/java/me/zhengjie/modules/wms/purchase/service/dto/ProductPurchaseOrderDTO.java index fd9a6fb3..ce693ce0 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/wms/purchase/service/dto/ProductPurchaseOrderDTO.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/wms/purchase/service/dto/ProductPurchaseOrderDTO.java @@ -25,7 +25,7 @@ public class ProductPurchaseOrderDTO implements Serializable { private String purchaseUserName; // 状态 - private Integer status; + private Boolean status; // 审核状态 private Integer auditStatus; diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/wms/purchase/service/dto/ProductPurchaseOrderProductDTO.java b/eladmin-system/src/main/java/me/zhengjie/modules/wms/purchase/service/dto/ProductPurchaseOrderProductDTO.java index 62b5beee..ad363ad3 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/wms/purchase/service/dto/ProductPurchaseOrderProductDTO.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/wms/purchase/service/dto/ProductPurchaseOrderProductDTO.java @@ -44,7 +44,7 @@ public class ProductPurchaseOrderProductDTO implements Serializable { // 更新时间 private Timestamp updateTime; - private Integer status; + private Boolean status; // 产品编号 private String productCode; diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/wms/purchase/service/impl/ProductPurchaseOrderServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/wms/purchase/service/impl/ProductPurchaseOrderServiceImpl.java index 4f299f34..8b4f1870 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/wms/purchase/service/impl/ProductPurchaseOrderServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/wms/purchase/service/impl/ProductPurchaseOrderServiceImpl.java @@ -1,5 +1,6 @@ package me.zhengjie.modules.wms.purchase.service.impl; +import me.zhengjie.modules.wms.bd.domain.MeasureUnit; import me.zhengjie.modules.wms.purchase.domain.ProductPurchaseOrder; import me.zhengjie.utils.ValidationUtil; import me.zhengjie.modules.wms.purchase.repository.ProductPurchaseOrderRepository; @@ -8,14 +9,24 @@ import me.zhengjie.modules.wms.purchase.service.dto.ProductPurchaseOrderDTO; import me.zhengjie.modules.wms.purchase.service.dto.ProductPurchaseOrderQueryCriteria; import me.zhengjie.modules.wms.purchase.service.mapper.ProductPurchaseOrderMapper; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.jpa.domain.Specification; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.List; import java.util.Optional; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import me.zhengjie.utils.PageUtil; import me.zhengjie.utils.QueryHelp; +import org.springframework.util.CollectionUtils; + +import javax.persistence.criteria.CriteriaBuilder; +import javax.persistence.criteria.CriteriaQuery; +import javax.persistence.criteria.Predicate; +import javax.persistence.criteria.Root; /** * @author jie @@ -33,13 +44,50 @@ public class ProductPurchaseOrderServiceImpl implements ProductPurchaseOrderServ @Override public Object queryAll(ProductPurchaseOrderQueryCriteria criteria, Pageable pageable){ - Page page = productPurchaseOrderRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable); + Specification specification = new Specification() { + @Override + public Predicate toPredicate(Root root, CriteriaQuery criteriaQuery, CriteriaBuilder criteriaBuilder) { + + List targetPredicateList = new ArrayList<>(); + + //状态 + Predicate statusPredicate = criteriaBuilder.equal(root.get("status"), 1); + targetPredicateList.add(statusPredicate); + + if(CollectionUtils.isEmpty(targetPredicateList)){ + return null; + }else{ + return criteriaBuilder.and(targetPredicateList.toArray(new Predicate[targetPredicateList.size()])); + } + } + }; + + Page page = productPurchaseOrderRepository.findAll(specification, pageable); return PageUtil.toPage(page.map(productPurchaseOrderMapper::toDto)); } @Override public Object queryAll(ProductPurchaseOrderQueryCriteria criteria){ - return productPurchaseOrderMapper.toDto(productPurchaseOrderRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder))); + Specification specification = new Specification() { + @Override + public Predicate toPredicate(Root root, CriteriaQuery criteriaQuery, CriteriaBuilder criteriaBuilder) { + + List targetPredicateList = new ArrayList<>(); + + //状态 + Predicate statusPredicate = criteriaBuilder.equal(root.get("status"), 1); + targetPredicateList.add(statusPredicate); + + if(CollectionUtils.isEmpty(targetPredicateList)){ + return null; + }else{ + return criteriaBuilder.and(targetPredicateList.toArray(new Predicate[targetPredicateList.size()])); + } + } + }; + + List productPurchaseOrderList = productPurchaseOrderRepository.findAll(specification); + return productPurchaseOrderMapper.toDto(productPurchaseOrderList); } @Override diff --git a/eladmin-system/src/main/resources/config/application.yml b/eladmin-system/src/main/resources/config/application.yml index 33e004d7..a52de8aa 100644 --- a/eladmin-system/src/main/resources/config/application.yml +++ b/eladmin-system/src/main/resources/config/application.yml @@ -3,7 +3,7 @@ server: spring: profiles: - active: dev + active: prod jackson: time-zone: GMT+8 data: