From 5025e613df303180e9d2e6d3df1f5fc5784df6cd Mon Sep 17 00:00:00 2001 From: starrysky <838252223@qq.com> Date: Sat, 17 Aug 2019 16:52:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=A7=94=E5=A4=96=E5=8A=A0?= =?UTF-8?q?=E5=B7=A5=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/OutSourceProcessSheet.java | 2 +- .../domain/OutSourceProcessSheetProduct.java | 2 +- ...utSourceProcessSheetProductRepository.java | 11 ++++ .../OutSourceProcessSheetRepository.java | 9 +++ .../CreateOutSourceProcessSheetRequest.java | 34 +++++++++++ .../OutSourceProcessSheetProductRequest.java | 42 +++++++++++++ .../rest/OutSourceProcessSheetController.java | 33 +++++----- ...utSourceProcessSheetProductController.java | 61 ------------------- .../service/OutSourceProcessSheetService.java | 5 +- .../service/dto/OutSourceProcessSheetDTO.java | 4 ++ .../OutSourceProcessSheetServiceImpl.java | 61 ++++++++++++++++++- 11 files changed, 181 insertions(+), 83 deletions(-) create mode 100644 eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/request/CreateOutSourceProcessSheetRequest.java create mode 100644 eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/request/OutSourceProcessSheetProductRequest.java delete mode 100644 eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/rest/OutSourceProcessSheetProductController.java diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/domain/OutSourceProcessSheet.java b/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/domain/OutSourceProcessSheet.java index a242bd48..ff3fb1a1 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/domain/OutSourceProcessSheet.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/domain/OutSourceProcessSheet.java @@ -23,7 +23,7 @@ public class OutSourceProcessSheet implements Serializable { // 状态 @Column(name = "status") - private Integer status; + private Boolean status; // 创建时间 @Column(name = "create_time") diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/domain/OutSourceProcessSheetProduct.java b/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/domain/OutSourceProcessSheetProduct.java index 08f8e817..f99899ca 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/domain/OutSourceProcessSheetProduct.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/domain/OutSourceProcessSheetProduct.java @@ -24,7 +24,7 @@ public class OutSourceProcessSheetProduct implements Serializable { // 状态 @Column(name = "status") - private Integer status; + private Boolean status; // 创建时间 @Column(name = "create_time") diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/repository/OutSourceProcessSheetProductRepository.java b/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/repository/OutSourceProcessSheetProductRepository.java index 3c054b8d..d557b601 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/repository/OutSourceProcessSheetProductRepository.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/repository/OutSourceProcessSheetProductRepository.java @@ -3,10 +3,21 @@ package me.zhengjie.modules.wms.outSourceProductSheet.repository; import me.zhengjie.modules.wms.outSourceProductSheet.domain.OutSourceProcessSheetProduct; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaSpecificationExecutor; +import org.springframework.data.jpa.repository.Query; + +import java.util.List; /** * @author jie * @date 2019-08-17 */ public interface OutSourceProcessSheetProductRepository extends JpaRepository, JpaSpecificationExecutor { + + /** + * 查询指定委外加工单下所有的产品信息(状态为true) + * @param outSourceProcessSheetId + * @return + */ + @Query(value ="select * from s_out_source_process_sheet_product where out_source_process_sheet_id = ?1 and status =1", nativeQuery = true) + List queryByOutSourceProcessSheetIdAndStatusTrue(Long outSourceProcessSheetId); } \ No newline at end of file diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/repository/OutSourceProcessSheetRepository.java b/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/repository/OutSourceProcessSheetRepository.java index 5dff4588..9249635d 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/repository/OutSourceProcessSheetRepository.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/repository/OutSourceProcessSheetRepository.java @@ -3,10 +3,19 @@ package me.zhengjie.modules.wms.outSourceProductSheet.repository; import me.zhengjie.modules.wms.outSourceProductSheet.domain.OutSourceProcessSheet; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaSpecificationExecutor; +import org.springframework.data.jpa.repository.Query; /** * @author jie * @date 2019-08-17 */ public interface OutSourceProcessSheetRepository extends JpaRepository, JpaSpecificationExecutor { + + /** + * 根据委外加工单单据编号查询委外加工单信息 + * @param outSourceProcessSheetCode + * @return + */ + @Query(value ="select * from s_out_source_process_sheet where out_source_process_sheet_code = ?1 and status = 1", nativeQuery = true) + OutSourceProcessSheet findByOutSourceProcessSheetCode(String outSourceProcessSheetCode); } \ No newline at end of file diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/request/CreateOutSourceProcessSheetRequest.java b/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/request/CreateOutSourceProcessSheetRequest.java new file mode 100644 index 00000000..c172d282 --- /dev/null +++ b/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/request/CreateOutSourceProcessSheetRequest.java @@ -0,0 +1,34 @@ +package me.zhengjie.modules.wms.outSourceProductSheet.request; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * @author 黄星星 + * @date 2019-08-17 + */ +@Data +public class CreateOutSourceProcessSheetRequest implements Serializable { + // 委外加工公司名称 + private String outSourceCompanyName; + + // 委外加工公司编号 + private String outSourceCompanyCode; + + // 委外负责人id + private Integer outSourceAdminId; + + // 委外负责人姓名 + private String outSourceAdminName; + + // 联系方式 + private String contactWay; + + // 委外加工单单据编号 + private String outSourceProcessSheetCode; + + // 委外加工产品 + private List outSourceProcessSheetProductList; +} diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/request/OutSourceProcessSheetProductRequest.java b/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/request/OutSourceProcessSheetProductRequest.java new file mode 100644 index 00000000..5c334026 --- /dev/null +++ b/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/request/OutSourceProcessSheetProductRequest.java @@ -0,0 +1,42 @@ +package me.zhengjie.modules.wms.outSourceProductSheet.request; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @author 黄星星 + * @date 2019-08-17 + */ +@Data +public class OutSourceProcessSheetProductRequest implements Serializable { + // 所属委外加工单 + private Long outSourceProcessSheetId; + + // 产品主键 + private Long productId; + + // 产品名称 + private String productName; + + // 产品编号 + private String productCode; + + // 所属订单 + private Long customerOrderId; + + // 委外产品数量 + private Integer productNumber; + + // 交付日期 + private String deliverDate; + + // 备注 + private String remark; + + // 制单人主键 + private Long makePeopleId; + + // 制单人姓名 + private String makePeopleName; +} diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/rest/OutSourceProcessSheetController.java b/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/rest/OutSourceProcessSheetController.java index 4fbb70e7..b28683ba 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/rest/OutSourceProcessSheetController.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/rest/OutSourceProcessSheetController.java @@ -2,6 +2,7 @@ package me.zhengjie.modules.wms.outSourceProductSheet.rest; import me.zhengjie.aop.log.Log; import me.zhengjie.modules.wms.outSourceProductSheet.domain.OutSourceProcessSheet; +import me.zhengjie.modules.wms.outSourceProductSheet.request.CreateOutSourceProcessSheetRequest; import me.zhengjie.modules.wms.outSourceProductSheet.service.OutSourceProcessSheetService; import me.zhengjie.modules.wms.outSourceProductSheet.service.dto.OutSourceProcessSheetQueryCriteria; import org.springframework.beans.factory.annotation.Autowired; @@ -17,7 +18,7 @@ import io.swagger.annotations.*; * @author jie * @date 2019-08-17 */ -@Api(tags = "SOutSourceProcessSheet管理") +@Api(tags = "委外加工管理") @RestController @RequestMapping("api") public class OutSourceProcessSheetController { @@ -25,34 +26,34 @@ public class OutSourceProcessSheetController { @Autowired private OutSourceProcessSheetService outSourceProcessSheetService; - @Log("查询SOutSourceProcessSheet") - @ApiOperation(value = "查询SOutSourceProcessSheet") - @GetMapping(value = "/sOutSourceProcessSheet") + @Log("分页查询委外加工单") + @ApiOperation(value = "分页查询委外加工单") + @GetMapping(value = "/queryOutSourceProcessSheetPage") @PreAuthorize("hasAnyRole('ADMIN','SOUTSOURCEPROCESSSHEET_ALL','SOUTSOURCEPROCESSSHEET_SELECT')") - public ResponseEntity getSOutSourceProcessSheets(OutSourceProcessSheetQueryCriteria criteria, Pageable pageable){ + public ResponseEntity queryOutSourceProcessSheetPage(OutSourceProcessSheetQueryCriteria criteria, Pageable pageable){ return new ResponseEntity(outSourceProcessSheetService.queryAll(criteria,pageable),HttpStatus.OK); } - @Log("新增SOutSourceProcessSheet") - @ApiOperation(value = "新增SOutSourceProcessSheet") - @PostMapping(value = "/sOutSourceProcessSheet") + @Log("新增委外加工单") + @ApiOperation(value = "新增委外加工单") + @PostMapping(value = "/outSourceProcessSheet") @PreAuthorize("hasAnyRole('ADMIN','SOUTSOURCEPROCESSSHEET_ALL','SOUTSOURCEPROCESSSHEET_CREATE')") - public ResponseEntity create(@Validated @RequestBody OutSourceProcessSheet resources){ - return new ResponseEntity(outSourceProcessSheetService.create(resources),HttpStatus.CREATED); + public ResponseEntity create(@RequestBody CreateOutSourceProcessSheetRequest createOutSourceProcessSheetRequest){ + return new ResponseEntity(outSourceProcessSheetService.create(createOutSourceProcessSheetRequest),HttpStatus.CREATED); } - @Log("修改SOutSourceProcessSheet") - @ApiOperation(value = "修改SOutSourceProcessSheet") - @PutMapping(value = "/sOutSourceProcessSheet") + @Log("修改委外加工单") + @ApiOperation(value = "修改委外加工单") + @PutMapping(value = "/outSourceProcessSheet") @PreAuthorize("hasAnyRole('ADMIN','SOUTSOURCEPROCESSSHEET_ALL','SOUTSOURCEPROCESSSHEET_EDIT')") public ResponseEntity update(@Validated @RequestBody OutSourceProcessSheet resources){ outSourceProcessSheetService.update(resources); return new ResponseEntity(HttpStatus.NO_CONTENT); } - @Log("删除SOutSourceProcessSheet") - @ApiOperation(value = "删除SOutSourceProcessSheet") - @DeleteMapping(value = "/sOutSourceProcessSheet/{id}") + @Log("删除委外加工单") + @ApiOperation(value = "删除委外加工单") + @DeleteMapping(value = "/outSourceProcessSheet/{id}") @PreAuthorize("hasAnyRole('ADMIN','SOUTSOURCEPROCESSSHEET_ALL','SOUTSOURCEPROCESSSHEET_DELETE')") public ResponseEntity delete(@PathVariable Long id){ outSourceProcessSheetService.delete(id); diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/rest/OutSourceProcessSheetProductController.java b/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/rest/OutSourceProcessSheetProductController.java deleted file mode 100644 index 1b7c5774..00000000 --- a/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/rest/OutSourceProcessSheetProductController.java +++ /dev/null @@ -1,61 +0,0 @@ -package me.zhengjie.modules.wms.outSourceProductSheet.rest; - -import me.zhengjie.aop.log.Log; -import me.zhengjie.modules.wms.outSourceProductSheet.domain.OutSourceProcessSheetProduct; -import me.zhengjie.modules.wms.outSourceProductSheet.service.OutSourceProcessSheetProductService; -import me.zhengjie.modules.wms.outSourceProductSheet.service.dto.OutSourceProcessSheetProductQueryCriteria; -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.*; - -/** -* @author jie -* @date 2019-08-17 -*/ -@Api(tags = "SOutSourceProcessSheetProduct管理") -@RestController -@RequestMapping("api") -public class OutSourceProcessSheetProductController { - - @Autowired - private OutSourceProcessSheetProductService outSourceProcessSheetProductService; - - @Log("查询SOutSourceProcessSheetProduct") - @ApiOperation(value = "查询SOutSourceProcessSheetProduct") - @GetMapping(value = "/sOutSourceProcessSheetProduct") - @PreAuthorize("hasAnyRole('ADMIN','SOUTSOURCEPROCESSSHEETPRODUCT_ALL','SOUTSOURCEPROCESSSHEETPRODUCT_SELECT')") - public ResponseEntity getSOutSourceProcessSheetProducts(OutSourceProcessSheetProductQueryCriteria criteria, Pageable pageable){ - return new ResponseEntity(outSourceProcessSheetProductService.queryAll(criteria,pageable),HttpStatus.OK); - } - - @Log("新增SOutSourceProcessSheetProduct") - @ApiOperation(value = "新增SOutSourceProcessSheetProduct") - @PostMapping(value = "/sOutSourceProcessSheetProduct") - @PreAuthorize("hasAnyRole('ADMIN','SOUTSOURCEPROCESSSHEETPRODUCT_ALL','SOUTSOURCEPROCESSSHEETPRODUCT_CREATE')") - public ResponseEntity create(@Validated @RequestBody OutSourceProcessSheetProduct resources){ - return new ResponseEntity(outSourceProcessSheetProductService.create(resources),HttpStatus.CREATED); - } - - @Log("修改SOutSourceProcessSheetProduct") - @ApiOperation(value = "修改SOutSourceProcessSheetProduct") - @PutMapping(value = "/sOutSourceProcessSheetProduct") - @PreAuthorize("hasAnyRole('ADMIN','SOUTSOURCEPROCESSSHEETPRODUCT_ALL','SOUTSOURCEPROCESSSHEETPRODUCT_EDIT')") - public ResponseEntity update(@Validated @RequestBody OutSourceProcessSheetProduct resources){ - outSourceProcessSheetProductService.update(resources); - return new ResponseEntity(HttpStatus.NO_CONTENT); - } - - @Log("删除SOutSourceProcessSheetProduct") - @ApiOperation(value = "删除SOutSourceProcessSheetProduct") - @DeleteMapping(value = "/sOutSourceProcessSheetProduct/{id}") - @PreAuthorize("hasAnyRole('ADMIN','SOUTSOURCEPROCESSSHEETPRODUCT_ALL','SOUTSOURCEPROCESSSHEETPRODUCT_DELETE')") - public ResponseEntity delete(@PathVariable Long id){ - outSourceProcessSheetProductService.delete(id); - return new ResponseEntity(HttpStatus.OK); - } -} \ No newline at end of file diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/service/OutSourceProcessSheetService.java b/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/service/OutSourceProcessSheetService.java index e9349f2d..c93f3ddb 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/service/OutSourceProcessSheetService.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/service/OutSourceProcessSheetService.java @@ -1,6 +1,7 @@ package me.zhengjie.modules.wms.outSourceProductSheet.service; import me.zhengjie.modules.wms.outSourceProductSheet.domain.OutSourceProcessSheet; +import me.zhengjie.modules.wms.outSourceProductSheet.request.CreateOutSourceProcessSheetRequest; import me.zhengjie.modules.wms.outSourceProductSheet.service.dto.OutSourceProcessSheetDTO; import me.zhengjie.modules.wms.outSourceProductSheet.service.dto.OutSourceProcessSheetQueryCriteria; //import org.springframework.cache.annotation.CacheConfig; @@ -42,11 +43,11 @@ public interface OutSourceProcessSheetService { /** * create - * @param resources + * @param createOutSourceProcessSheetRequest * @return */ //@CacheEvict(allEntries = true) - OutSourceProcessSheetDTO create(OutSourceProcessSheet resources); + OutSourceProcessSheetDTO create(CreateOutSourceProcessSheetRequest createOutSourceProcessSheetRequest); /** * update diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/service/dto/OutSourceProcessSheetDTO.java b/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/service/dto/OutSourceProcessSheetDTO.java index 109d2179..54c2ee97 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/service/dto/OutSourceProcessSheetDTO.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/service/dto/OutSourceProcessSheetDTO.java @@ -3,6 +3,7 @@ package me.zhengjie.modules.wms.outSourceProductSheet.service.dto; import lombok.Data; import java.sql.Timestamp; import java.io.Serializable; +import java.util.List; /** @@ -40,4 +41,7 @@ public class OutSourceProcessSheetDTO implements Serializable { // 委外加工单单据编号 private String outSourceProcessSheetCode; + + // 委外加工单产品信息 + private List outSourceProcessSheetProductList; } \ No newline at end of file diff --git a/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/service/impl/OutSourceProcessSheetServiceImpl.java b/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/service/impl/OutSourceProcessSheetServiceImpl.java index d0930bf0..2395dd7d 100644 --- a/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/service/impl/OutSourceProcessSheetServiceImpl.java +++ b/eladmin-system/src/main/java/me/zhengjie/modules/wms/outSourceProductSheet/service/impl/OutSourceProcessSheetServiceImpl.java @@ -1,21 +1,33 @@ package me.zhengjie.modules.wms.outSourceProductSheet.service.impl; +import me.zhengjie.exception.BadRequestException; import me.zhengjie.modules.wms.outSourceProductSheet.domain.OutSourceProcessSheet; +import me.zhengjie.modules.wms.outSourceProductSheet.domain.OutSourceProcessSheetProduct; +import me.zhengjie.modules.wms.outSourceProductSheet.repository.OutSourceProcessSheetProductRepository; +import me.zhengjie.modules.wms.outSourceProductSheet.request.CreateOutSourceProcessSheetRequest; +import me.zhengjie.modules.wms.outSourceProductSheet.request.OutSourceProcessSheetProductRequest; +import me.zhengjie.modules.wms.outSourceProductSheet.service.dto.OutSourceProcessSheetProductDTO; import me.zhengjie.utils.ValidationUtil; import me.zhengjie.modules.wms.outSourceProductSheet.repository.OutSourceProcessSheetRepository; import me.zhengjie.modules.wms.outSourceProductSheet.service.OutSourceProcessSheetService; import me.zhengjie.modules.wms.outSourceProductSheet.service.dto.OutSourceProcessSheetDTO; import me.zhengjie.modules.wms.outSourceProductSheet.service.dto.OutSourceProcessSheetQueryCriteria; import me.zhengjie.modules.wms.outSourceProductSheet.service.mapper.OutSourceProcessSheetMapper; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; 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 org.springframework.util.StringUtils; /** * @author jie @@ -28,6 +40,9 @@ public class OutSourceProcessSheetServiceImpl implements OutSourceProcessSheetSe @Autowired private OutSourceProcessSheetRepository outSourceProcessSheetRepository; + @Autowired + private OutSourceProcessSheetProductRepository outSourceProcessSheetProductRepository; + @Autowired private OutSourceProcessSheetMapper outSourceProcessSheetMapper; @@ -51,8 +66,50 @@ public class OutSourceProcessSheetServiceImpl implements OutSourceProcessSheetSe @Override @Transactional(rollbackFor = Exception.class) - public OutSourceProcessSheetDTO create(OutSourceProcessSheet resources) { - return outSourceProcessSheetMapper.toDto(outSourceProcessSheetRepository.save(resources)); + public OutSourceProcessSheetDTO create(CreateOutSourceProcessSheetRequest createOutSourceProcessSheetRequest) { + OutSourceProcessSheet outSourceProcessSheet = new OutSourceProcessSheet(); + BeanUtils.copyProperties(createOutSourceProcessSheetRequest, outSourceProcessSheet); + + String outSourceProcessSheetCode = outSourceProcessSheet.getOutSourceProcessSheetCode(); + if(!StringUtils.hasLength(outSourceProcessSheetCode)){ + throw new BadRequestException("委外加工单单据编号不能为空!"); + } + + outSourceProcessSheet.setStatus(true); + // 新增委外加工单 + outSourceProcessSheetRepository.save(outSourceProcessSheet); + + outSourceProcessSheet = outSourceProcessSheetRepository.findByOutSourceProcessSheetCode(outSourceProcessSheetCode); + + // 新增委外加工单产品信息 + List outSourceProcessSheetProductRequestList = createOutSourceProcessSheetRequest.getOutSourceProcessSheetProductList(); + if(CollectionUtils.isEmpty(outSourceProcessSheetProductRequestList)){ + throw new BadRequestException("委外加工单产品信息不能为空!"); + } + + for(OutSourceProcessSheetProductRequest outSourceProcessSheetProductRequest : outSourceProcessSheetProductRequestList){ + OutSourceProcessSheetProduct outSourceProcessSheetProduct = new OutSourceProcessSheetProduct(); + BeanUtils.copyProperties(outSourceProcessSheetProductRequest, outSourceProcessSheetProduct); + outSourceProcessSheetProduct.setStatus(true); + outSourceProcessSheetProduct.setOutSourceProcessSheetId(outSourceProcessSheet.getId()); + outSourceProcessSheetProductRepository.save(outSourceProcessSheetProduct); + } + + + OutSourceProcessSheetDTO outSourceProcessSheetDTO = outSourceProcessSheetMapper.toDto(outSourceProcessSheet); + + List outSourceProcessSheetProductList = outSourceProcessSheetProductRepository.queryByOutSourceProcessSheetIdAndStatusTrue(outSourceProcessSheet.getId()); + if(!CollectionUtils.isEmpty(outSourceProcessSheetProductList)){ + List outSourceProcessSheetProductDTOList = new ArrayList<>(); + for(OutSourceProcessSheetProduct outSourceProcessSheetProduct : outSourceProcessSheetProductList){ + OutSourceProcessSheetProductDTO outSourceProcessSheetProductDTO = new OutSourceProcessSheetProductDTO(); + BeanUtils.copyProperties(outSourceProcessSheetProduct, outSourceProcessSheetProductDTO); + outSourceProcessSheetProductDTOList.add(outSourceProcessSheetProductDTO); + } + outSourceProcessSheetDTO.setOutSourceProcessSheetProductList(outSourceProcessSheetProductDTOList); + } + + return outSourceProcessSheetDTO; } @Override