Merge remote-tracking branch 'origin/dev' into test

This commit is contained in:
qianshijiang
2025-10-31 14:54:42 +08:00
8 changed files with 47 additions and 10 deletions

View File

@@ -30,4 +30,5 @@ public interface ErrorCodeConstants {
ErrorCode CONTRACT_SUBMIT_ERP_FAIL = new ErrorCode(1_027_000_015, "合同提交erp失败{}"); ErrorCode CONTRACT_SUBMIT_ERP_FAIL = new ErrorCode(1_027_000_015, "合同提交erp失败{}");
ErrorCode CONTRACT_UNKNOWN_OPERATE = new ErrorCode(1_027_000_016, "未知的操作"); ErrorCode CONTRACT_UNKNOWN_OPERATE = new ErrorCode(1_027_000_016, "未知的操作");
ErrorCode CONTRACT_PARTNER_NOT_EXISTS = new ErrorCode(1_027_000_017, "客商信息不存在"); ErrorCode CONTRACT_PARTNER_NOT_EXISTS = new ErrorCode(1_027_000_017, "客商信息不存在");
ErrorCode CONTRACT_PUSH_FAIL = new ErrorCode(1_027_000_019, "推送合同失败:{}");
} }

View File

@@ -5,7 +5,10 @@ import com.zt.plat.framework.business.interceptor.BusinessControllerMarker;
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;
import com.zt.plat.framework.common.util.object.BeanUtils; import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.module.contractorder.api.ContractApi;
import com.zt.plat.module.contractorder.api.vo.contract.*; import com.zt.plat.module.contractorder.api.vo.contract.*;
import com.zt.plat.module.contractorder.api.vo.contract.international.IntContract;
import com.zt.plat.module.contractorder.api.vo.contract.international.IntContractPageReq;
import com.zt.plat.module.contractorder.dal.dataobject.contract.ContractMainDO; import com.zt.plat.module.contractorder.dal.dataobject.contract.ContractMainDO;
import com.zt.plat.module.contractorder.service.contract.ContractService; import com.zt.plat.module.contractorder.service.contract.ContractService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
@@ -23,6 +26,7 @@ import java.util.List;
import static com.zt.plat.framework.common.pojo.CommonResult.error; import static com.zt.plat.framework.common.pojo.CommonResult.error;
import static com.zt.plat.framework.common.pojo.CommonResult.success; import static com.zt.plat.framework.common.pojo.CommonResult.success;
import static com.zt.plat.module.contractorder.enums.ErrorCodeConstants.CONTRACT_PUSH_FAIL;
import static com.zt.plat.module.contractorder.enums.ErrorCodeConstants.CONTRACT_SUBMIT_ERP_FAIL; import static com.zt.plat.module.contractorder.enums.ErrorCodeConstants.CONTRACT_SUBMIT_ERP_FAIL;
@Slf4j @Slf4j
@@ -34,6 +38,8 @@ public class ContractController implements BusinessControllerMarker {
@Resource @Resource
private ContractService contractService; private ContractService contractService;
@Resource
private ContractApi contractApi;
@GetMapping("/page") @GetMapping("/page")
@Operation(summary = "获得合同分页列表") @Operation(summary = "获得合同分页列表")
@@ -186,4 +192,22 @@ public class ContractController implements BusinessControllerMarker {
public CommonResult<Boolean> relation(@RequestBody RelationReqVo reqVo) { public CommonResult<Boolean> relation(@RequestBody RelationReqVo reqVo) {
return success(contractService.relation(reqVo)); return success(contractService.relation(reqVo));
} }
@PostMapping("/push")
@Operation(summary = "国贸2.0系统推送合同")
@PreAuthorize("@ss.hasPermission('base:contract:create')")
CommonResult<Boolean> push(@Valid @RequestBody IntContract reqVO) {
try {
return contractApi.push(reqVO);
} catch (Exception e) {
return error(CONTRACT_PUSH_FAIL, e.getMessage());
}
}
@PostMapping("/logistics/list/page")
@Operation(summary = "国贸2.0系统合同分页查询")
@PreAuthorize("@ss.hasPermission('base:contract:query')")
CommonResult<PageResult<IntContract>> logisticsListPage(IntContractPageReq pageReq) {
return contractApi.logisticsListPage(pageReq);
}
} }

View File

@@ -204,6 +204,7 @@ public class PrchOrdDtlRespVO {
@Schema(description = "金属元素编码") @Schema(description = "金属元素编码")
@ExcelProperty("金属元素编码") @ExcelProperty("金属元素编码")
private String elemCdg; private String elemCdg;
@Schema(description = "税率") @Schema(description = "税率")
private BigDecimal taxRte; private BigDecimal taxRte;
} }

View File

@@ -140,6 +140,15 @@ public class SalesOrderController implements BusinessControllerMarker {
return success(salesOrderService.submitOrder(id)); return success(salesOrderService.submitOrder(id));
} }
@PostMapping("/submit-order-batch")
@Operation(summary = "批量提交订单审核")
@PreAuthorize("@ss.hasPermission('bse:purchase-order:update')")
public CommonResult<Boolean> submitOrder(@RequestBody @Validated @NotEmpty(message = "销售订单id不能为空") List<String> ids) {
System.out.println("ids:" + ids);
ids.forEach(id -> salesOrderService.submitOrder(id));
return success(true);
}
//提交审批 //提交审批
@PostMapping("/order-pass-reject") @PostMapping("/order-pass-reject")
@Operation(summary = "订单审核") @Operation(summary = "订单审核")

View File

@@ -2,6 +2,7 @@ package com.zt.plat.module.contractorder.controller.admin.salesorder.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo.PrchOrdDtlRespVO; import com.zt.plat.module.contractorder.controller.admin.purchaseorder.vo.PrchOrdDtlRespVO;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotEmpty;
@@ -213,6 +214,11 @@ public class SalesOrderRespVO {
@Schema(description = "产品组编码") @Schema(description = "产品组编码")
@ExcelProperty("产品组编码") @ExcelProperty("产品组编码")
private String pdtGrpCdg; private String pdtGrpCdg;
@Schema(description = "付款方名称")
@ExcelProperty("付款方名称")
private String payerName;
@Schema(description = "付款方编码")
@ExcelProperty("付款方编码")
private String payerNum;
} }

View File

@@ -921,13 +921,9 @@ public class ContractServiceImpl implements ContractService {
} }
// 更新合同主信息 // 更新合同主信息
contractMainMapper.updateById(newContractMainDO); contractMainMapper.update(newContractMainDO, new LambdaUpdateWrapper<>(ContractMainDO.class)
// 模板实例ID更新为null .set(ContractMainDO::getInstanceId, newContractMainDO.getInstanceId())
if (newContractMainDO.getInstanceId() == null) { .eq(ContractMainDO::getId, newContractMainDO.getId()));
contractMainMapper.update(new LambdaUpdateWrapper<>(ContractMainDO.class)
.set(ContractMainDO::getInstanceId, null)
.eq(ContractMainDO::getId, newContractMainDO.getId()));
}
if (DictEnum.BSE_CTRT_STS_IN_PROGRESS.getCode().equals(newContractMainDO.getStatus())) { if (DictEnum.BSE_CTRT_STS_IN_PROGRESS.getCode().equals(newContractMainDO.getStatus())) {
// 执行中合同重新提交erp // 执行中合同重新提交erp

View File

@@ -94,7 +94,7 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService {
public PurchaseOrderRespVO createPurchaseOrder(PurchaseOrderSaveReqVO createReqVO) { public PurchaseOrderRespVO createPurchaseOrder(PurchaseOrderSaveReqVO createReqVO) {
// 插入 // 插入
PurchaseOrderDO purchaseOrder = BeanUtils.toBean(createReqVO, PurchaseOrderDO.class); PurchaseOrderDO purchaseOrder = BeanUtils.toBean(createReqVO, PurchaseOrderDO.class);
if (Objects.equals(createReqVO.getIsPush(), 0)) { if (Objects.equals(createReqVO.getIsPush(), 1)) {
purchaseOrder.setStatus(OrderStatusEnum.DRAFT.getCode()); //设置初始状态 purchaseOrder.setStatus(OrderStatusEnum.DRAFT.getCode()); //设置初始状态
} else { } else {
purchaseOrder.setStatus(OrderStatusEnum.TO_SUBMIT_ERP.getCode()); purchaseOrder.setStatus(OrderStatusEnum.TO_SUBMIT_ERP.getCode());

View File

@@ -94,7 +94,7 @@ public class SalesOrderServiceImpl implements SalesOrderService {
SalesOrderDO salesOrderDO = BeanUtils.toBean(createReqVO, SalesOrderDO.class); SalesOrderDO salesOrderDO = BeanUtils.toBean(createReqVO, SalesOrderDO.class);
//订单号 //订单号
//生成订单号 //生成订单号
if (Objects.equals(createReqVO.getIsPush(), 0)) { if (Objects.equals(createReqVO.getIsPush(), 1)) {
createReqVO.setStatus(OrderStatusEnum.DRAFT.getCode()); //设置初始状态 createReqVO.setStatus(OrderStatusEnum.DRAFT.getCode()); //设置初始状态
} else { } else {
createReqVO.setStatus(OrderStatusEnum.TO_SUBMIT_ERP.getCode()); createReqVO.setStatus(OrderStatusEnum.TO_SUBMIT_ERP.getCode());