1、修改bug
This commit is contained in:
@@ -10,6 +10,7 @@ import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.validation.Valid;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
@@ -31,10 +32,15 @@ public interface ContractApi {
|
||||
CommonResult<Boolean> updateOrderStatus(@RequestParam("orderId") Long orderId, @RequestParam("status") String status);
|
||||
|
||||
@PostMapping(PREFIX + "/order-by-order-no")
|
||||
@Operation(summary = "更新订单状态", description = "通过订单编号获取订单信息")
|
||||
@Operation(summary = "通过订单编号获取订单信息", description = "通过订单编号获取订单信息")
|
||||
CommonResult<List<PurchaseOrderWithDetailsDTO>> getOrderByOrderNo(@RequestBody List<String> orderNoS);
|
||||
|
||||
@PostMapping(PREFIX + "/create")
|
||||
@Operation(summary = "创建合同")
|
||||
CommonResult<Boolean> create(@Valid @RequestBody ContractSaveReqVO reqVO);
|
||||
|
||||
@PostMapping(PREFIX + "/order-by-order-id")
|
||||
@Operation(summary = "通过订单id获取订单信息", description = "通过订单编号获取订单信息")
|
||||
CommonResult<List<PurchaseOrderWithDetailsDTO>> getOrderByOrderIds(@RequestBody List<Long> ids);
|
||||
|
||||
}
|
||||
|
||||
@@ -76,4 +76,26 @@ public class ContractApiImpl implements ContractApi {
|
||||
reqVO);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommonResult<List<PurchaseOrderWithDetailsDTO>> getOrderByOrderIds(List<Long> ids) {
|
||||
if (ids==null||ids.isEmpty()){
|
||||
throw new RuntimeException("订单id为空");
|
||||
}
|
||||
List<PurchaseOrderWithDetailsDTO> purchaseOrderWithDetailsDTOS = new ArrayList<>();
|
||||
List<PurchaseOrderDetailsRespVO> purchaseOrderWithDetailsVOS = purchaseOrderService.getOrderByIds(ids);
|
||||
purchaseOrderWithDetailsVOS.forEach(purchaseOrderWithDetailsVO -> {
|
||||
if (purchaseOrderWithDetailsVO!= null) {
|
||||
PurchaseOrderWithDetailsDTO purchaseOrderWithDetailsDTO = BeanUtils.toBean(purchaseOrderWithDetailsVO,
|
||||
PurchaseOrderWithDetailsDTO.class);
|
||||
if (purchaseOrderWithDetailsVO.getOrderDetails().isEmpty()) {
|
||||
purchaseOrderWithDetailsDTO.setOrderDetails(new ArrayList<>());
|
||||
} else {
|
||||
purchaseOrderWithDetailsDTO.setOrderDetails(BeanUtils.toBean(purchaseOrderWithDetailsVO.getOrderDetails(), PrchOrdDtlDTO.class));
|
||||
}
|
||||
purchaseOrderWithDetailsDTOS.add(purchaseOrderWithDetailsDTO);
|
||||
}
|
||||
});
|
||||
return success(purchaseOrderWithDetailsDTOS);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -163,7 +163,7 @@ public class PurchaseOrderController implements BusinessControllerMarker {
|
||||
//根据订单id修改订单状态
|
||||
@PutMapping("/update-order-status")
|
||||
@Operation(summary = "批量修改订单状态", description = "sts取值于字典名称'采购订单状态',字典类型'PRCH_ORD_STS' 可以根据订单号和订单id修改")
|
||||
public CommonResult<Boolean> updateOrderStatus(@RequestBody @Validated PurchaseOrderStsReqVO req) {
|
||||
public CommonResult<Boolean> updateOrderStatus(@RequestBody @Validated OrderStsReqVO req) {
|
||||
purchaseOrderService.updateOrderStatusByIdOrOrderNo(req);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@Schema(description = "管理后台 - 订单状态 Request VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class OrderStsReqVO {
|
||||
@Schema(description = "订单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "26419")
|
||||
private List<Long> ids;
|
||||
@Schema(description = "订单状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@NotEmpty(message = "订单状态不能为空")
|
||||
private String sts;
|
||||
@Schema(description = "订单号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
private List<String> orderNos;
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
package com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@Schema(description = "管理后台 - 采购订单状态 Request VO")
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
public class PurchaseOrderStsReqVO {
|
||||
@Schema(description = "采购订单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "26419")
|
||||
private List<Long> ids;
|
||||
@Schema(description = "采购订单状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
@NotEmpty(message = "采购订单状态不能为空")
|
||||
private String sts;
|
||||
@Schema(description = "采购订单号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
||||
private List<String> orderNos;
|
||||
}
|
||||
@@ -56,7 +56,7 @@ public class SalesOrderController implements BusinessControllerMarker {
|
||||
}
|
||||
|
||||
@PutMapping("/update")
|
||||
@Operation(summary = "更新采购订单")
|
||||
@Operation(summary = "更新销售订单")
|
||||
@PreAuthorize("@ss.hasPermission('base:sales-order:update')")
|
||||
public CommonResult<Boolean> updateSalesOrder(@Valid @RequestBody SalesOrderSaveReqVO updateReqVO) {
|
||||
salesOrderService.updateSalesOrder(updateReqVO);
|
||||
@@ -64,7 +64,7 @@ public class SalesOrderController implements BusinessControllerMarker {
|
||||
}
|
||||
|
||||
@DeleteMapping("/delete")
|
||||
@Operation(summary = "删除采购订单")
|
||||
@Operation(summary = "删除销售订单")
|
||||
@Parameter(name = "id", description = "编号", required = true)
|
||||
@PreAuthorize("@ss.hasPermission('base:sales-order:delete')")
|
||||
public CommonResult<Boolean> deleteSalesOrder(@RequestParam("id") Long id) {
|
||||
@@ -74,7 +74,7 @@ public class SalesOrderController implements BusinessControllerMarker {
|
||||
|
||||
@DeleteMapping("/delete-list")
|
||||
@Parameter(name = "ids", description = "编号", required = true)
|
||||
@Operation(summary = "批量删除采购订单")
|
||||
@Operation(summary = "批量删除销售订单")
|
||||
@PreAuthorize("@ss.hasPermission('base:sales-order:delete')")
|
||||
public CommonResult<Boolean> deleteSalesOrderList(@RequestBody BatchDeleteReqVO req) {
|
||||
salesOrderService.deleteSalesOrderListByIds(req.getIds());
|
||||
@@ -82,8 +82,8 @@ public class SalesOrderController implements BusinessControllerMarker {
|
||||
}
|
||||
|
||||
@GetMapping("/get")
|
||||
@Operation(summary = "获得采购订单")
|
||||
@Parameter(name = "id", description = "id是订单主键,splyBsnTp是订单类型采购或者是消费", required = true, example = "1024")
|
||||
@Operation(summary = "获得销售订单")
|
||||
@Parameter(name = "id", description = "id是订单主键,splyBsnTp是订单类型销售或者是消费", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('base:sales-order:query')")
|
||||
public CommonResult<SalesOrderRespVO> getSalesOrder(@RequestParam("id") Long id,@RequestParam(value = "splyBsnTp",required = false) String splyBsnTp) {
|
||||
SalesOrderDO purchaseOrder = salesOrderService.getSalesOrder(id, splyBsnTp);
|
||||
@@ -96,7 +96,7 @@ public class SalesOrderController implements BusinessControllerMarker {
|
||||
}
|
||||
|
||||
@GetMapping("/page")
|
||||
@Operation(summary = "获得采购订单分页")
|
||||
@Operation(summary = "获得销售订单分页")
|
||||
@PreAuthorize("@ss.hasPermission('base:sales-order:query')")
|
||||
public CommonResult<PageResult<SalesOrderRespVO>> getSalesOrderPage(@Valid SalesOrderPageReqVO pageReqVO) {
|
||||
PageResult<SalesOrderDO> pageResult = salesOrderService.getSalesOrderPage(pageReqVO);
|
||||
@@ -109,7 +109,7 @@ public class SalesOrderController implements BusinessControllerMarker {
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
@Operation(summary = "导出采购订单 Excel")
|
||||
@Operation(summary = "导出销售订单 Excel")
|
||||
@PreAuthorize("@ss.hasPermission('base:sales-order:export')")
|
||||
@ApiAccessLog(operateType = EXPORT)
|
||||
public void exportSalesOrderExcel(@Valid SalesOrderPageReqVO pageReqVO,
|
||||
@@ -117,7 +117,7 @@ public class SalesOrderController implements BusinessControllerMarker {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<SalesOrderDO> list = salesOrderService.getSalesOrderPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "采购订单.xls", "数据", PurchaseOrderRespVO.class,
|
||||
ExcelUtils.write(response, "销售订单.xls", "数据", PurchaseOrderRespVO.class,
|
||||
BeanUtils.toBean(list, PurchaseOrderRespVO.class));
|
||||
}
|
||||
|
||||
@@ -162,4 +162,11 @@ public class SalesOrderController implements BusinessControllerMarker {
|
||||
return success(salesOrderService.getBindOrderByOrder(reqVO));
|
||||
}
|
||||
|
||||
@PutMapping("/update-order-status")
|
||||
@Operation(summary = "批量修改订单状态", description = "sts取值于字典名称'销售订单状态',字典类型'PRCH_ORD_STS' 可以根据订单号和订单id修改")
|
||||
public CommonResult<Boolean> updateOrderStatus(@RequestBody @Validated OrderStsReqVO req) {
|
||||
salesOrderService.updateOrderStatusByIdOrOrderNo(req);
|
||||
return success(true);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -96,7 +96,7 @@ public interface PurchaseOrderService {
|
||||
* @param reqVO 订单状态
|
||||
*
|
||||
*/
|
||||
void updateOrderStatusByIdOrOrderNo(PurchaseOrderStsReqVO reqVO);
|
||||
void updateOrderStatusByIdOrOrderNo(OrderStsReqVO reqVO);
|
||||
/**
|
||||
* 获取物料
|
||||
*
|
||||
@@ -124,4 +124,6 @@ public interface PurchaseOrderService {
|
||||
* @return 结果
|
||||
*/
|
||||
Boolean linkOrder(@Valid LinkOrderReqVO LinkOrderReqVO);
|
||||
|
||||
List<PurchaseOrderDetailsRespVO> getOrderByIds(List<Long> ids);
|
||||
}
|
||||
|
||||
@@ -425,7 +425,7 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateOrderStatusByIdOrOrderNo(PurchaseOrderStsReqVO reqVO) {
|
||||
public void updateOrderStatusByIdOrOrderNo(OrderStsReqVO reqVO) {
|
||||
// 校验存在
|
||||
if (reqVO.getIds() != null) {
|
||||
validatePurchaseOrderExists(reqVO.getIds());
|
||||
@@ -494,6 +494,8 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
||||
return systemRelativityMapper.insert(saveDO) > 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
private void setValue(ErpOrderUpdateReqVO erpOrderUpdateReqVO, PurchaseOrderWithDetailsVO purchaseOrderWithDetailsVO) {
|
||||
//head
|
||||
PurchaseOrderDO purchaseOrderDO = purchaseOrderMapper.selectById(purchaseOrderWithDetailsVO.getPurchaseOrder().getId());
|
||||
@@ -607,16 +609,17 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
||||
throw exception(PURCHASE_ORDER_NOT_EXISTS);
|
||||
}
|
||||
String contractNumber = purchaseOrderDO.getContractNumber();// 合同号
|
||||
ContractRespVO contractRespVO = contractService.getBySystemContractNumber(contractNumber);
|
||||
|
||||
ContractRespVO upRelation = null;
|
||||
if ("up".equals(reqVO.getOrderType())) {
|
||||
log.info("获取上游订单");
|
||||
//上游
|
||||
upRelation = contractService.getUpRelation(Long.valueOf(contractNumber));
|
||||
upRelation = contractService.getUpRelation(contractRespVO.getId());
|
||||
} else {
|
||||
//下游
|
||||
log.info("获取下游订单");
|
||||
upRelation = contractService.getDownRelation(Long.valueOf(contractNumber));
|
||||
upRelation = contractService.getDownRelation(contractRespVO.getId());
|
||||
}
|
||||
List<DownOrUpOrderRespVO> orderList = new ArrayList<>();
|
||||
if (upRelation != null) {
|
||||
@@ -662,4 +665,16 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
||||
}
|
||||
return orderList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<PurchaseOrderDetailsRespVO> getOrderByIds(List<Long> ids) {
|
||||
List<PurchaseOrderWithDetailsVO> purchaseOrderWithDetailsVOS = purchaseOrderMapper.selectOrderByIds(ids);
|
||||
List<PurchaseOrderDetailsRespVO> purchaseOrderDetailsRespVOS = new ArrayList<>();
|
||||
purchaseOrderWithDetailsVOS.forEach(purchaseOrderWithDetailsVO -> {
|
||||
PurchaseOrderDetailsRespVO purchaseOrderDetailsRespVO = BeanUtils.toBean(purchaseOrderWithDetailsVO.getPurchaseOrder(), PurchaseOrderDetailsRespVO.class);
|
||||
purchaseOrderDetailsRespVO.setOrderDetails(BeanUtils.toBean(purchaseOrderWithDetailsVO.getOrderDetails(), PrchOrdDtlDetailsRespVO.class));
|
||||
purchaseOrderDetailsRespVOS.add(purchaseOrderDetailsRespVO);
|
||||
});
|
||||
return purchaseOrderDetailsRespVOS;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -114,4 +114,11 @@ public interface SalesOrderService {
|
||||
*/
|
||||
|
||||
List<PurchaseOrderRespVO> getBindOrderByOrder(DownOrUpOrderReqVO reqVO);
|
||||
/**
|
||||
* 修改订单状态
|
||||
*
|
||||
* @param req 采购订单
|
||||
*
|
||||
*/
|
||||
void updateOrderStatusByIdOrOrderNo(OrderStsReqVO req);
|
||||
}
|
||||
|
||||
@@ -5,19 +5,18 @@ import com.alibaba.fastjson2.JSONArray;
|
||||
import com.alibaba.fastjson2.JSONException;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.zt.plat.framework.common.pojo.PageResult;
|
||||
import com.zt.plat.framework.common.util.object.BeanUtils;
|
||||
import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
|
||||
import com.zt.plat.module.bpm.api.task.BpmProcessInstanceApi;
|
||||
import com.zt.plat.module.bpm.api.task.BpmTaskApi;
|
||||
import com.zt.plat.module.bpm.api.task.dto.*;
|
||||
import com.zt.plat.module.bpm.enums.task.BpmProcessInstanceStatusEnum;
|
||||
import com.zt.plat.module.contractorder.api.vo.contract.ContractRespVO;
|
||||
import com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo.DownOrUpOrderReqVO;
|
||||
import com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo.DownOrUpOrderRespVO;
|
||||
import com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo.LinkOrderReqVO;
|
||||
import com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo.PurchaseOrderRespVO;
|
||||
import com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo.*;
|
||||
import com.zt.plat.module.contractorder.controller.admin.salesorder.vo.*;
|
||||
import com.zt.plat.module.contractorder.dal.dataobject.contract.SystemRelativityDO;
|
||||
import com.zt.plat.module.contractorder.dal.dataobject.purchaseorder.PurchaseOrderDO;
|
||||
import com.zt.plat.module.contractorder.dal.dataobject.salesorder.SalesOrderDO;
|
||||
import com.zt.plat.module.contractorder.dal.mysql.contract.SystemRelativityMapper;
|
||||
import com.zt.plat.module.contractorder.dal.mysql.salesorder.SalesOrderMapper;
|
||||
@@ -30,21 +29,17 @@ import com.zt.plat.module.erp.service.erp.ErpOrderService;
|
||||
import com.zt.plat.module.system.api.sequence.SequenceApi;
|
||||
import com.zt.plat.module.system.api.user.AdminUserApi;
|
||||
import com.zt.plat.module.system.api.user.dto.AdminUserRespDTO;
|
||||
import jakarta.annotation.Resource;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
import com.zt.plat.framework.common.pojo.PageResult;
|
||||
|
||||
import com.zt.plat.framework.common.util.object.BeanUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import static com.zt.plat.framework.common.exception.util.ServiceExceptionUtil.exception;
|
||||
import static com.zt.plat.module.contractorder.enums.ErrorCodeConstants.CONTRACT_ORDER_EXISTS;
|
||||
@@ -387,16 +382,16 @@ public class SalesOrderServiceImpl implements SalesOrderService {
|
||||
throw exception(PURCHASE_ORDER_NOT_EXISTS);
|
||||
}
|
||||
String contractNumber = salesOrderDO.getContractNumber();// 合同号
|
||||
|
||||
ContractRespVO bySystemContractNumber = contractService.getBySystemContractNumber(contractNumber);
|
||||
ContractRespVO upRelation = null;
|
||||
if ("up".equals(reqVO.getOrderType())) {
|
||||
log.info("获取上游订单");
|
||||
//上游
|
||||
upRelation = contractService.getUpRelation(Long.valueOf(contractNumber));
|
||||
upRelation = contractService.getUpRelation(bySystemContractNumber.getId());
|
||||
} else {
|
||||
//下游
|
||||
log.info("获取下游订单");
|
||||
upRelation = contractService.getDownRelation(Long.valueOf(contractNumber));
|
||||
upRelation = contractService.getDownRelation(bySystemContractNumber.getId());
|
||||
}
|
||||
List<DownOrUpOrderRespVO> orderList = new ArrayList<>();
|
||||
if (upRelation != null) {
|
||||
@@ -442,4 +437,27 @@ public class SalesOrderServiceImpl implements SalesOrderService {
|
||||
}
|
||||
return orderList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateOrderStatusByIdOrOrderNo(OrderStsReqVO reqVO) {
|
||||
// 校验存在
|
||||
if (reqVO.getIds() != null) {
|
||||
validateSalesOrderExists(reqVO.getIds());
|
||||
}
|
||||
if (reqVO.getOrderNos() != null) {
|
||||
validateSalesOrderNosExists(reqVO.getOrderNos());
|
||||
}
|
||||
OrderStatusEnum byCode = OrderStatusEnum.getByCode(reqVO.getSts());
|
||||
if (byCode == null) {
|
||||
throw exception(PURCHASE_ORDER_STATUS_ERROR);
|
||||
}
|
||||
salesOrderMapper.update(new LambdaUpdateWrapper<SalesOrderDO>().in(reqVO.getOrderNos() != null, SalesOrderDO::getSystemOrderNumber, reqVO.getOrderNos()).in(reqVO.getIds() != null, SalesOrderDO::getId, reqVO.getIds()).set(SalesOrderDO::getStatus, reqVO.getSts()));
|
||||
}
|
||||
|
||||
private void validateSalesOrderNosExists(List<String> orderNos) {
|
||||
List<SalesOrderDO> list = salesOrderMapper.selectList(new LambdaQueryWrapper<SalesOrderDO>().in(SalesOrderDO::getSystemOrderNumber, orderNos));
|
||||
if (CollUtil.isEmpty(list) || list.size() != orderNos.size()) {
|
||||
throw exception(PURCHASE_ORDER_NOT_EXISTS);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user