新增库位绑定Feign接口与合并采购销售订单
This commit is contained in:
@@ -20,4 +20,6 @@ public interface ErrorCodeConstants {
|
|||||||
ErrorCode ORDER_DONT_SUBMIT = new ErrorCode(1_008_000_050, "该订单不支持审批");
|
ErrorCode ORDER_DONT_SUBMIT = new ErrorCode(1_008_000_050, "该订单不支持审批");
|
||||||
ErrorCode MTRL_CODE_NOT_EXISTS = new ErrorCode(1_008_000_150, "中铜物料不存在");
|
ErrorCode MTRL_CODE_NOT_EXISTS = new ErrorCode(1_008_000_150, "中铜物料不存在");
|
||||||
ErrorCode WAREHOUSE_CODE_OR_FACTORY_CODE_NOT_EXISTS = new ErrorCode(1_008_000_151, "{}");
|
ErrorCode WAREHOUSE_CODE_OR_FACTORY_CODE_NOT_EXISTS = new ErrorCode(1_008_000_151, "{}");
|
||||||
|
|
||||||
|
ErrorCode ORDER_DETAIL_NOT_EXISTS = new ErrorCode(1_008_000_060, "订单明细不能为空");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -153,7 +153,7 @@ public class PurchaseOrderSaveReqVO {
|
|||||||
|
|
||||||
@Schema(description = "订单明细")
|
@Schema(description = "订单明细")
|
||||||
@ExcelProperty("订单明细")
|
@ExcelProperty("订单明细")
|
||||||
private List<PrchOrdDtlSaveReqVO> prchOrdDtlSaveReqVOS;
|
private List<PrchOrdDtlSaveReqVO> details;
|
||||||
|
|
||||||
|
|
||||||
@Schema(description = "流程实例编号")
|
@Schema(description = "流程实例编号")
|
||||||
|
|||||||
@@ -201,5 +201,8 @@ public class SalesOrderSaveReqVO {
|
|||||||
@Schema(description = "货权转移类型(字典:ASY_MTNG_TP)")
|
@Schema(description = "货权转移类型(字典:ASY_MTNG_TP)")
|
||||||
@ExcelProperty("货权转移类型(字典:ASY_MTNG_TP)")
|
@ExcelProperty("货权转移类型(字典:ASY_MTNG_TP)")
|
||||||
private String meteringType;
|
private String meteringType;
|
||||||
|
@Schema(description = "订单明细")
|
||||||
|
@ExcelProperty("订单明细")
|
||||||
|
private List<SalesOrderDetailSaveReqVO> details;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -69,6 +69,13 @@ public interface PrchOrdDtlService {
|
|||||||
* @return List<PrchOrdDtlRespVO>
|
* @return List<PrchOrdDtlRespVO>
|
||||||
*/
|
*/
|
||||||
List<PrchOrdDtlRespVO> batchCreatePrchOrdDtl(@Valid List<PrchOrdDtlSaveReqVO> createReqVOS);
|
List<PrchOrdDtlRespVO> batchCreatePrchOrdDtl(@Valid List<PrchOrdDtlSaveReqVO> createReqVOS);
|
||||||
|
/**
|
||||||
|
* 批量更新采购订单明细
|
||||||
|
*
|
||||||
|
* @param createReqVOS 更新信息
|
||||||
|
* @return List<PrchOrdDtlRespVO>
|
||||||
|
*/
|
||||||
|
List<PrchOrdDtlRespVO> batchUpdatePrchOrdDtl(@Valid List<PrchOrdDtlSaveReqVO> createReqVOS);
|
||||||
/**
|
/**
|
||||||
* 批量删除采购订单明细
|
* 批量删除采购订单明细
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -149,6 +149,14 @@ public class PrchOrdDtlServiceImpl implements PrchOrdDtlService {
|
|||||||
return BeanUtils.toBean(prchOrdDtlDOS, PrchOrdDtlRespVO.class);
|
return BeanUtils.toBean(prchOrdDtlDOS, PrchOrdDtlRespVO.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<PrchOrdDtlRespVO> batchUpdatePrchOrdDtl(List<PrchOrdDtlSaveReqVO> createReqVOS) {
|
||||||
|
List<PrchOrdDtlDO> prchOrdDtlDOS = BeanUtils.toBean(createReqVOS, PrchOrdDtlDO.class);
|
||||||
|
prchOrdDtlMapper.insertOrUpdate(prchOrdDtlDOS);
|
||||||
|
log.info("批量更新采购订单明细成功,更新【{}】条数据", prchOrdDtlDOS.size());
|
||||||
|
return BeanUtils.toBean(prchOrdDtlDOS, PrchOrdDtlRespVO.class);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void deletePrchOrdDtlListByOrdIds(List<Long> ordIds) {
|
public void deletePrchOrdDtlListByOrdIds(List<Long> ordIds) {
|
||||||
//通过订单组件查询订单明细
|
//通过订单组件查询订单明细
|
||||||
|
|||||||
@@ -115,14 +115,14 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
|||||||
purchaseOrder.setSystemOrderNumber(orderNumber);
|
purchaseOrder.setSystemOrderNumber(orderNumber);
|
||||||
purchaseOrderMapper.insert(purchaseOrder);
|
purchaseOrderMapper.insert(purchaseOrder);
|
||||||
|
|
||||||
// if (createReqVO.getPrchOrdDtlSaveReqVOS()==null||createReqVO.getPrchOrdDtlSaveReqVOS().isEmpty()) {
|
if (createReqVO.getDetails()==null||createReqVO.getDetails().isEmpty()) {
|
||||||
// return BeanUtils.toBean(purchaseOrder, PurchaseOrderRespVO.class);
|
throw exception(ORDER_DETAIL_NOT_EXISTS);
|
||||||
// }
|
}
|
||||||
// //批量插入订单明细
|
//批量插入订单明细
|
||||||
// createReqVO.getPrchOrdDtlSaveReqVOS().forEach(prchOrdDtlSaveReqVO -> prchOrdDtlSaveReqVO.setOrdId(purchaseOrder.getId()));
|
createReqVO.getDetails().forEach(details -> details.setOrdId(purchaseOrder.getId()));
|
||||||
// List<PrchOrdDtlRespVO> prchOrdDtlRespVOS = prchOrdDtlService.batchCreatePrchOrdDtl(createReqVO.getPrchOrdDtlSaveReqVOS());
|
List<PrchOrdDtlRespVO> prchOrdDtlRespVOS = prchOrdDtlService.batchCreatePrchOrdDtl(createReqVO.getDetails());
|
||||||
// PurchaseOrderRespVO purchaseOrderRespVO = BeanUtils.toBean(purchaseOrder, PurchaseOrderRespVO.class);
|
PurchaseOrderRespVO purchaseOrderRespVO = BeanUtils.toBean(purchaseOrder, PurchaseOrderRespVO.class);
|
||||||
// purchaseOrderRespVO.setPrchOrdDtlRespVOS(prchOrdDtlRespVOS);
|
purchaseOrderRespVO.setPrchOrdDtlRespVOS(prchOrdDtlRespVOS);
|
||||||
return BeanUtils.toBean(purchaseOrder, PurchaseOrderRespVO.class);
|
return BeanUtils.toBean(purchaseOrder, PurchaseOrderRespVO.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -134,22 +134,25 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
|||||||
// 更新
|
// 更新
|
||||||
PurchaseOrderDO updateObj = BeanUtils.toBean(updateReqVO, PurchaseOrderDO.class);
|
PurchaseOrderDO updateObj = BeanUtils.toBean(updateReqVO, PurchaseOrderDO.class);
|
||||||
purchaseOrderMapper.updateById(updateObj);
|
purchaseOrderMapper.updateById(updateObj);
|
||||||
//删除订单明细
|
|
||||||
// prchOrdDtlService.deletePrchOrdDtlListByOrdIds(Collections.singletonList(updateReqVO.getId()));
|
|
||||||
// log.info("删除旧的订单明细成功");
|
|
||||||
// 返回
|
|
||||||
// 批量插入订单明细
|
// 批量插入订单明细
|
||||||
// updateReqVO.getPrchOrdDtlSaveReqVOS().forEach(prchOrdDtlSaveReqVO -> prchOrdDtlSaveReqVO.setOrdId(updateReqVO.getId()));
|
updateReqVO.getDetails().forEach(prchOrdDtlSaveReqVO ->{
|
||||||
// prchOrdDtlService.batchCreatePrchOrdDtl(updateReqVO.getPrchOrdDtlSaveReqVOS());
|
//表示新增
|
||||||
|
if (prchOrdDtlSaveReqVO.getId() == null){
|
||||||
|
prchOrdDtlSaveReqVO.setOrdId(updateReqVO.getId());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
prchOrdDtlService.batchUpdatePrchOrdDtl(updateReqVO.getDetails());
|
||||||
log.info("更新订单明细成功");
|
log.info("更新订单明细成功");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void deletePurchaseOrder(Long id) {
|
public void deletePurchaseOrder(Long id) {
|
||||||
// 校验存在
|
// 校验存在
|
||||||
validatePurchaseOrderExists(id);
|
validatePurchaseOrderExists(id);
|
||||||
// 删除
|
// 删除
|
||||||
purchaseOrderMapper.deleteById(id);
|
purchaseOrderMapper.deleteById(id);
|
||||||
|
prchOrdDtlService.deletePrchOrdDtlListByOrdIds(Collections.singletonList(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -40,7 +40,12 @@ public interface SalesOrderDetailService {
|
|||||||
* @param updateReqVO 更新信息
|
* @param updateReqVO 更新信息
|
||||||
*/
|
*/
|
||||||
void updateSalesOrderDetail(@Valid SalesOrderDetailSaveReqVO updateReqVO);
|
void updateSalesOrderDetail(@Valid SalesOrderDetailSaveReqVO updateReqVO);
|
||||||
|
/**
|
||||||
|
* 批量更新销售订单明细
|
||||||
|
*
|
||||||
|
* @param updateReqVO 更新信息
|
||||||
|
*/
|
||||||
|
void updateSalesOrderDetailList(@Valid List<SalesOrderDetailSaveReqVO> updateReqVO);
|
||||||
/**
|
/**
|
||||||
* 删除销售订单明细
|
* 删除销售订单明细
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ public class SalesOrderDetailServiceImpl implements SalesOrderDetailService {
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public List<SalesOrderDetailRespVO> createSalesOrderDetail(List<SalesOrderDetailSaveReqVO> createReqVOS) {
|
public List<SalesOrderDetailRespVO> createSalesOrderDetail(List<SalesOrderDetailSaveReqVO> createReqVOS) {
|
||||||
List<SalesOrderDetailDO> salesOrderDetailDOS = BeanUtils.toBean(createReqVOS, SalesOrderDetailDO.class);
|
List<SalesOrderDetailDO> salesOrderDetailDOS = BeanUtils.toBean(createReqVOS, SalesOrderDetailDO.class);
|
||||||
salesOrderDetailDOS.forEach(salesOrderDetail -> {
|
salesOrderDetailDOS.forEach(salesOrderDetail -> {
|
||||||
@@ -96,6 +96,11 @@ public class SalesOrderDetailServiceImpl implements SalesOrderDetailService {
|
|||||||
salesOrderDetailMapper.updateById(updateObj);
|
salesOrderDetailMapper.updateById(updateObj);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateSalesOrderDetailList(List<SalesOrderDetailSaveReqVO> updateReqVO) {
|
||||||
|
salesOrderDetailMapper.insertOrUpdate(BeanUtils.toBean(updateReqVO, SalesOrderDetailDO.class));
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void deleteSalesOrderDetail(Long id) {
|
public void deleteSalesOrderDetail(Long id) {
|
||||||
// 校验存在
|
// 校验存在
|
||||||
|
|||||||
@@ -98,7 +98,7 @@ public class SalesOrderServiceImpl implements SalesOrderService {
|
|||||||
private InternalWarehouseService internalWarehouseService;
|
private InternalWarehouseService internalWarehouseService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public SalesOrderRespVO createSalesOrder(SalesOrderSaveReqVO createReqVO) {
|
public SalesOrderRespVO createSalesOrder(SalesOrderSaveReqVO createReqVO) {
|
||||||
// 插入
|
// 插入
|
||||||
SalesOrderDO salesOrderDO = BeanUtils.toBean(createReqVO, SalesOrderDO.class);
|
SalesOrderDO salesOrderDO = BeanUtils.toBean(createReqVO, SalesOrderDO.class);
|
||||||
@@ -108,22 +108,35 @@ public class SalesOrderServiceImpl implements SalesOrderService {
|
|||||||
String orderNumber = generateOrderNumber(salesOrderDO.getMtrlTp());
|
String orderNumber = generateOrderNumber(salesOrderDO.getMtrlTp());
|
||||||
salesOrderDO.setSystemOrderNumber(orderNumber);
|
salesOrderDO.setSystemOrderNumber(orderNumber);
|
||||||
salesOrderMapper.insert(salesOrderDO);
|
salesOrderMapper.insert(salesOrderDO);
|
||||||
|
//插入订单明细
|
||||||
|
if (createReqVO.getDetails()==null||createReqVO.getDetails().isEmpty()) {
|
||||||
|
throw exception(Sales_ORD_DTL_NOT_EXISTS);
|
||||||
|
}
|
||||||
|
createReqVO.getDetails().forEach(details ->details.setOrderId(String.valueOf(salesOrderDO.getId())));
|
||||||
|
List<SalesOrderDetailRespVO> salesOrderDetail = salesOrderDetailService.createSalesOrderDetail(createReqVO.getDetails());
|
||||||
// 返回
|
// 返回
|
||||||
return BeanUtils.toBean(salesOrderDO, SalesOrderRespVO.class);
|
SalesOrderRespVO bean = BeanUtils.toBean(salesOrderDO, SalesOrderRespVO.class);
|
||||||
|
bean.setSalesOrderDetailRespVOS(salesOrderDetail);
|
||||||
|
return bean;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void updateSalesOrder(SalesOrderSaveReqVO updateReqVO) {
|
public void updateSalesOrder(SalesOrderSaveReqVO updateReqVO) {
|
||||||
// 校验存在
|
// 校验存在
|
||||||
validateSalesOrderExists(updateReqVO.getId());
|
validateSalesOrderExists(updateReqVO.getId());
|
||||||
// 更新
|
// 更新
|
||||||
SalesOrderDO updateObj = BeanUtils.toBean(updateReqVO, SalesOrderDO.class);
|
SalesOrderDO updateObj = BeanUtils.toBean(updateReqVO, SalesOrderDO.class);
|
||||||
salesOrderMapper.updateById(updateObj);
|
salesOrderMapper.updateById(updateObj);
|
||||||
|
if (updateReqVO.getDetails()==null||updateReqVO.getDetails().isEmpty()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
updateReqVO.getDetails().forEach(details ->details.setOrderId(String.valueOf(updateObj.getId())));
|
||||||
|
salesOrderDetailService.updateSalesOrderDetailList(updateReqVO.getDetails());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void deleteSalesOrder(Long id) {
|
public void deleteSalesOrder(Long id) {
|
||||||
// 校验存在
|
// 校验存在
|
||||||
validateSalesOrderExists(id);
|
validateSalesOrderExists(id);
|
||||||
@@ -132,7 +145,7 @@ public class SalesOrderServiceImpl implements SalesOrderService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public void deleteSalesOrderListByIds(List<Long> ids) {
|
public void deleteSalesOrderListByIds(List<Long> ids) {
|
||||||
// 校验存在
|
// 校验存在
|
||||||
validateSalesOrderExists(ids);
|
validateSalesOrderExists(ids);
|
||||||
|
|||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package com.zt.plat.module.erp.api;
|
||||||
|
|
||||||
|
import com.zt.plat.framework.common.pojo.CommonResult;
|
||||||
|
import com.zt.plat.module.erp.api.dto.internalWarehouse.InternalWarehouseDTO;
|
||||||
|
import com.zt.plat.module.erp.enums.ApiConstants;
|
||||||
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
|
import org.springframework.cloud.openfeign.FeignClient;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@FeignClient(name = ApiConstants.NAME)
|
||||||
|
@Tag(name = "RPC 服务 - ERP")
|
||||||
|
public interface InternalWarehouseApi {
|
||||||
|
String PREFIX = ApiConstants.PREFIX + "/internal-warehouse";
|
||||||
|
/**
|
||||||
|
* 根据工厂代码和仓库代码获取仓库列表
|
||||||
|
*
|
||||||
|
* @param factoryCode 工厂代码
|
||||||
|
* @param warehouseCode 仓库代码
|
||||||
|
* @return 仓库列表
|
||||||
|
*/
|
||||||
|
@GetMapping(PREFIX + "/list-by-factory-code-and-warehouse-code")
|
||||||
|
@Operation(summary = "根据工厂代码和仓库代码获取仓库列表", description = "根据工厂代码和仓库代码获取仓库列表;factoryCode是工厂编码,warehouseCode是仓库编码,mmsiType是业务类型,operationType是操作类型")
|
||||||
|
CommonResult<List<InternalWarehouseDTO>> getInternalWarehouseListByFactoryCodeAndWarehouseCode(@RequestParam(value = "factoryCode") String factoryCode, @RequestParam(value = "warehouseCode") String warehouseCode, @RequestParam(value = "mmsiType", required = false) String mmsiType, @RequestParam(value = "operationType", required = false) String operationType);
|
||||||
|
|
||||||
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user