mirror of https://github.com/elunez/eladmin
采购审核
parent
54a89ef6be
commit
09ea9f1a84
|
|
@ -24,6 +24,6 @@ public interface OutSourceProcessSheetProductRepository extends JpaRepository<Ou
|
||||||
List<OutSourceProcessSheetProduct> queryByOutSourceProcessSheetIdAndStatusTrue(Long outSourceProcessSheetId);
|
List<OutSourceProcessSheetProduct> queryByOutSourceProcessSheetIdAndStatusTrue(Long outSourceProcessSheetId);
|
||||||
|
|
||||||
@Modifying
|
@Modifying
|
||||||
@Query(value = "delete s_out_source_process_sheet_product where product_code = ?1 and out_source_process_sheet_id = ?2", nativeQuery = true)
|
@Query(value = "delete from s_out_source_process_sheet_product where product_code = ?1 and out_source_process_sheet_id = ?2", nativeQuery = true)
|
||||||
void deleteByProductCodeAndOutSourceProcessSheetId(String productCode, Long outSourceProcessSheetId);
|
void deleteByProductCodeAndOutSourceProcessSheetId(String productCode, Long outSourceProcessSheetId);
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,46 @@
|
||||||
|
package me.zhengjie.modules.wms.purchase.cons;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author 黄星星
|
||||||
|
* @date 2019-10-07
|
||||||
|
*/
|
||||||
|
public enum AuditStatus {
|
||||||
|
AUDIT_STATUS_PASS("pass", "同意"),
|
||||||
|
AUDIT_STATUS_REJECT("reject", "拒绝"),
|
||||||
|
AUDIT_STATUS_NO_AUDIT("no_audit", "未审核"),
|
||||||
|
;
|
||||||
|
private String code;
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
AuditStatus(String code, String name) {
|
||||||
|
this.code = code;
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public String getCode() {
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCode(String code) {
|
||||||
|
this.code = code;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String getName(String code) {
|
||||||
|
AuditStatus[] auditStatuseEnums = values();
|
||||||
|
for (AuditStatus auditStatus : auditStatuseEnums) {
|
||||||
|
if (auditStatus.getCode().equals(code)) {
|
||||||
|
return auditStatus.getName();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -3,6 +3,8 @@ package me.zhengjie.modules.wms.purchase.domain;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.bean.copier.CopyOptions;
|
import cn.hutool.core.bean.copier.CopyOptions;
|
||||||
|
import org.hibernate.annotations.CreationTimestamp;
|
||||||
|
|
||||||
import javax.persistence.*;
|
import javax.persistence.*;
|
||||||
import java.sql.Timestamp;
|
import java.sql.Timestamp;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
|
@ -23,9 +25,11 @@ public class ConsumablesPurchaseOrder implements Serializable {
|
||||||
private Long id;
|
private Long id;
|
||||||
|
|
||||||
@Column(name = "create_time")
|
@Column(name = "create_time")
|
||||||
|
@CreationTimestamp
|
||||||
private Timestamp createTime;
|
private Timestamp createTime;
|
||||||
|
|
||||||
@Column(name = "update_time")
|
@Column(name = "update_time")
|
||||||
|
@CreationTimestamp
|
||||||
private Timestamp updateTime;
|
private Timestamp updateTime;
|
||||||
|
|
||||||
// 采购人主键
|
// 采购人主键
|
||||||
|
|
@ -42,7 +46,7 @@ public class ConsumablesPurchaseOrder implements Serializable {
|
||||||
|
|
||||||
// 审核状态
|
// 审核状态
|
||||||
@Column(name = "audit_status")
|
@Column(name = "audit_status")
|
||||||
private Integer auditStatus;
|
private String auditStatus;
|
||||||
|
|
||||||
@Column(name = "audit_user_id")
|
@Column(name = "audit_user_id")
|
||||||
private Long auditUserId;
|
private Long auditUserId;
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@ public class ProductPurchaseOrder implements Serializable {
|
||||||
|
|
||||||
// 审核状态
|
// 审核状态
|
||||||
@Column(name = "audit_status")
|
@Column(name = "audit_status")
|
||||||
private Integer auditStatus;
|
private String auditStatus;
|
||||||
|
|
||||||
@Column(name = "audit_user_id")
|
@Column(name = "audit_user_id")
|
||||||
private Long auditUserId;
|
private Long auditUserId;
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,6 @@ public interface ConsumablesPurchaseOrderProductRepository extends JpaRepository
|
||||||
List<ConsumablesPurchaseOrderProduct> queryByConsumablesPurchaseOrderIdAndStatusTrue(Long consumablesPurchaseOrderId);
|
List<ConsumablesPurchaseOrderProduct> queryByConsumablesPurchaseOrderIdAndStatusTrue(Long consumablesPurchaseOrderId);
|
||||||
|
|
||||||
@Modifying
|
@Modifying
|
||||||
@Query(value = "delete product_purchase_order_product where consumables_code = ?1 and consumables_purchase_order_id = ?2", nativeQuery = true)
|
@Query(value = "delete from product_purchase_order_product where consumables_code = ?1 and consumables_purchase_order_id = ?2", nativeQuery = true)
|
||||||
void deleteByProductCodeAndConsumablesPurchaseOrderId(String consumablesCode, Long consumablesPurchaseOrderId);
|
void deleteByProductCodeAndConsumablesPurchaseOrderId(String consumablesCode, Long consumablesPurchaseOrderId);
|
||||||
}
|
}
|
||||||
|
|
@ -24,6 +24,6 @@ public interface ProductPurchaseOrderProductRepository extends JpaRepository<Pro
|
||||||
List<ProductPurchaseOrderProduct> queryByProductPurchaseOrderIdAndStatusTrue(Long productPurchaseOrderId);
|
List<ProductPurchaseOrderProduct> queryByProductPurchaseOrderIdAndStatusTrue(Long productPurchaseOrderId);
|
||||||
|
|
||||||
@Modifying
|
@Modifying
|
||||||
@Query(value = "delete product_purchase_order_product where product_code = ?1 and product_purchase_order_id = ?2", nativeQuery = true)
|
@Query(value = "delete from product_purchase_order_product where product_code = ?1 and product_purchase_order_id = ?2", nativeQuery = true)
|
||||||
void deleteByProductCodeAndProductPurchaseOrderId(String productCode, Long productPurchaseOrderId);
|
void deleteByProductCodeAndProductPurchaseOrderId(String productCode, Long productPurchaseOrderId);
|
||||||
}
|
}
|
||||||
|
|
@ -23,4 +23,6 @@ public class AuditConsumablesPurchaseOrderRequest {
|
||||||
// 审核人姓名
|
// 审核人姓名
|
||||||
private String auditUserName;
|
private String auditUserName;
|
||||||
|
|
||||||
|
private String auditStatus;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -23,4 +23,6 @@ public class AuditProductPurchaseOrderRequest {
|
||||||
// 审核人姓名
|
// 审核人姓名
|
||||||
private String auditUserName;
|
private String auditUserName;
|
||||||
|
|
||||||
|
private String auditStatus;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,34 @@
|
||||||
|
package me.zhengjie.modules.wms.purchase.request;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import cn.hutool.core.bean.copier.CopyOptions;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.persistence.*;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.sql.Timestamp;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author jie
|
||||||
|
* @date 2019-10-06
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class CreateConsumablesPurchaseOrderRequest implements Serializable {
|
||||||
|
|
||||||
|
// 采购人主键
|
||||||
|
private Long purchaseUserId;
|
||||||
|
|
||||||
|
// 采购人姓名
|
||||||
|
private String purchaseUserName;
|
||||||
|
|
||||||
|
// 耗材采购单单据编号
|
||||||
|
private String consumablesPurchaseOrderCode;
|
||||||
|
|
||||||
|
private List<ConsumablesPurchaseOrderProductRequest> consumablesPurchaseOrderProductList;
|
||||||
|
|
||||||
|
public void copy(CreateConsumablesPurchaseOrderRequest source){
|
||||||
|
BeanUtil.copyProperties(source,this, CopyOptions.create().setIgnoreNullValue(true));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
package me.zhengjie.modules.wms.purchase.request;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import me.zhengjie.modules.wms.purchase.service.dto.ConsumablesPurchaseOrderProductDTO;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新耗材采购单
|
||||||
|
* @author 黄星星
|
||||||
|
* @date 2019-10-07
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class UpdateConsumablesPurchaseOrderRequest implements Serializable {
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
private List<ConsumablesPurchaseOrderProductDTO> consumablesPurchaseOrderProductList;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,20 @@
|
||||||
|
package me.zhengjie.modules.wms.purchase.request;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
import me.zhengjie.modules.wms.purchase.service.dto.ConsumablesPurchaseOrderProductDTO;
|
||||||
|
import me.zhengjie.modules.wms.purchase.service.dto.ProductPurchaseOrderProductDTO;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新产品采购单
|
||||||
|
* @author 黄星星
|
||||||
|
* @date 2019-10-07
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class UpdateProductPurchaseOrderRequest implements Serializable {
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
private List<ProductPurchaseOrderProductDTO> productPurchaseOrderProductList;
|
||||||
|
}
|
||||||
|
|
@ -5,6 +5,7 @@ import me.zhengjie.modules.wms.purchase.domain.ConsumablesPurchaseOrder;
|
||||||
import me.zhengjie.modules.wms.purchase.request.AuditConsumablesPurchaseOrderRequest;
|
import me.zhengjie.modules.wms.purchase.request.AuditConsumablesPurchaseOrderRequest;
|
||||||
import me.zhengjie.modules.wms.purchase.request.AuditProductPurchaseOrderRequest;
|
import me.zhengjie.modules.wms.purchase.request.AuditProductPurchaseOrderRequest;
|
||||||
import me.zhengjie.modules.wms.purchase.request.CreateConsumablesPurchaseOrderRequest;
|
import me.zhengjie.modules.wms.purchase.request.CreateConsumablesPurchaseOrderRequest;
|
||||||
|
import me.zhengjie.modules.wms.purchase.request.UpdateConsumablesPurchaseOrderRequest;
|
||||||
import me.zhengjie.modules.wms.purchase.service.ConsumablesPurchaseOrderService;
|
import me.zhengjie.modules.wms.purchase.service.ConsumablesPurchaseOrderService;
|
||||||
import me.zhengjie.modules.wms.purchase.service.dto.ConsumablesPurchaseOrderQueryCriteria;
|
import me.zhengjie.modules.wms.purchase.service.dto.ConsumablesPurchaseOrderQueryCriteria;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
@ -60,8 +61,8 @@ public class ConsumablesPurchaseOrderController {
|
||||||
@ApiOperation(value = "修改耗材采购单")
|
@ApiOperation(value = "修改耗材采购单")
|
||||||
@PutMapping(value = "/consumablesPurchaseOrder")
|
@PutMapping(value = "/consumablesPurchaseOrder")
|
||||||
@PreAuthorize("hasAnyRole('ADMIN','CONSUMABLESPURCHASEORDER_ALL','CONSUMABLESPURCHASEORDER_EDIT')")
|
@PreAuthorize("hasAnyRole('ADMIN','CONSUMABLESPURCHASEORDER_ALL','CONSUMABLESPURCHASEORDER_EDIT')")
|
||||||
public ResponseEntity update(@Validated @RequestBody ConsumablesPurchaseOrder resources){
|
public ResponseEntity update(@Validated @RequestBody UpdateConsumablesPurchaseOrderRequest updateConsumablesPurchaseOrderRequest){
|
||||||
consumablesPurchaseOrderService.update(resources);
|
consumablesPurchaseOrderService.update(updateConsumablesPurchaseOrderRequest);
|
||||||
return new ResponseEntity(HttpStatus.NO_CONTENT);
|
return new ResponseEntity(HttpStatus.NO_CONTENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -90,4 +91,11 @@ public class ConsumablesPurchaseOrderController {
|
||||||
String supplierCode = "CP"+ LocalDateTime.now().format(fmt);
|
String supplierCode = "CP"+ LocalDateTime.now().format(fmt);
|
||||||
return new ResponseEntity(supplierCode,HttpStatus.OK);
|
return new ResponseEntity(supplierCode,HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Log("查看耗材采购详情")
|
||||||
|
@ApiOperation(value = "查看产品采购详情")
|
||||||
|
@GetMapping(value = "/consumablesPurchaseOrder/{id}")
|
||||||
|
public ResponseEntity getOutSourceInspectionCertificate(@PathVariable Long id){
|
||||||
|
return new ResponseEntity(consumablesPurchaseOrderService.findById(id), HttpStatus.OK);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -4,6 +4,7 @@ import me.zhengjie.aop.log.Log;
|
||||||
import me.zhengjie.modules.wms.purchase.domain.ProductPurchaseOrder;
|
import me.zhengjie.modules.wms.purchase.domain.ProductPurchaseOrder;
|
||||||
import me.zhengjie.modules.wms.purchase.request.AuditProductPurchaseOrderRequest;
|
import me.zhengjie.modules.wms.purchase.request.AuditProductPurchaseOrderRequest;
|
||||||
import me.zhengjie.modules.wms.purchase.request.CreateProductPurchaseOrderRequest;
|
import me.zhengjie.modules.wms.purchase.request.CreateProductPurchaseOrderRequest;
|
||||||
|
import me.zhengjie.modules.wms.purchase.request.UpdateProductPurchaseOrderRequest;
|
||||||
import me.zhengjie.modules.wms.purchase.service.ProductPurchaseOrderService;
|
import me.zhengjie.modules.wms.purchase.service.ProductPurchaseOrderService;
|
||||||
import me.zhengjie.modules.wms.purchase.service.dto.ProductPurchaseOrderQueryCriteria;
|
import me.zhengjie.modules.wms.purchase.service.dto.ProductPurchaseOrderQueryCriteria;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
@ -51,8 +52,8 @@ public class ProductPurchaseOrderController {
|
||||||
@ApiOperation(value = "修改产品采购")
|
@ApiOperation(value = "修改产品采购")
|
||||||
@PutMapping(value = "/productPurchaseOrder")
|
@PutMapping(value = "/productPurchaseOrder")
|
||||||
@PreAuthorize("hasAnyRole('ADMIN','PRODUCTPURCHASEORDER_ALL','PRODUCTPURCHASEORDER_EDIT')")
|
@PreAuthorize("hasAnyRole('ADMIN','PRODUCTPURCHASEORDER_ALL','PRODUCTPURCHASEORDER_EDIT')")
|
||||||
public ResponseEntity update(@Validated @RequestBody ProductPurchaseOrder resources){
|
public ResponseEntity update(@Validated @RequestBody UpdateProductPurchaseOrderRequest updateProductPurchaseOrderRequest){
|
||||||
productPurchaseOrderService.update(resources);
|
productPurchaseOrderService.update(updateProductPurchaseOrderRequest);
|
||||||
return new ResponseEntity(HttpStatus.NO_CONTENT);
|
return new ResponseEntity(HttpStatus.NO_CONTENT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package me.zhengjie.modules.wms.purchase.service;
|
||||||
import me.zhengjie.modules.wms.purchase.domain.ConsumablesPurchaseOrder;
|
import me.zhengjie.modules.wms.purchase.domain.ConsumablesPurchaseOrder;
|
||||||
import me.zhengjie.modules.wms.purchase.request.AuditConsumablesPurchaseOrderRequest;
|
import me.zhengjie.modules.wms.purchase.request.AuditConsumablesPurchaseOrderRequest;
|
||||||
import me.zhengjie.modules.wms.purchase.request.CreateConsumablesPurchaseOrderRequest;
|
import me.zhengjie.modules.wms.purchase.request.CreateConsumablesPurchaseOrderRequest;
|
||||||
|
import me.zhengjie.modules.wms.purchase.request.UpdateConsumablesPurchaseOrderRequest;
|
||||||
import me.zhengjie.modules.wms.purchase.service.dto.ConsumablesPurchaseOrderDTO;
|
import me.zhengjie.modules.wms.purchase.service.dto.ConsumablesPurchaseOrderDTO;
|
||||||
import me.zhengjie.modules.wms.purchase.service.dto.ConsumablesPurchaseOrderQueryCriteria;
|
import me.zhengjie.modules.wms.purchase.service.dto.ConsumablesPurchaseOrderQueryCriteria;
|
||||||
//import org.springframework.cache.annotation.CacheConfig;
|
//import org.springframework.cache.annotation.CacheConfig;
|
||||||
|
|
@ -52,10 +53,10 @@ public interface ConsumablesPurchaseOrderService {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* update
|
* update
|
||||||
* @param resources
|
* @param updateConsumablesPurchaseOrderRequest
|
||||||
*/
|
*/
|
||||||
//@CacheEvict(allEntries = true)
|
//@CacheEvict(allEntries = true)
|
||||||
void update(ConsumablesPurchaseOrder resources);
|
void update(UpdateConsumablesPurchaseOrderRequest updateConsumablesPurchaseOrderRequest);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* delete
|
* delete
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ package me.zhengjie.modules.wms.purchase.service;
|
||||||
import me.zhengjie.modules.wms.purchase.domain.ProductPurchaseOrder;
|
import me.zhengjie.modules.wms.purchase.domain.ProductPurchaseOrder;
|
||||||
import me.zhengjie.modules.wms.purchase.request.AuditProductPurchaseOrderRequest;
|
import me.zhengjie.modules.wms.purchase.request.AuditProductPurchaseOrderRequest;
|
||||||
import me.zhengjie.modules.wms.purchase.request.CreateProductPurchaseOrderRequest;
|
import me.zhengjie.modules.wms.purchase.request.CreateProductPurchaseOrderRequest;
|
||||||
|
import me.zhengjie.modules.wms.purchase.request.UpdateProductPurchaseOrderRequest;
|
||||||
import me.zhengjie.modules.wms.purchase.service.dto.ProductPurchaseOrderDTO;
|
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.dto.ProductPurchaseOrderQueryCriteria;
|
||||||
//import org.springframework.cache.annotation.CacheConfig;
|
//import org.springframework.cache.annotation.CacheConfig;
|
||||||
|
|
@ -52,10 +53,10 @@ public interface ProductPurchaseOrderService {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* update
|
* update
|
||||||
* @param resources
|
* @param updateProductPurchaseOrderRequest
|
||||||
*/
|
*/
|
||||||
//@CacheEvict(allEntries = true)
|
//@CacheEvict(allEntries = true)
|
||||||
void update(ProductPurchaseOrder resources);
|
void update(UpdateProductPurchaseOrderRequest updateProductPurchaseOrderRequest);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* delete
|
* delete
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,8 @@ public class ConsumablesPurchaseOrderDTO implements Serializable {
|
||||||
|
|
||||||
private Timestamp createTime;
|
private Timestamp createTime;
|
||||||
|
|
||||||
|
private String createTimeStr;
|
||||||
|
|
||||||
private Timestamp updateTime;
|
private Timestamp updateTime;
|
||||||
|
|
||||||
// 采购人主键
|
// 采购人主键
|
||||||
|
|
@ -30,7 +32,9 @@ public class ConsumablesPurchaseOrderDTO implements Serializable {
|
||||||
private Boolean status;
|
private Boolean status;
|
||||||
|
|
||||||
// 审核状态
|
// 审核状态
|
||||||
private Integer auditStatus;
|
private String auditStatus;
|
||||||
|
|
||||||
|
private String auditStatusName;
|
||||||
|
|
||||||
private Long auditUserId;
|
private Long auditUserId;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,8 @@ public class ProductPurchaseOrderDTO implements Serializable {
|
||||||
|
|
||||||
private Timestamp createTime;
|
private Timestamp createTime;
|
||||||
|
|
||||||
|
private String createTimeStr;
|
||||||
|
|
||||||
private Timestamp updateTime;
|
private Timestamp updateTime;
|
||||||
|
|
||||||
// 采购人主键
|
// 采购人主键
|
||||||
|
|
@ -30,7 +32,9 @@ public class ProductPurchaseOrderDTO implements Serializable {
|
||||||
private Boolean status;
|
private Boolean status;
|
||||||
|
|
||||||
// 审核状态
|
// 审核状态
|
||||||
private Integer auditStatus;
|
private String auditStatus;
|
||||||
|
|
||||||
|
private String auditStatusName;
|
||||||
|
|
||||||
private Long auditUserId;
|
private Long auditUserId;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,11 @@
|
||||||
package me.zhengjie.modules.wms.purchase.service.impl;
|
package me.zhengjie.modules.wms.purchase.service.impl;
|
||||||
|
|
||||||
import me.zhengjie.exception.BadRequestException;
|
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.service.dto.OutSourceProcessSheetDTO;
|
||||||
|
import me.zhengjie.modules.wms.outSourceProductSheet.service.dto.OutSourceProcessSheetProductDTO;
|
||||||
|
import me.zhengjie.modules.wms.purchase.cons.AuditStatus;
|
||||||
import me.zhengjie.modules.wms.purchase.domain.ConsumablesPurchaseOrder;
|
import me.zhengjie.modules.wms.purchase.domain.ConsumablesPurchaseOrder;
|
||||||
import me.zhengjie.modules.wms.purchase.domain.ConsumablesPurchaseOrderProduct;
|
import me.zhengjie.modules.wms.purchase.domain.ConsumablesPurchaseOrderProduct;
|
||||||
import me.zhengjie.modules.wms.purchase.domain.ProductPurchaseOrder;
|
import me.zhengjie.modules.wms.purchase.domain.ProductPurchaseOrder;
|
||||||
|
|
@ -20,11 +25,12 @@ import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Propagation;
|
import org.springframework.transaction.annotation.Propagation;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.security.Timestamp;
|
import java.sql.Timestamp;
|
||||||
import java.util.ArrayList;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.Date;
|
import java.util.*;
|
||||||
import java.util.List;
|
import java.util.function.Function;
|
||||||
import java.util.Optional;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import org.springframework.data.domain.Page;
|
import org.springframework.data.domain.Page;
|
||||||
import org.springframework.data.domain.Pageable;
|
import org.springframework.data.domain.Pageable;
|
||||||
import me.zhengjie.utils.PageUtil;
|
import me.zhengjie.utils.PageUtil;
|
||||||
|
|
@ -78,7 +84,23 @@ public class ConsumablesPurchaseOrderServiceImpl implements ConsumablesPurchaseO
|
||||||
};
|
};
|
||||||
|
|
||||||
Page<ConsumablesPurchaseOrder> page = consumablesPurchaseOrderRepository.findAll(specification, pageable);
|
Page<ConsumablesPurchaseOrder> page = consumablesPurchaseOrderRepository.findAll(specification, pageable);
|
||||||
return PageUtil.toPage(page.map(consumablesPurchaseOrderMapper::toDto));
|
|
||||||
|
Page<ConsumablesPurchaseOrderDTO> consumablesPurchaseOrderDTOPage = page.map(consumablesPurchaseOrderMapper::toDto);
|
||||||
|
if(null != consumablesPurchaseOrderDTOPage){
|
||||||
|
List<ConsumablesPurchaseOrderDTO> consumablesPurchaseOrderDTOList = consumablesPurchaseOrderDTOPage.getContent();
|
||||||
|
if(!CollectionUtils.isEmpty(consumablesPurchaseOrderDTOList)){
|
||||||
|
for(ConsumablesPurchaseOrderDTO consumablesPurchaseOrderDTO : consumablesPurchaseOrderDTOList){
|
||||||
|
String auditStatusName = AuditStatus.getName(consumablesPurchaseOrderDTO.getAuditStatus());
|
||||||
|
consumablesPurchaseOrderDTO.setAuditStatusName(auditStatusName);
|
||||||
|
|
||||||
|
Timestamp createTime = consumablesPurchaseOrderDTO.getCreateTime();
|
||||||
|
consumablesPurchaseOrderDTO.setCreateTimeStr(new SimpleDateFormat("yyyy-MM-dd").format(createTime));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Map map = PageUtil.toPage(consumablesPurchaseOrderDTOPage);
|
||||||
|
return map;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -107,9 +129,18 @@ public class ConsumablesPurchaseOrderServiceImpl implements ConsumablesPurchaseO
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ConsumablesPurchaseOrderDTO findById(Long id) {
|
public ConsumablesPurchaseOrderDTO findById(Long id) {
|
||||||
Optional<ConsumablesPurchaseOrder> consumablesPurchaseOrder = consumablesPurchaseOrderRepository.findById(id);
|
Optional<ConsumablesPurchaseOrder> consumablesPurchaseOrderOptional = consumablesPurchaseOrderRepository.findById(id);
|
||||||
ValidationUtil.isNull(consumablesPurchaseOrder,"ConsumablesPurchaseOrder","id",id);
|
ConsumablesPurchaseOrder consumablesPurchaseOrder = consumablesPurchaseOrderOptional.get();
|
||||||
return consumablesPurchaseOrderMapper.toDto(consumablesPurchaseOrder.get());
|
ConsumablesPurchaseOrderDTO consumablesPurchaseOrderDTO = consumablesPurchaseOrderMapper.toDto(consumablesPurchaseOrder);
|
||||||
|
consumablesPurchaseOrderDTO.setAuditStatusName(AuditStatus.getName(consumablesPurchaseOrder.getAuditStatus()));
|
||||||
|
|
||||||
|
|
||||||
|
List<ConsumablesPurchaseOrderProduct> consumablesPurchaseOrderProductList = consumablesPurchaseOrderProductRepository.queryByConsumablesPurchaseOrderIdAndStatusTrue(id);
|
||||||
|
if(!CollectionUtils.isEmpty(consumablesPurchaseOrderProductList)){
|
||||||
|
List<ConsumablesPurchaseOrderProductDTO> consumablesPurchaseOrderProductDTOList = consumablesPurchaseOrderProductMapper.toDto(consumablesPurchaseOrderProductList);
|
||||||
|
consumablesPurchaseOrderDTO.setConsumablesPurchaseOrderProductList(consumablesPurchaseOrderProductDTOList);
|
||||||
|
}
|
||||||
|
return consumablesPurchaseOrderDTO;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -125,6 +156,7 @@ public class ConsumablesPurchaseOrderServiceImpl implements ConsumablesPurchaseO
|
||||||
|
|
||||||
consumablesPurchaseOrder.setStatus(true);
|
consumablesPurchaseOrder.setStatus(true);
|
||||||
// 新增耗材采购单
|
// 新增耗材采购单
|
||||||
|
consumablesPurchaseOrder.setAuditStatus(AuditStatus.AUDIT_STATUS_NO_AUDIT.getCode());
|
||||||
consumablesPurchaseOrderRepository.save(consumablesPurchaseOrder);
|
consumablesPurchaseOrderRepository.save(consumablesPurchaseOrder);
|
||||||
|
|
||||||
consumablesPurchaseOrder = consumablesPurchaseOrderRepository.findByConsumablesPurchaseOrderCode(consumablesPurchaseOrder.getConsumablesPurchaseOrderCode());
|
consumablesPurchaseOrder = consumablesPurchaseOrderRepository.findByConsumablesPurchaseOrderCode(consumablesPurchaseOrder.getConsumablesPurchaseOrderCode());
|
||||||
|
|
@ -162,12 +194,60 @@ public class ConsumablesPurchaseOrderServiceImpl implements ConsumablesPurchaseO
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void update(ConsumablesPurchaseOrder resources) {
|
public void update(UpdateConsumablesPurchaseOrderRequest updateConsumablesPurchaseOrderRequest) {
|
||||||
Optional<ConsumablesPurchaseOrder> optionalConsumablesPurchaseOrder = consumablesPurchaseOrderRepository.findById(resources.getId());
|
Long consumablesPurchaseOrderId = updateConsumablesPurchaseOrderRequest.getId();
|
||||||
ValidationUtil.isNull( optionalConsumablesPurchaseOrder,"ConsumablesPurchaseOrder","id",resources.getId());
|
Optional<ConsumablesPurchaseOrder> consumablesPurchaseOrderOptional = consumablesPurchaseOrderRepository.findById(consumablesPurchaseOrderId);
|
||||||
ConsumablesPurchaseOrder consumablesPurchaseOrder = optionalConsumablesPurchaseOrder.get();
|
ConsumablesPurchaseOrder consumablesPurchaseOrder = consumablesPurchaseOrderOptional.get();
|
||||||
consumablesPurchaseOrder.copy(resources);
|
|
||||||
consumablesPurchaseOrderRepository.save(consumablesPurchaseOrder);
|
// 修改产品信息之前,查询该订单中原来的产品信息,key为产品code
|
||||||
|
List<ConsumablesPurchaseOrderProduct> consumablesPurchaseOrderProductListBeforeUpdate = consumablesPurchaseOrderProductRepository.queryByConsumablesPurchaseOrderIdAndStatusTrue(consumablesPurchaseOrder.getId());
|
||||||
|
Map<String, ConsumablesPurchaseOrderProduct> consumablesPurchaseOrderProductMapBefore = consumablesPurchaseOrderProductListBeforeUpdate.stream().collect(Collectors.toMap(ConsumablesPurchaseOrderProduct::getConsumablesCode, Function.identity()));
|
||||||
|
|
||||||
|
List<ConsumablesPurchaseOrderProductDTO> consumablesPurchaseOrderProductRequestList = updateConsumablesPurchaseOrderRequest.getConsumablesPurchaseOrderProductList();
|
||||||
|
if(CollectionUtils.isEmpty(consumablesPurchaseOrderProductRequestList)){
|
||||||
|
throw new BadRequestException("耗材采购单产品不能为空!");
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, ConsumablesPurchaseOrderProductDTO> invoiceProductMapAfter = consumablesPurchaseOrderProductRequestList.stream().collect(Collectors.toMap(ConsumablesPurchaseOrderProductDTO::getConsumablesCode, Function.identity()));
|
||||||
|
|
||||||
|
//需要将订单中原来订单对应的产品删除了的数据
|
||||||
|
List<String> deleteTargetList = new ArrayList<>();
|
||||||
|
//比较量个map中,key不一样的数据
|
||||||
|
for(Map.Entry<String, ConsumablesPurchaseOrderProduct> entry:consumablesPurchaseOrderProductMapBefore.entrySet()){
|
||||||
|
String consumablesCode = entry.getKey();
|
||||||
|
//修改后的map记录对应的key在原来中是否存在
|
||||||
|
ConsumablesPurchaseOrderProductDTO consumablesPurchaseOrderProductDTOTemp = invoiceProductMapAfter.get(consumablesCode);
|
||||||
|
if(null == consumablesPurchaseOrderProductDTOTemp){
|
||||||
|
deleteTargetList.add(entry.getKey());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
List<ConsumablesPurchaseOrderProduct> consumablesPurchaseOrderProductList = new ArrayList<>();
|
||||||
|
for(ConsumablesPurchaseOrderProductDTO consumablesPurchaseOrderProductDTO : consumablesPurchaseOrderProductRequestList){
|
||||||
|
ConsumablesPurchaseOrderProduct consumablesPurchaseOrderProduct = new ConsumablesPurchaseOrderProduct();
|
||||||
|
BeanUtils.copyProperties(consumablesPurchaseOrderProductDTO, consumablesPurchaseOrderProduct);
|
||||||
|
consumablesPurchaseOrderProduct.setConsumablesPurchaseOrderId(consumablesPurchaseOrder.getId());
|
||||||
|
consumablesPurchaseOrderProduct.setStatus(true);
|
||||||
|
|
||||||
|
if(!(!CollectionUtils.isEmpty(deleteTargetList) && deleteTargetList.contains(consumablesPurchaseOrderProductDTO.getId()))){
|
||||||
|
consumablesPurchaseOrderProductList.add(consumablesPurchaseOrderProduct);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
consumablesPurchaseOrderProductRepository.saveAll(consumablesPurchaseOrderProductList);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 场景描述:
|
||||||
|
* 1.刚开始新增了 a b c三种产品
|
||||||
|
* 2.修改的时候删除了 a c两种产品
|
||||||
|
* 3.所以需要查修改前数据库中有的产品,再比较修改传过来的产品数据,如果修改后的在原来里面没有,需要将原来里面对应的删除
|
||||||
|
*/
|
||||||
|
if(!CollectionUtils.isEmpty(deleteTargetList)){
|
||||||
|
for(String prductCode : deleteTargetList){
|
||||||
|
consumablesPurchaseOrderProductRepository.deleteByProductCodeAndConsumablesPurchaseOrderId(prductCode, consumablesPurchaseOrder.getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -182,6 +262,7 @@ public class ConsumablesPurchaseOrderServiceImpl implements ConsumablesPurchaseO
|
||||||
Long auditUserId = auditConsumablesPurchaseOrderRequest.getAuditUserId();
|
Long auditUserId = auditConsumablesPurchaseOrderRequest.getAuditUserId();
|
||||||
String auditUserName = auditConsumablesPurchaseOrderRequest.getAuditUserName();
|
String auditUserName = auditConsumablesPurchaseOrderRequest.getAuditUserName();
|
||||||
String auditOpinion = auditConsumablesPurchaseOrderRequest.getAuditOpinion();
|
String auditOpinion = auditConsumablesPurchaseOrderRequest.getAuditOpinion();
|
||||||
|
String auditStatus = auditConsumablesPurchaseOrderRequest.getAuditStatus();
|
||||||
|
|
||||||
Optional<ConsumablesPurchaseOrder> optionalProductPurchaseOrder = consumablesPurchaseOrderRepository.findById(id);
|
Optional<ConsumablesPurchaseOrder> optionalProductPurchaseOrder = consumablesPurchaseOrderRepository.findById(id);
|
||||||
|
|
||||||
|
|
@ -192,6 +273,7 @@ public class ConsumablesPurchaseOrderServiceImpl implements ConsumablesPurchaseO
|
||||||
consumablesPurchaseOrder.setAuditOpinion(auditOpinion);
|
consumablesPurchaseOrder.setAuditOpinion(auditOpinion);
|
||||||
Date date = new Date();
|
Date date = new Date();
|
||||||
consumablesPurchaseOrder.setAuditTime(date);
|
consumablesPurchaseOrder.setAuditTime(date);
|
||||||
|
consumablesPurchaseOrder.setAuditStatus(auditStatus);
|
||||||
consumablesPurchaseOrderRepository.save(consumablesPurchaseOrder);
|
consumablesPurchaseOrderRepository.save(consumablesPurchaseOrder);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,16 @@
|
||||||
package me.zhengjie.modules.wms.purchase.service.impl;
|
package me.zhengjie.modules.wms.purchase.service.impl;
|
||||||
|
|
||||||
import me.zhengjie.exception.BadRequestException;
|
import me.zhengjie.exception.BadRequestException;
|
||||||
import me.zhengjie.modules.wms.bd.domain.MeasureUnit;
|
import me.zhengjie.modules.wms.purchase.cons.AuditStatus;
|
||||||
import me.zhengjie.modules.wms.outSourceProductSheet.domain.OutSourceProcessSheet;
|
import me.zhengjie.modules.wms.purchase.domain.ConsumablesPurchaseOrder;
|
||||||
import me.zhengjie.modules.wms.outSourceProductSheet.domain.OutSourceProcessSheetProduct;
|
|
||||||
import me.zhengjie.modules.wms.outSourceProductSheet.request.OutSourceProcessSheetProductRequest;
|
|
||||||
import me.zhengjie.modules.wms.outSourceProductSheet.service.dto.OutSourceProcessSheetDTO;
|
|
||||||
import me.zhengjie.modules.wms.outSourceProductSheet.service.dto.OutSourceProcessSheetProductDTO;
|
|
||||||
import me.zhengjie.modules.wms.purchase.domain.ProductPurchaseOrder;
|
import me.zhengjie.modules.wms.purchase.domain.ProductPurchaseOrder;
|
||||||
import me.zhengjie.modules.wms.purchase.domain.ProductPurchaseOrderProduct;
|
import me.zhengjie.modules.wms.purchase.domain.ProductPurchaseOrderProduct;
|
||||||
import me.zhengjie.modules.wms.purchase.repository.ProductPurchaseOrderProductRepository;
|
import me.zhengjie.modules.wms.purchase.repository.ProductPurchaseOrderProductRepository;
|
||||||
import me.zhengjie.modules.wms.purchase.request.AuditProductPurchaseOrderRequest;
|
import me.zhengjie.modules.wms.purchase.request.AuditProductPurchaseOrderRequest;
|
||||||
import me.zhengjie.modules.wms.purchase.request.CreateProductPurchaseOrderRequest;
|
import me.zhengjie.modules.wms.purchase.request.CreateProductPurchaseOrderRequest;
|
||||||
import me.zhengjie.modules.wms.purchase.request.ProductPurchaseOrderProductRequest;
|
import me.zhengjie.modules.wms.purchase.request.ProductPurchaseOrderProductRequest;
|
||||||
|
import me.zhengjie.modules.wms.purchase.request.UpdateProductPurchaseOrderRequest;
|
||||||
|
import me.zhengjie.modules.wms.purchase.service.dto.ConsumablesPurchaseOrderDTO;
|
||||||
import me.zhengjie.modules.wms.purchase.service.dto.ProductPurchaseOrderProductDTO;
|
import me.zhengjie.modules.wms.purchase.service.dto.ProductPurchaseOrderProductDTO;
|
||||||
import me.zhengjie.modules.wms.purchase.service.mapper.ProductPurchaseOrderProductMapper;
|
import me.zhengjie.modules.wms.purchase.service.mapper.ProductPurchaseOrderProductMapper;
|
||||||
import me.zhengjie.utils.ValidationUtil;
|
import me.zhengjie.utils.ValidationUtil;
|
||||||
|
|
@ -28,10 +26,12 @@ import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Propagation;
|
import org.springframework.transaction.annotation.Propagation;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.sql.Timestamp;
|
||||||
import java.util.Date;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.List;
|
import java.util.*;
|
||||||
import java.util.Optional;
|
import java.util.function.Function;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import org.springframework.data.domain.Page;
|
import org.springframework.data.domain.Page;
|
||||||
import org.springframework.data.domain.Pageable;
|
import org.springframework.data.domain.Pageable;
|
||||||
import me.zhengjie.utils.PageUtil;
|
import me.zhengjie.utils.PageUtil;
|
||||||
|
|
@ -85,7 +85,23 @@ public class ProductPurchaseOrderServiceImpl implements ProductPurchaseOrderServ
|
||||||
};
|
};
|
||||||
|
|
||||||
Page<ProductPurchaseOrder> page = productPurchaseOrderRepository.findAll(specification, pageable);
|
Page<ProductPurchaseOrder> page = productPurchaseOrderRepository.findAll(specification, pageable);
|
||||||
return PageUtil.toPage(page.map(productPurchaseOrderMapper::toDto));
|
|
||||||
|
Page<ProductPurchaseOrderDTO> productPurchaseOrderDTOPage = page.map(productPurchaseOrderMapper::toDto);
|
||||||
|
if(null != productPurchaseOrderDTOPage){
|
||||||
|
List<ProductPurchaseOrderDTO> productPurchaseOrderDTOList = productPurchaseOrderDTOPage.getContent();
|
||||||
|
if(!CollectionUtils.isEmpty(productPurchaseOrderDTOList)){
|
||||||
|
for(ProductPurchaseOrderDTO productPurchaseOrderDTO : productPurchaseOrderDTOList){
|
||||||
|
String auditStatusName = AuditStatus.getName(productPurchaseOrderDTO.getAuditStatus());
|
||||||
|
productPurchaseOrderDTO.setAuditStatusName(auditStatusName);
|
||||||
|
|
||||||
|
Timestamp createTime = productPurchaseOrderDTO.getCreateTime();
|
||||||
|
productPurchaseOrderDTO.setCreateTimeStr(new SimpleDateFormat("yyyy-MM-dd").format(createTime));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Map map = PageUtil.toPage(productPurchaseOrderDTOPage);
|
||||||
|
return map;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -178,12 +194,61 @@ public class ProductPurchaseOrderServiceImpl implements ProductPurchaseOrderServ
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void update(ProductPurchaseOrder resources) {
|
public void update(UpdateProductPurchaseOrderRequest updateProductPurchaseOrderRequest) {
|
||||||
Optional<ProductPurchaseOrder> optionalProductPurchaseOrder = productPurchaseOrderRepository.findById(resources.getId());
|
Long productPurchaseOrderId = updateProductPurchaseOrderRequest.getId();
|
||||||
ValidationUtil.isNull( optionalProductPurchaseOrder,"ProductPurchaseOrder","id",resources.getId());
|
Optional<ProductPurchaseOrder> productPurchaseOrderOptional = productPurchaseOrderRepository.findById(productPurchaseOrderId);
|
||||||
ProductPurchaseOrder productPurchaseOrder = optionalProductPurchaseOrder.get();
|
ProductPurchaseOrder productPurchaseOrder = productPurchaseOrderOptional.get();
|
||||||
productPurchaseOrder.copy(resources);
|
|
||||||
productPurchaseOrderRepository.save(productPurchaseOrder);
|
// 修改产品信息之前,查询该采购中原来的产品信息
|
||||||
|
List<ProductPurchaseOrderProduct> productPurchaseOrderProductListBeforeUpdate = productPurchaseOrderProductRepository.queryByProductPurchaseOrderIdAndStatusTrue(productPurchaseOrder.getId());
|
||||||
|
// 将修改前产品采购单中的产品放到map中,key为产品code
|
||||||
|
Map<String, ProductPurchaseOrderProduct> productPurchaseOrderProductMapBefore = productPurchaseOrderProductListBeforeUpdate.stream().collect(Collectors.toMap(ProductPurchaseOrderProduct::getProductCode, Function.identity()));
|
||||||
|
|
||||||
|
List<ProductPurchaseOrderProductDTO> productPurchaseOrderProductRequestList = updateProductPurchaseOrderRequest.getProductPurchaseOrderProductList();
|
||||||
|
if(CollectionUtils.isEmpty(productPurchaseOrderProductRequestList)){
|
||||||
|
throw new BadRequestException("产品采购单产品不能为空!");
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, ProductPurchaseOrderProductDTO> productPurchaseOrderProductMapAfter = productPurchaseOrderProductRequestList.stream().collect(Collectors.toMap(ProductPurchaseOrderProductDTO::getProductCode, Function.identity()));
|
||||||
|
|
||||||
|
//需要将订单中原来订单对应的产品删除了的数据
|
||||||
|
List<String> deleteTargetList = new ArrayList<>();
|
||||||
|
//比较量个map中,key不一样的数据
|
||||||
|
for(Map.Entry<String, ProductPurchaseOrderProduct> entry:productPurchaseOrderProductMapBefore.entrySet()){
|
||||||
|
String consumablesCode = entry.getKey();
|
||||||
|
//修改后的map记录对应的key在原来中是否存在
|
||||||
|
ProductPurchaseOrderProductDTO productPurchaseOrderProductDTOTemp = productPurchaseOrderProductMapAfter.get(consumablesCode);
|
||||||
|
if(null == productPurchaseOrderProductDTOTemp){
|
||||||
|
deleteTargetList.add(entry.getKey());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
List<ProductPurchaseOrderProduct> productPurchaseOrderProductList = new ArrayList<>();
|
||||||
|
for(ProductPurchaseOrderProductDTO productPurchaseOrderProductDTO : productPurchaseOrderProductRequestList){
|
||||||
|
ProductPurchaseOrderProduct productPurchaseOrderProduct = new ProductPurchaseOrderProduct();
|
||||||
|
BeanUtils.copyProperties(productPurchaseOrderProductDTO, productPurchaseOrderProduct);
|
||||||
|
productPurchaseOrderProduct.setProductPurchaseOrderId(productPurchaseOrder.getId());
|
||||||
|
productPurchaseOrderProduct.setStatus(true);
|
||||||
|
|
||||||
|
if(!(!CollectionUtils.isEmpty(deleteTargetList) && deleteTargetList.contains(productPurchaseOrderProductDTO.getId()))){
|
||||||
|
productPurchaseOrderProductList.add(productPurchaseOrderProduct);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
productPurchaseOrderProductRepository.saveAll(productPurchaseOrderProductList);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 场景描述:
|
||||||
|
* 1.刚开始新增了 a b c三种产品
|
||||||
|
* 2.修改的时候删除了 a c两种产品
|
||||||
|
* 3.所以需要查修改前数据库中有的产品,再比较修改传过来的产品数据,如果修改后的在原来里面没有,需要将原来里面对应的删除
|
||||||
|
*/
|
||||||
|
if(!CollectionUtils.isEmpty(deleteTargetList)){
|
||||||
|
for(String prductCode : deleteTargetList){
|
||||||
|
productPurchaseOrderProductRepository.deleteByProductCodeAndProductPurchaseOrderId(prductCode, productPurchaseOrder.getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -203,6 +268,7 @@ public class ProductPurchaseOrderServiceImpl implements ProductPurchaseOrderServ
|
||||||
Long auditUserId = auditProductPurchaseOrderRequest.getAuditUserId();
|
Long auditUserId = auditProductPurchaseOrderRequest.getAuditUserId();
|
||||||
String auditUserName = auditProductPurchaseOrderRequest.getAuditUserName();
|
String auditUserName = auditProductPurchaseOrderRequest.getAuditUserName();
|
||||||
String auditOpinion = auditProductPurchaseOrderRequest.getAuditOpinion();
|
String auditOpinion = auditProductPurchaseOrderRequest.getAuditOpinion();
|
||||||
|
String auditStatus = auditProductPurchaseOrderRequest.getAuditStatus();
|
||||||
|
|
||||||
Optional<ProductPurchaseOrder> optionalProductPurchaseOrder = productPurchaseOrderRepository.findById(id);
|
Optional<ProductPurchaseOrder> optionalProductPurchaseOrder = productPurchaseOrderRepository.findById(id);
|
||||||
|
|
||||||
|
|
@ -213,6 +279,7 @@ public class ProductPurchaseOrderServiceImpl implements ProductPurchaseOrderServ
|
||||||
productPurchaseOrder.setAuditOpinion(auditOpinion);
|
productPurchaseOrder.setAuditOpinion(auditOpinion);
|
||||||
Date auditDate = new Date();
|
Date auditDate = new Date();
|
||||||
productPurchaseOrder.setAuditTime(auditDate);
|
productPurchaseOrder.setAuditTime(auditDate);
|
||||||
|
productPurchaseOrder.setAuditStatus(auditStatus);
|
||||||
productPurchaseOrderRepository.save(productPurchaseOrder);
|
productPurchaseOrderRepository.save(productPurchaseOrder);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ server:
|
||||||
|
|
||||||
spring:
|
spring:
|
||||||
profiles:
|
profiles:
|
||||||
active: prod
|
active: dev
|
||||||
jackson:
|
jackson:
|
||||||
time-zone: GMT+8
|
time-zone: GMT+8
|
||||||
data:
|
data:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue