mirror of https://github.com/elunez/eladmin
质量检验单
parent
3a57a8f157
commit
ca950f0ab2
|
@ -32,7 +32,7 @@ public interface OutSourceProcessSheetProductService {
|
|||
* @return
|
||||
*/
|
||||
//@Cacheable(keyGenerator = "keyGenerator")
|
||||
public Object queryAll(OutSourceProcessSheetProductQueryCriteria criteria);
|
||||
Object queryAll(OutSourceProcessSheetProductQueryCriteria criteria);
|
||||
|
||||
/**
|
||||
* findById
|
||||
|
|
|
@ -1,16 +1,17 @@
|
|||
package me.zhengjie.modules.wms.qualityCheckSheet.rest;
|
||||
|
||||
import me.zhengjie.aop.log.Log;
|
||||
import me.zhengjie.modules.wms.qualityCheckSheet.domain.QualityCheckSheet;
|
||||
import me.zhengjie.modules.wms.outSourceProductSheet.service.dto.OutSourceProcessSheetProductQueryCriteria;
|
||||
import me.zhengjie.modules.wms.qualityCheckSheet.request.CreateQualityCheckSheetRequest;
|
||||
import me.zhengjie.modules.wms.qualityCheckSheet.request.UpdateQualityCheckSheetRequest;
|
||||
import me.zhengjie.modules.wms.qualityCheckSheet.service.QualityCheckSheetProductService;
|
||||
import me.zhengjie.modules.wms.qualityCheckSheet.service.QualityCheckSheetService;
|
||||
import me.zhengjie.modules.wms.qualityCheckSheet.service.dto.QualityCheckSheetProductQueryCriteria;
|
||||
import me.zhengjie.modules.wms.qualityCheckSheet.service.dto.QualityCheckSheetQueryCriteria;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import io.swagger.annotations.*;
|
||||
|
@ -30,11 +31,14 @@ public class QualityCheckSheetController {
|
|||
@Autowired
|
||||
private QualityCheckSheetService qualityCheckSheetService;
|
||||
|
||||
@Autowired
|
||||
private QualityCheckSheetProductService qualityCheckSheetProductService;
|
||||
|
||||
@Log("分页查询质量管理检验单")
|
||||
@ApiOperation(value = "查询QualityCheckSheet")
|
||||
@GetMapping(value = "/qualityCheckSheet")
|
||||
@ApiOperation(value = "分页查询质量检验单")
|
||||
@GetMapping(value = "/queryQualityCheckSheetPage")
|
||||
// @PreAuthorize("hasAnyRole('ADMIN','QUALITYCHECKSHEET_ALL','QUALITYCHECKSHEET_SELECT')")
|
||||
public ResponseEntity getQualityCheckSheets(QualityCheckSheetQueryCriteria criteria, Pageable pageable){
|
||||
public ResponseEntity queryQualityCheckSheetPage(QualityCheckSheetQueryCriteria criteria, Pageable pageable){
|
||||
return new ResponseEntity(qualityCheckSheetService.queryAll(criteria,pageable),HttpStatus.OK);
|
||||
}
|
||||
|
||||
|
@ -73,4 +77,19 @@ public class QualityCheckSheetController {
|
|||
String supplierCode = "QCS"+ LocalDateTime.now().format(fmt);
|
||||
return new ResponseEntity(supplierCode,HttpStatus.OK);
|
||||
}
|
||||
|
||||
|
||||
@Log("查看质量检验单")
|
||||
@ApiOperation(value = "查看委外加工单")
|
||||
@GetMapping(value = "/qualityCheckSheet/{id}")
|
||||
public ResponseEntity getQualityCheckSheet(@PathVariable Long id){
|
||||
return new ResponseEntity(qualityCheckSheetService.findById(id), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@Log("查看委外加工单产品信息")
|
||||
@ApiOperation(value = "查看委外加工单产品信息")
|
||||
@GetMapping(value = "/qualityCheckSheetProductList")
|
||||
public ResponseEntity queryQualityCheckSheetProductList(QualityCheckSheetProductQueryCriteria criteria){
|
||||
return new ResponseEntity(qualityCheckSheetProductService.queryAll(criteria), HttpStatus.OK);
|
||||
}
|
||||
}
|
|
@ -20,8 +20,12 @@ public class QualityCheckSheetDTO implements Serializable {
|
|||
|
||||
private Timestamp createTime;
|
||||
|
||||
private String createTimeStr;
|
||||
|
||||
private Timestamp updateTime;
|
||||
|
||||
private String updateTimeStr;
|
||||
|
||||
private Boolean status;
|
||||
|
||||
// 制单人
|
||||
|
|
|
@ -1,9 +1,13 @@
|
|||
package me.zhengjie.modules.wms.qualityCheckSheet.service.impl;
|
||||
|
||||
import me.zhengjie.exception.BadRequestException;
|
||||
import me.zhengjie.modules.wms.outSourceProductSheet.domain.OutSourceInspectionCertificate;
|
||||
import me.zhengjie.modules.wms.outSourceProductSheet.domain.OutSourceInspectionCertificateProduct;
|
||||
import me.zhengjie.modules.wms.outSourceProductSheet.domain.OutSourceProcessSheet;
|
||||
import me.zhengjie.modules.wms.outSourceProductSheet.domain.OutSourceProcessSheetProduct;
|
||||
import me.zhengjie.modules.wms.outSourceProductSheet.request.OutSourceProcessSheetProductRequest;
|
||||
import me.zhengjie.modules.wms.outSourceProductSheet.service.dto.OutSourceInspectionCertificateDTO;
|
||||
import me.zhengjie.modules.wms.outSourceProductSheet.service.dto.OutSourceInspectionCertificateProductDTO;
|
||||
import me.zhengjie.modules.wms.outSourceProductSheet.service.dto.OutSourceProcessSheetDTO;
|
||||
import me.zhengjie.modules.wms.outSourceProductSheet.service.dto.OutSourceProcessSheetProductDTO;
|
||||
import me.zhengjie.modules.wms.qualityCheckSheet.domain.QualityCheckSheet;
|
||||
|
@ -22,10 +26,13 @@ import me.zhengjie.modules.wms.qualityCheckSheet.service.dto.QualityCheckSheetQu
|
|||
import me.zhengjie.modules.wms.qualityCheckSheet.service.mapper.QualityCheckSheetMapper;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
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.sql.Timestamp;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
@ -40,6 +47,11 @@ import me.zhengjie.utils.QueryHelp;
|
|||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import javax.persistence.criteria.CriteriaBuilder;
|
||||
import javax.persistence.criteria.CriteriaQuery;
|
||||
import javax.persistence.criteria.Predicate;
|
||||
import javax.persistence.criteria.Root;
|
||||
|
||||
/**
|
||||
* @author huangxingxing
|
||||
* @date 2019-11-12
|
||||
|
@ -62,20 +74,79 @@ public class QualityCheckSheetServiceImpl implements QualityCheckSheetService {
|
|||
|
||||
@Override
|
||||
public Object queryAll(QualityCheckSheetQueryCriteria criteria, Pageable pageable){
|
||||
Page<QualityCheckSheet> page = qualityCheckSheetRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable);
|
||||
return PageUtil.toPage(page.map(qualityCheckSheetMapper::toDto));
|
||||
Specification<QualityCheckSheet> specification = new Specification<QualityCheckSheet>() {
|
||||
@Override
|
||||
public Predicate toPredicate(Root<QualityCheckSheet> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) {
|
||||
|
||||
List<Predicate> 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<QualityCheckSheet> page = qualityCheckSheetRepository.findAll(specification,pageable);
|
||||
|
||||
Page<QualityCheckSheetDTO> qualityCheckSheetDTOPage = page.map(qualityCheckSheetMapper::toDto);
|
||||
if(null != qualityCheckSheetDTOPage){
|
||||
List<QualityCheckSheetDTO> qualityCheckSheetDTOList = qualityCheckSheetDTOPage.getContent();
|
||||
if(!CollectionUtils.isEmpty(qualityCheckSheetDTOList)){
|
||||
for(QualityCheckSheetDTO qualityCheckSheetDTO : qualityCheckSheetDTOList){
|
||||
Timestamp createTime = qualityCheckSheetDTO.getCreateTime();
|
||||
qualityCheckSheetDTO.setCreateTimeStr(new SimpleDateFormat("yyyy-MM-dd").format(createTime));
|
||||
|
||||
// 查询对应的委外加工单的产品信息
|
||||
List<QualityCheckSheetProduct> outSourceProcessSheetProductList = qualityCheckSheetProductRepository.queryByQualityCheckSheetIdAndStatusTrue(qualityCheckSheetDTO.getId());
|
||||
if(!CollectionUtils.isEmpty(outSourceProcessSheetProductList)){
|
||||
List<QualityCheckSheetProductDTO> qualityCheckSheetProductDTOList = qualityCheckSheetProductMapper.toDto(outSourceProcessSheetProductList);
|
||||
qualityCheckSheetDTO.setQualityCheckSheetProductList(qualityCheckSheetProductDTOList);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Map map = PageUtil.toPage(qualityCheckSheetDTOPage);
|
||||
return map;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object queryAll(QualityCheckSheetQueryCriteria criteria){
|
||||
return qualityCheckSheetMapper.toDto(qualityCheckSheetRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder)));
|
||||
Specification<QualityCheckSheetQueryCriteria> specification = new Specification<QualityCheckSheetQueryCriteria>() {
|
||||
@Override
|
||||
public Predicate toPredicate(Root<QualityCheckSheetQueryCriteria> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) {
|
||||
|
||||
List<Predicate> 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()]));
|
||||
}
|
||||
}
|
||||
};
|
||||
return qualityCheckSheetMapper.toDto(qualityCheckSheetRepository.findAll(specification));
|
||||
}
|
||||
|
||||
@Override
|
||||
public QualityCheckSheetDTO findById(Long id) {
|
||||
Optional<QualityCheckSheet> qualityCheckSheet = qualityCheckSheetRepository.findById(id);
|
||||
ValidationUtil.isNull(qualityCheckSheet,"QualityCheckSheet","id",id);
|
||||
return qualityCheckSheetMapper.toDto(qualityCheckSheet.get());
|
||||
Optional<QualityCheckSheet> invoiceOptional = qualityCheckSheetRepository.findById(id);
|
||||
QualityCheckSheet qualityCheckSheet = invoiceOptional.get();
|
||||
QualityCheckSheetDTO qualityCheckSheetDTO = qualityCheckSheetMapper.toDto(qualityCheckSheet);
|
||||
|
||||
|
||||
List<QualityCheckSheetProduct> qualityCheckSheetProductList = qualityCheckSheetProductRepository.queryByQualityCheckSheetIdAndStatusTrue(id);
|
||||
if(!CollectionUtils.isEmpty(qualityCheckSheetProductList)){
|
||||
List<QualityCheckSheetProductDTO> qualityCheckSheetProductDTOList = qualityCheckSheetProductMapper.toDto(qualityCheckSheetProductList);
|
||||
qualityCheckSheetDTO.setQualityCheckSheetProductList(qualityCheckSheetProductDTOList);
|
||||
}
|
||||
return qualityCheckSheetDTO;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Reference in New Issue