订单管理相关

This commit is contained in:
潘荣晟
2025-10-20 16:19:53 +08:00
parent d365732a0e
commit bcdab44cda
15 changed files with 121 additions and 5 deletions

View File

@@ -124,6 +124,14 @@ public class PurchaseOrderController implements BusinessControllerMarker {
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订单
@PostMapping("/submit-erp061")
@Operation(summary = "推送ERP订单", description = "061')")
@@ -163,4 +171,11 @@ public class PurchaseOrderController implements BusinessControllerMarker {
return purchaseOrderService.getMaterial(orderNo);
}
//关联订单
@PostMapping("/link-order")
@Operation(summary = "关联订单")
public CommonResult<Boolean> linkOrder(@RequestBody @Validated LinkOrderReqVO req){
return success(purchaseOrderService.linkOrder(req));
}
}

View File

@@ -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;
}

View File

@@ -62,7 +62,7 @@ public class PrchOrdDtlDetailsRespVO {
* 计量单位;推送ERP必须
*/
private BigDecimal unt;
private String unt;
/**
* 含税单价;推送ERP必须
*/

View File

@@ -130,4 +130,8 @@ public class PurchaseOrderPageReqVO extends PageParam {
@Schema(description = "物料类型(字典:MTRL_TP)", example = "2")
private String mtrlTp;
@Schema(description = "订单分类")
private String splyBsnTp;
}

View File

@@ -171,4 +171,8 @@ public class PurchaseOrderRespVO {
@Schema(description = "物料类型(字典:MTRL_TP)", example = "2")
@ExcelProperty("物料类型(字典:MTRL_TP)")
private String mtrlTp;
@Schema(description = "订单分类", example = "2")
@ExcelProperty("订单分类")
private String splyBsnTp;
}

View File

@@ -158,7 +158,6 @@ public class PurchaseOrderSaveReqVO {
@Schema(description = "流程实例编号")
@ExcelProperty("流程实例编号")
@NotEmpty(message = "流程实例编号不能为空")
private String processInstanceId;
@Schema(description = "流程当前任务节点id")
@@ -175,4 +174,8 @@ public class PurchaseOrderSaveReqVO {
@Schema(description = "物料类别(字典:MTRL_TP)", example = "1")
@ExcelProperty("物料类别")
private String mtrlTp;
@Schema(description = "订单分类", example = "2")
@ExcelProperty("订单分类")
private String splyBsnTp;
}

View File

@@ -250,4 +250,11 @@ public class PurchaseOrderDO extends BusinessBaseDO {
*/
@TableField("MTRL_TP")
private String mtrlTp;
/**
* 订单分类
*
*/
@TableField("SPLY_BSN_TP")
private String splyBsnTp;
}

View File

@@ -56,6 +56,7 @@ public interface PurchaseOrderMapper extends BaseMapperX<PurchaseOrderDO> {
.likeIfPresent(PurchaseOrderDO::getErpSalesCompanyName, reqVO.getErpSalesCompanyName())
.likeIfPresent(PurchaseOrderDO::getPurchaseOrganizationName, reqVO.getPurchaseOrganizationName())
.eqIfPresent(PurchaseOrderDO::getErpStatus, reqVO.getErpStatus())
.eqIfPresent(PurchaseOrderDO::getSplyBsnTp, reqVO.getSplyBsnTp())
.eqIfPresent(PurchaseOrderDO::getCause, reqVO.getCause())
.eqIfPresent(PurchaseOrderDO::getStatus, reqVO.getStatus())
.likeIfPresent(PurchaseOrderDO::getPurchaseGroupName, reqVO.getPurchaseGroupName())

View File

@@ -4,6 +4,7 @@ import cn.hutool.json.JSONObject;
import com.zt.plat.framework.common.pojo.PageResult;
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.purchaseorder.vo.LinkOrderReqVO;
import com.zt.plat.module.contractorder.dal.dataobject.contract.ContractMainDO;
import jakarta.validation.Valid;
import org.springframework.core.io.ByteArrayResource;
@@ -193,4 +194,13 @@ public interface ContractService {
* @return 完结结果
*/
Boolean complete(List<Long> ids);
/**
* 关联订单;该接口仅供订单关联使用
*
* @param LinkOrderReqVO 订单信息
* @return 结果
*/
Boolean linkOrder(@Valid LinkOrderReqVO LinkOrderReqVO);
}

View File

@@ -2,6 +2,7 @@ package com.zt.plat.module.contractorder.service.contract;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.zt.plat.framework.common.pojo.CommonResult;
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.contractorder.api.dto.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.mysql.contract.*;
import com.zt.plat.module.contractorder.enums.*;
@@ -1512,6 +1514,20 @@ public class ContractServiceImpl implements ContractService {
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) {
ErpContractSaveReqVO erpContractVO = new ErpContractSaveReqVO();

Some files were not shown because too many files have changed in this diff Show More