订单管理相关
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
package com.zt.plat.module.contractorder.api.dto;
|
package com.zt.plat.module.contractorder.api.dto;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
@@ -185,6 +186,9 @@ public class PurchaseOrderWithDetailsDTO {
|
|||||||
* 物料类型
|
* 物料类型
|
||||||
*/
|
*/
|
||||||
private String mtrlTp;
|
private String mtrlTp;
|
||||||
|
/**
|
||||||
|
* 订单类型
|
||||||
|
*/
|
||||||
|
private String splyBsnTp;
|
||||||
private List<PrchOrdDtlDTO> orderDetails;
|
private List<PrchOrdDtlDTO> orderDetails;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,4 +26,5 @@ public interface ErrorCodeConstants {
|
|||||||
ErrorCode CONTRACT_ERP_RCV_DLVY_NOT_EXISTS = new ErrorCode(1_027_000_011, "不存在的收支类型或收支类型为空");
|
ErrorCode CONTRACT_ERP_RCV_DLVY_NOT_EXISTS = new ErrorCode(1_027_000_011, "不存在的收支类型或收支类型为空");
|
||||||
ErrorCode CONTRACT_STATUS_NOT_ARCHIVE = new ErrorCode(1_027_000_012, "{}状态合同不允许归档");
|
ErrorCode CONTRACT_STATUS_NOT_ARCHIVE = new ErrorCode(1_027_000_012, "{}状态合同不允许归档");
|
||||||
ErrorCode CONTRACT_STATUS_NOT_SUBMIT_ERP = new ErrorCode(1_027_000_013, "{}状态合同不允许提交ERP");
|
ErrorCode CONTRACT_STATUS_NOT_SUBMIT_ERP = new ErrorCode(1_027_000_013, "{}状态合同不允许提交ERP");
|
||||||
|
ErrorCode CONTRACT_ORDER_EXISTS = new ErrorCode(1_027_000_014, "关联订单已存在");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -124,6 +124,14 @@ public class PurchaseOrderController implements BusinessControllerMarker {
|
|||||||
return success(true);
|
return success(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@PostMapping("/submit-order-batch")
|
||||||
|
@Operation(summary = "批量提交订单审核")
|
||||||
|
@PreAuthorize("@ss.hasPermission('bse:purchase-order:update')")
|
||||||
|
public CommonResult<Boolean> submitOrder(@RequestParam("ids") @Validated @NotEmpty(message = "采购订单id不能为空") List<Long> ids) {
|
||||||
|
ids.forEach(id -> purchaseOrderService.submitOrder(id));
|
||||||
|
return success(true);
|
||||||
|
}
|
||||||
|
|
||||||
//提交ERP订单
|
//提交ERP订单
|
||||||
@PostMapping("/submit-erp061")
|
@PostMapping("/submit-erp061")
|
||||||
@Operation(summary = "推送ERP订单", description = "061')")
|
@Operation(summary = "推送ERP订单", description = "061')")
|
||||||
@@ -163,4 +171,11 @@ public class PurchaseOrderController implements BusinessControllerMarker {
|
|||||||
return purchaseOrderService.getMaterial(orderNo);
|
return purchaseOrderService.getMaterial(orderNo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//关联订单
|
||||||
|
@PostMapping("/link-order")
|
||||||
|
@Operation(summary = "关联订单")
|
||||||
|
public CommonResult<Boolean> linkOrder(@RequestBody @Validated LinkOrderReqVO req){
|
||||||
|
return success(purchaseOrderService.linkOrder(req));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo;
|
||||||
|
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
@Schema(description = "关联订单请求参数 VO")
|
||||||
|
public class LinkOrderReqVO {
|
||||||
|
@Schema(description = "上游订单号")
|
||||||
|
private Long upOrderId;
|
||||||
|
@Schema(description = "下游订单号")
|
||||||
|
private Long downOrderId;
|
||||||
|
@Schema(description = "关联订单类型")
|
||||||
|
private String linkOrderType;
|
||||||
|
}
|
||||||
@@ -62,7 +62,7 @@ public class PrchOrdDtlDetailsRespVO {
|
|||||||
* 计量单位;推送ERP(必须)
|
* 计量单位;推送ERP(必须)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
private BigDecimal unt;
|
private String unt;
|
||||||
/**
|
/**
|
||||||
* 含税单价;推送ERP(必须)
|
* 含税单价;推送ERP(必须)
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -130,4 +130,8 @@ public class PurchaseOrderPageReqVO extends PageParam {
|
|||||||
@Schema(description = "物料类型(字典:MTRL_TP)", example = "2")
|
@Schema(description = "物料类型(字典:MTRL_TP)", example = "2")
|
||||||
private String mtrlTp;
|
private String mtrlTp;
|
||||||
|
|
||||||
|
@Schema(description = "订单分类")
|
||||||
|
private String splyBsnTp;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -171,4 +171,8 @@ public class PurchaseOrderRespVO {
|
|||||||
@Schema(description = "物料类型(字典:MTRL_TP)", example = "2")
|
@Schema(description = "物料类型(字典:MTRL_TP)", example = "2")
|
||||||
@ExcelProperty("物料类型(字典:MTRL_TP)")
|
@ExcelProperty("物料类型(字典:MTRL_TP)")
|
||||||
private String mtrlTp;
|
private String mtrlTp;
|
||||||
|
|
||||||
|
@Schema(description = "订单分类", example = "2")
|
||||||
|
@ExcelProperty("订单分类")
|
||||||
|
private String splyBsnTp;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -158,7 +158,6 @@ public class PurchaseOrderSaveReqVO {
|
|||||||
|
|
||||||
@Schema(description = "流程实例编号")
|
@Schema(description = "流程实例编号")
|
||||||
@ExcelProperty("流程实例编号")
|
@ExcelProperty("流程实例编号")
|
||||||
@NotEmpty(message = "流程实例编号不能为空")
|
|
||||||
private String processInstanceId;
|
private String processInstanceId;
|
||||||
|
|
||||||
@Schema(description = "流程当前任务节点id")
|
@Schema(description = "流程当前任务节点id")
|
||||||
@@ -175,4 +174,8 @@ public class PurchaseOrderSaveReqVO {
|
|||||||
@Schema(description = "物料类别(字典:MTRL_TP)", example = "1")
|
@Schema(description = "物料类别(字典:MTRL_TP)", example = "1")
|
||||||
@ExcelProperty("物料类别")
|
@ExcelProperty("物料类别")
|
||||||
private String mtrlTp;
|
private String mtrlTp;
|
||||||
|
|
||||||
|
@Schema(description = "订单分类", example = "2")
|
||||||
|
@ExcelProperty("订单分类")
|
||||||
|
private String splyBsnTp;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -250,4 +250,11 @@ public class PurchaseOrderDO extends BusinessBaseDO {
|
|||||||
*/
|
*/
|
||||||
@TableField("MTRL_TP")
|
@TableField("MTRL_TP")
|
||||||
private String mtrlTp;
|
private String mtrlTp;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 订单分类
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@TableField("SPLY_BSN_TP")
|
||||||
|
private String splyBsnTp;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ public interface PurchaseOrderMapper extends BaseMapperX<PurchaseOrderDO> {
|
|||||||
.likeIfPresent(PurchaseOrderDO::getErpSalesCompanyName, reqVO.getErpSalesCompanyName())
|
.likeIfPresent(PurchaseOrderDO::getErpSalesCompanyName, reqVO.getErpSalesCompanyName())
|
||||||
.likeIfPresent(PurchaseOrderDO::getPurchaseOrganizationName, reqVO.getPurchaseOrganizationName())
|
.likeIfPresent(PurchaseOrderDO::getPurchaseOrganizationName, reqVO.getPurchaseOrganizationName())
|
||||||
.eqIfPresent(PurchaseOrderDO::getErpStatus, reqVO.getErpStatus())
|
.eqIfPresent(PurchaseOrderDO::getErpStatus, reqVO.getErpStatus())
|
||||||
|
.eqIfPresent(PurchaseOrderDO::getSplyBsnTp, reqVO.getSplyBsnTp())
|
||||||
.eqIfPresent(PurchaseOrderDO::getCause, reqVO.getCause())
|
.eqIfPresent(PurchaseOrderDO::getCause, reqVO.getCause())
|
||||||
.eqIfPresent(PurchaseOrderDO::getStatus, reqVO.getStatus())
|
.eqIfPresent(PurchaseOrderDO::getStatus, reqVO.getStatus())
|
||||||
.likeIfPresent(PurchaseOrderDO::getPurchaseGroupName, reqVO.getPurchaseGroupName())
|
.likeIfPresent(PurchaseOrderDO::getPurchaseGroupName, reqVO.getPurchaseGroupName())
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import cn.hutool.json.JSONObject;
|
|||||||
import com.zt.plat.framework.common.pojo.PageResult;
|
import com.zt.plat.framework.common.pojo.PageResult;
|
||||||
import com.zt.plat.module.contractorder.api.dto.contract.ContractRespDTO;
|
import com.zt.plat.module.contractorder.api.dto.contract.ContractRespDTO;
|
||||||
import com.zt.plat.module.contractorder.controller.admin.contract.vo.contract.*;
|
import com.zt.plat.module.contractorder.controller.admin.contract.vo.contract.*;
|
||||||
|
import com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo.LinkOrderReqVO;
|
||||||
import com.zt.plat.module.contractorder.dal.dataobject.contract.ContractMainDO;
|
import com.zt.plat.module.contractorder.dal.dataobject.contract.ContractMainDO;
|
||||||
import jakarta.validation.Valid;
|
import jakarta.validation.Valid;
|
||||||
import org.springframework.core.io.ByteArrayResource;
|
import org.springframework.core.io.ByteArrayResource;
|
||||||
@@ -193,4 +194,13 @@ public interface ContractService {
|
|||||||
* @return 完结结果
|
* @return 完结结果
|
||||||
*/
|
*/
|
||||||
Boolean complete(List<Long> ids);
|
Boolean complete(List<Long> ids);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 关联订单;该接口仅供订单关联使用
|
||||||
|
*
|
||||||
|
* @param LinkOrderReqVO 订单信息
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
Boolean linkOrder(@Valid LinkOrderReqVO LinkOrderReqVO);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.zt.plat.module.contractorder.service.contract;
|
|||||||
|
|
||||||
import cn.hutool.json.JSONArray;
|
import cn.hutool.json.JSONArray;
|
||||||
import cn.hutool.json.JSONObject;
|
import cn.hutool.json.JSONObject;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.zt.plat.framework.common.pojo.CommonResult;
|
import com.zt.plat.framework.common.pojo.CommonResult;
|
||||||
import com.zt.plat.framework.common.pojo.PageResult;
|
import com.zt.plat.framework.common.pojo.PageResult;
|
||||||
@@ -24,6 +25,7 @@ import com.zt.plat.module.bpm.api.task.dto.*;
|
|||||||
import com.zt.plat.module.bpm.enums.task.BpmProcessInstanceStatusEnum;
|
import com.zt.plat.module.bpm.enums.task.BpmProcessInstanceStatusEnum;
|
||||||
import com.zt.plat.module.contractorder.api.dto.contract.*;
|
import com.zt.plat.module.contractorder.api.dto.contract.*;
|
||||||
import com.zt.plat.module.contractorder.controller.admin.contract.vo.contract.*;
|
import com.zt.plat.module.contractorder.controller.admin.contract.vo.contract.*;
|
||||||
|
import com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo.LinkOrderReqVO;
|
||||||
import com.zt.plat.module.contractorder.dal.dataobject.contract.*;
|
import com.zt.plat.module.contractorder.dal.dataobject.contract.*;
|
||||||
import com.zt.plat.module.contractorder.dal.mysql.contract.*;
|
import com.zt.plat.module.contractorder.dal.mysql.contract.*;
|
||||||
import com.zt.plat.module.contractorder.enums.*;
|
import com.zt.plat.module.contractorder.enums.*;
|
||||||
@@ -1512,6 +1514,20 @@ public class ContractServiceImpl implements ContractService {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Boolean linkOrder(LinkOrderReqVO LinkOrderReqVO) {
|
||||||
|
|
||||||
|
SystemRelativityDO saveDO = new SystemRelativityDO();
|
||||||
|
saveDO.setStatus(DictEnum.BSE_SYS_REL_TP_ORDER.getCode());
|
||||||
|
saveDO.setUpId(LinkOrderReqVO.getUpOrderId());
|
||||||
|
saveDO.setDownId(LinkOrderReqVO.getDownOrderId());
|
||||||
|
//判断订单有没有关联过
|
||||||
|
if (systemRelativityMapper.selectCount(new LambdaQueryWrapper<SystemRelativityDO>().eq(SystemRelativityDO::getUpId, saveDO.getUpId()).eq(SystemRelativityDO::getDownId, saveDO.getDownId()))>0){
|
||||||
|
throw exception(CONTRACT_ORDER_EXISTS);
|
||||||
|
}
|
||||||
|
return systemRelativityMapper.insert(saveDO)>0;
|
||||||
|
}
|
||||||
|
|
||||||
private ErpContractSaveReqVO getErpContract(ContractMainDO contractMainDO) {
|
private ErpContractSaveReqVO getErpContract(ContractMainDO contractMainDO) {
|
||||||
|
|
||||||
ErpContractSaveReqVO erpContractVO = new ErpContractSaveReqVO();
|
ErpContractSaveReqVO erpContractVO = new ErpContractSaveReqVO();
|
||||||
|
|||||||
@@ -82,9 +82,32 @@ public interface PurchaseOrderService {
|
|||||||
* @return 订单信息
|
* @return 订单信息
|
||||||
*/
|
*/
|
||||||
List<PurchaseOrderDetailsRespVO> getOrderByOrderNo(List<String> orderNo);
|
List<PurchaseOrderDetailsRespVO> getOrderByOrderNo(List<String> orderNo);
|
||||||
|
/**
|
||||||
|
* 通过订单编号查询订单信息
|
||||||
|
*
|
||||||
|
* @param purchaseOrderRespVO 订单信息
|
||||||
|
*
|
||||||
|
*/
|
||||||
void setOrderDetails(PurchaseOrderRespVO purchaseOrderRespVO);
|
void setOrderDetails(PurchaseOrderRespVO purchaseOrderRespVO);
|
||||||
|
/**
|
||||||
|
* 修改订单状态
|
||||||
|
*
|
||||||
|
* @param reqVO 订单状态
|
||||||
|
*
|
||||||
|
*/
|
||||||
void updateOrderStatusByIdOrOrderNo(PurchaseOrderStsReqVO reqVO);
|
void updateOrderStatusByIdOrOrderNo(PurchaseOrderStsReqVO reqVO);
|
||||||
|
/**
|
||||||
|
* 获取物料
|
||||||
|
*
|
||||||
|
* @param orderNo 订单号
|
||||||
|
*
|
||||||
|
*/
|
||||||
CommonResult<MaterialRespVO> getMaterial(String orderNo);
|
CommonResult<MaterialRespVO> getMaterial(String orderNo);
|
||||||
|
/**
|
||||||
|
* 关联订单
|
||||||
|
*
|
||||||
|
* @param reqVO 关联订单
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
boolean linkOrder(LinkOrderReqVO reqVO);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import com.zt.plat.module.contractorder.dal.dataobject.purchaseorder.PurchaseOrd
|
|||||||
import com.zt.plat.module.contractorder.dal.mysql.purchaseorder.PrchOrdDtlMapper;
|
import com.zt.plat.module.contractorder.dal.mysql.purchaseorder.PrchOrdDtlMapper;
|
||||||
import com.zt.plat.module.contractorder.dal.mysql.purchaseorder.PurchaseOrderMapper;
|
import com.zt.plat.module.contractorder.dal.mysql.purchaseorder.PurchaseOrderMapper;
|
||||||
import com.zt.plat.module.contractorder.enums.purchaseorder.PurchaseOrderStatusEnum;
|
import com.zt.plat.module.contractorder.enums.purchaseorder.PurchaseOrderStatusEnum;
|
||||||
|
import com.zt.plat.module.contractorder.service.contract.ContractService;
|
||||||
import com.zt.plat.module.contractorder.util.constants.ProcessDefinitionKeyConstants;
|
import com.zt.plat.module.contractorder.util.constants.ProcessDefinitionKeyConstants;
|
||||||
import com.zt.plat.module.erp.controller.admin.erp.vo.ErpOrderSaveReqVO;
|
import com.zt.plat.module.erp.controller.admin.erp.vo.ErpOrderSaveReqVO;
|
||||||
import com.zt.plat.module.erp.controller.admin.erp.vo.ErpOrderUpdateReqVO;
|
import com.zt.plat.module.erp.controller.admin.erp.vo.ErpOrderUpdateReqVO;
|
||||||
@@ -77,6 +78,8 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
|||||||
@Resource
|
@Resource
|
||||||
private SequenceApi sequenceApi;
|
private SequenceApi sequenceApi;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private ContractService contractService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PurchaseOrderRespVO createPurchaseOrder(PurchaseOrderSaveReqVO createReqVO) {
|
public PurchaseOrderRespVO createPurchaseOrder(PurchaseOrderSaveReqVO createReqVO) {
|
||||||
@@ -381,6 +384,11 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean linkOrder(LinkOrderReqVO reqVO) {
|
||||||
|
return contractService.linkOrder(reqVO);
|
||||||
|
}
|
||||||
|
|
||||||
private void setValue(ErpOrderUpdateReqVO erpOrderUpdateReqVO, PurchaseOrderWithDetailsVO purchaseOrderWithDetailsVO) {
|
private void setValue(ErpOrderUpdateReqVO erpOrderUpdateReqVO, PurchaseOrderWithDetailsVO purchaseOrderWithDetailsVO) {
|
||||||
//head
|
//head
|
||||||
PurchaseOrderDO purchaseOrderDO = purchaseOrderMapper.selectById(purchaseOrderWithDetailsVO.getPurchaseOrder().getId());
|
PurchaseOrderDO purchaseOrderDO = purchaseOrderMapper.selectById(purchaseOrderWithDetailsVO.getPurchaseOrder().getId());
|
||||||
|
|||||||
@@ -47,6 +47,7 @@
|
|||||||
po.CAUS,
|
po.CAUS,
|
||||||
po.STS,
|
po.STS,
|
||||||
po.MTRL_TP,
|
po.MTRL_TP,
|
||||||
|
po.SPLY_BSN_TP,
|
||||||
po.PRCH_GRP_NAME,
|
po.PRCH_GRP_NAME,
|
||||||
po.PRCS_INSC_ID,
|
po.PRCS_INSC_ID,
|
||||||
po.RVW_ONN,
|
po.RVW_ONN,
|
||||||
@@ -159,6 +160,7 @@
|
|||||||
po.RVW_ONN,
|
po.RVW_ONN,
|
||||||
po.TSK_NDE_ID,
|
po.TSK_NDE_ID,
|
||||||
po.IS_PUSH,
|
po.IS_PUSH,
|
||||||
|
po.SPLY_BSN_TP,
|
||||||
po.CREATE_TIME,
|
po.CREATE_TIME,
|
||||||
po.UPDATE_TIME,
|
po.UPDATE_TIME,
|
||||||
po.CREATOR,
|
po.CREATOR,
|
||||||
@@ -274,6 +276,9 @@
|
|||||||
<result column="RVW_ONN" property="reviewOpinion"/>
|
<result column="RVW_ONN" property="reviewOpinion"/>
|
||||||
<result column="TSK_NDE_ID" property="taskId"/>
|
<result column="TSK_NDE_ID" property="taskId"/>
|
||||||
<result column="IS_PUSH" property="isPush"/>
|
<result column="IS_PUSH" property="isPush"/>
|
||||||
|
<result column="UNT" property="unt"/>
|
||||||
|
<result column="MTRL_TP" property="mtrlTp"/>
|
||||||
|
<result column="SPLY_BSN_TP" property="splyBsnTp"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<resultMap id="PrchOrdDtlResultMap" type="com.zt.plat.module.contractorder.dal.dataobject.purchaseorder.PrchOrdDtlDO">
|
<resultMap id="PrchOrdDtlResultMap" type="com.zt.plat.module.contractorder.dal.dataobject.purchaseorder.PrchOrdDtlDO">
|
||||||
|
|||||||
Reference in New Issue
Block a user