订单管理相关

This commit is contained in:
潘荣晟
2025-10-22 17:29:29 +08:00
parent c5467b2c71
commit 4d85ea4ebd
38 changed files with 2667 additions and 61 deletions

View File

@@ -39,4 +39,19 @@ public class OnlyOfficeCallbackController {
response.put("error", 0);
return new ResponseEntity<>(response, HttpStatus.OK);
}
/**
* 处理OnlyOffice文档编辑服务发送的回调
*/
@PostMapping("/contract /callback/{id}")
@PermitAll
@TenantIgnore
public ResponseEntity<Map<String, Integer>> handleContractCallback(@RequestBody OnlyOfficeCallback callback, @PathVariable String id,@RequestParam("fileName") String fileName) {
// 处理回调逻辑
callbackService.processContractCallback(callback,id,fileName);
// 返回必须的响应否则OnlyOffice会显示错误
Map<String, Integer> response = new HashMap<>();
response.put("error", 0);
return new ResponseEntity<>(response, HttpStatus.OK);
}
}

View File

@@ -9,4 +9,11 @@ public interface OnlyOfficeCallbackService {
* @param callback 回调数据
*/
void processCallback(OnlyOfficeCallback callback,String id,String fileName);
/**
* 处理OnlyOffice回调
* @param callback 回调数据
*/
void processContractCallback(OnlyOfficeCallback callback,String id,String fileName);
}

View File

@@ -68,4 +68,11 @@ public interface TmplInscBsnRelService {
* @param tmplInscBsnRelRespVO 类
*/
void getTmplInscBsnRelDetails(TmplInscBsnRelRespVO tmplInscBsnRelRespVO);
/**
* 跟新cntt
*
* @param bsnId ,params
*/
void updateCntt(Long bsnId,String params);
}

View File

@@ -145,6 +145,20 @@ public class TmplInscBsnRelServiceImpl implements TmplInscBsnRelService {
}
}
@Override
public void updateCntt(Long bsnId, String params) {
List<TmplInscBsnRelDO> tmplInscBsnRelDOS = tmplInscBsnRelMapper.selectList(new LambdaQueryWrapper<TmplInscBsnRelDO>()
.eq(TmplInscBsnRelDO::getBsnId, bsnId).orderByDesc(TmplInscBsnRelDO::getVer)
);
if (tmplInscBsnRelDOS.isEmpty()) {
throw exception(TEMPLATE_INSTANCE_FILE_NOT_EXISTS);
}
TmplInscBsnRelDO tmplInscBsnRelDO = tmplInscBsnRelDOS.get(0);
tmplInscBsnRelDO.setCntt( params);
tmplInscBsnRelMapper.updateById(tmplInscBsnRelDO);
log.info("更新业务实例cntt字段值成功");
}
//业务条款
private List<TmplInscItmBsnRespVO> setTmplInscItmBsnRespVOS(TmplInscBsnRelRespVO tmplInscBsnRelRespVO) {
List<TmplInscItmBsnRespVO> tmplInscItmBsnRespVOS = BeanUtils.toBean(SpringUtil.getBean(TmplInscItmBsnMapper.class).selectList(new LambdaQueryWrapper<TmplInscItmBsnDO>()
@@ -273,4 +287,6 @@ public class TmplInscBsnRelServiceImpl implements TmplInscBsnRelService {
log.info("删除业务实例条款值【{}】", ids);
}
}
}

View File

@@ -0,0 +1,17 @@
package com.zt.plat.module.contractorder.enums.salesorder;
import com.zt.plat.framework.common.exception.ErrorCode;
/**
* contract-order 错误码枚举类
*
* contract-order 系统,使用 1-xxx-xxx-xxx 段
*
* @author ZT
*/
public interface ErrorCodeConstants {
// ========== 合同模块 1-027-000-000 ==========
ErrorCode SALES_ORDER_DETAIL_NOT_EXISTS = new ErrorCode(1_008_00_600, "消费订单不存在");
}

View File

@@ -3,6 +3,7 @@ package com.zt.plat.module.contractorder.controller.admin.purchaseorder;
import com.zt.plat.module.contractorder.api.ContractApiImpl;
import com.zt.plat.module.contractorder.api.dto.PurchaseOrderWithDetailsDTO;
import com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo.*;
import com.zt.plat.module.contractorder.controller.admin.salesorder.vo.SalesOrderSaveReqVO;
import com.zt.plat.module.contractorder.dal.dataobject.purchaseorder.PurchaseOrderDO;
import com.zt.plat.module.contractorder.service.purchaseorder.PurchaseOrderService;
import io.swagger.v3.oas.annotations.media.Schema;
@@ -19,6 +20,7 @@ import io.swagger.v3.oas.annotations.Operation;
import jakarta.validation.constraints.*;
import jakarta.validation.*;
import jakarta.servlet.http.*;
import java.util.*;
import java.io.IOException;
@@ -27,11 +29,13 @@ import com.zt.plat.framework.common.pojo.PageParam;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils;
import static com.zt.plat.framework.common.pojo.CommonResult.success;
import com.zt.plat.framework.excel.core.util.ExcelUtils;
import com.zt.plat.framework.apilog.core.annotation.ApiAccessLog;
import static com.zt.plat.framework.apilog.core.enums.OperateTypeEnum.*;
@@ -83,10 +87,10 @@ public class PurchaseOrderController implements BusinessControllerMarker {
@GetMapping("/get")
@Operation(summary = "获得采购订单")
@Parameter(name = "id", description = "编号", required = true, example = "1024")
@Parameter(name = "id", description = "id是订单主键splyBsnTp是订单类型采购或者是消费", required = true, example = "1024")
@PreAuthorize("@ss.hasPermission('bse:purchase-order:query')")
public CommonResult<PurchaseOrderRespVO> getPurchaseOrder(@RequestParam("id") Long id) {
PurchaseOrderDO purchaseOrder = purchaseOrderService.getPurchaseOrder(id);
public CommonResult<PurchaseOrderRespVO> getPurchaseOrder(@RequestParam("id") Long id, @RequestParam(value = "splyBsnTp", required = false) String splyBsnTp) {
PurchaseOrderDO purchaseOrder = purchaseOrderService.getPurchaseOrder(id, splyBsnTp);
PurchaseOrderRespVO purchaseOrderRespVO = BeanUtils.toBean(purchaseOrder, PurchaseOrderRespVO.class);
if (purchaseOrderRespVO == null) {
return success(null);
@@ -143,6 +147,7 @@ public class PurchaseOrderController implements BusinessControllerMarker {
public CommonResult<?> submitErp061(@RequestBody @Validated @NotEmpty(message = "采购订单id不能为空") List<Long> ids) {
return success(purchaseOrderService.submitErp061(ids));
}
@PostMapping("/submit-erp062")
@Operation(summary = "推送ERP订单", description = "062当每次调更新接口后都需要调此接口")
@PreAuthorize("@ss.hasPermission('bse:purchase-order:update')")
@@ -156,6 +161,7 @@ public class PurchaseOrderController implements BusinessControllerMarker {
public CommonResult<List<PurchaseOrderDetailsRespVO>> getOrderByOrderNo(@RequestBody @Validated @NotEmpty(message = "采购订单不能为空") List<String> orderNos) {
return success(purchaseOrderService.getOrderByOrderNo(orderNos));
}
//根据订单id修改订单状态
@PutMapping("/update-order-status")
@Operation(summary = "批量修改订单状态", description = "sts取值于字典名称'采购订单状态',字典类型'PRCH_ORD_STS' 可以根据订单号和订单id修改")
@@ -188,6 +194,14 @@ public class PurchaseOrderController implements BusinessControllerMarker {
return success(purchaseOrderService.orderPassReject(reqVO));
}
//根据订单id和方式获取上或下游订单
@PostMapping("/order-by-order-id-and-type")
@Operation(summary = "根据订单id和方式获取上或下游订单")
public CommonResult<Map<String, Object>> getOrderByOrderIdAndType(@RequestBody DownOrUpOrderReqVO reqVO) {
Map<String, Object> map = new HashMap<>();
map.put("unBindOrder", purchaseOrderService.getOrderByOrderIdAndType(reqVO));
map.put("bindOrder", purchaseOrderService.getBindOrderByOrder(reqVO));
return success(map);
}
}

View File

@@ -0,0 +1,19 @@
package com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data;
import org.springframework.validation.annotation.Validated;
@Data
@Schema(description = "上下级订单 请求 VO")
@Validated
public class DownOrUpOrderReqVO {
@Schema(description = "订单id")
private Long orderId;
@Schema(description = "订单类型")
@NotEmpty(message = "订单类型不能为空(上游 up ,下游 down)")
private String orderType;
@Schema(description = "订单号")
private String orderNo;
}

View File

@@ -0,0 +1,41 @@
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 DownOrUpOrderRespVO {
/**
* 订单编号
*/
@Schema(description = "订单编号")
private String orderNo;
/**
* 订单ID
*/
@Schema(description = "订单ID")
private String orderId;
/**
* 订单类型
*/
@Schema(description = "订单类型")
private String orderType;
/**
* 合同名称
*/
@Schema(description = "合同名称")
private String contractName;
/**
* 合同id
*/
@Schema(description = "合同id")
private String contractId;
/**
* 合同号
*/
@Schema(description = "合同号")
private String contractNumber;
}

View File

@@ -156,4 +156,6 @@ public class PrchOrdDtlPageReqVO extends PageParam {
@Schema(description = "金属元素编码")
private String elemCdg;
@Schema(description = "订单类型")
private String splyBsnTp;
}

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