Merge branch 'dev' into 'test'

合并

See merge request jygk/dsc-base!12
This commit is contained in:
周迪
2025-10-16 13:14:36 +00:00
7 changed files with 280 additions and 65 deletions

View File

@@ -23,5 +23,6 @@ public interface ErrorCodeConstants {
ErrorCode CONTRACT_STATUS_NOT_APPROVAL = new ErrorCode(1_027_000_008, "{}状态合同不允许审核"); ErrorCode CONTRACT_STATUS_NOT_APPROVAL = new ErrorCode(1_027_000_008, "{}状态合同不允许审核");
ErrorCode CONTRACT_ERP_COMPANY_PLEASE_BIND = new ErrorCode(1_027_000_009, "请先绑定{}ERP公司信息"); ErrorCode CONTRACT_ERP_COMPANY_PLEASE_BIND = new ErrorCode(1_027_000_009, "请先绑定{}ERP公司信息");
ErrorCode CONTRACT_STATUS_NOT_DELETE = new ErrorCode(1_027_000_010, "{}状态合同不允许删除"); ErrorCode CONTRACT_STATUS_NOT_DELETE = new ErrorCode(1_027_000_010, "{}状态合同不允许删除");
ErrorCode CONTRACT_ERP_RCV_DLVY_NOT_EXISTS = new ErrorCode(1_027_000_010, "不存在的收支类型或收支类型为空"); ErrorCode CONTRACT_ERP_RCV_DLVY_NOT_EXISTS = new ErrorCode(1_027_000_011, "不存在的收支类型或收支类型为空");
ErrorCode CONTRACT_STATUS_NOT_ARCHIVE = new ErrorCode(1_027_000_012, "{}状态合同不允许归档");
} }

View File

@@ -13,6 +13,8 @@ import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
import jakarta.validation.Valid; import jakarta.validation.Valid;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.core.io.ByteArrayResource;
import org.springframework.http.ResponseEntity;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@@ -101,35 +103,35 @@ public class ContractController implements BusinessControllerMarker {
@PostMapping("/download") @PostMapping("/download")
@Operation(summary = "下载文件") @Operation(summary = "下载文件")
@PreAuthorize("@ss.hasPermission('base:contract:download')") @PreAuthorize("@ss.hasPermission('base:contract:download')")
public void download(@RequestBody List<Long> ids) { public ResponseEntity<ByteArrayResource> download(@RequestBody List<Long> ids) {
contractService.download(ids); return contractService.download(ids);
} }
// TODO @PostMapping("/cancel")
@PostMapping("/preview") @Operation(summary = "作废")
@Operation(summary = "预览文件 TODO") @PreAuthorize("@ss.hasPermission('base:contract:cancel')")
@PreAuthorize("@ss.hasPermission('base:contract:preview')") public CommonResult<Boolean> cancel(@RequestBody List<Long> ids) {
public void preview() { return success(contractService.cancel(ids));
} }
// TODO
@PostMapping("/complete") @PostMapping("/complete")
@Operation(summary = "完结 TODO") @Operation(summary = "完结")
@PreAuthorize("@ss.hasPermission('base:contract:complete')") @PreAuthorize("@ss.hasPermission('base:contract:complete')")
public void complete() { public CommonResult<Boolean> complete(@RequestBody List<Long> ids) {
return success(contractService.complete(ids));
} }
// TODO
@PostMapping("/archive") @PostMapping("/archive")
@Operation(summary = "归档 TODO") @Operation(summary = "归档")
@PreAuthorize("@ss.hasPermission('base:contract:archive')") @PreAuthorize("@ss.hasPermission('base:contract:archive')")
public void archive() { public CommonResult<Boolean> archive(@RequestBody List<Long> ids) {
return success(contractService.archive(ids));
} }
@GetMapping("/submit/approval") @GetMapping("/submit/approval")
@Operation(summary = "合同提交审批") @Operation(summary = "合同提交审批")
@PreAuthorize("@ss.hasPermission('base:contract:approval')") @PreAuthorize("@ss.hasPermission('base:contract:approval')")
public CommonResult<String> submitApproval(@RequestParam("id") Long id) { public CommonResult<Boolean> submitApproval(@RequestParam("id") Long id) {
return success(contractService.submitApproval(id)); return success(contractService.submitApproval(id));
} }
@@ -141,13 +143,6 @@ public class ContractController implements BusinessControllerMarker {
return success(contractService.approval(reqVO)); return success(contractService.approval(reqVO));
} }
// TODO
@PostMapping("/view/approval")
@Operation(summary = "查看审批 TODO")
@PreAuthorize("@ss.hasPermission('base:contract:approval')")
public void viewApproval() {
}
@PostMapping("/submit/erp") @PostMapping("/submit/erp")
@Operation(summary = "提交ERP") @Operation(summary = "提交ERP")
@PreAuthorize("@ss.hasPermission('base:contract:erp')") @PreAuthorize("@ss.hasPermission('base:contract:erp')")

View File

@@ -162,9 +162,6 @@ public class ContractSaveReqVO {
@Schema(description = "备注;与ERP(BZXX)对应", example = "备注") @Schema(description = "备注;与ERP(BZXX)对应", example = "备注")
private String remark; private String remark;
// 物料信息
private List<DetailSaveReqVO> detail;
// 扩展信息 // 扩展信息
@Schema(description = "原币金额-变更后;与ERP(BGHHTYBZJE)对应,拓展信息") @Schema(description = "原币金额-变更后;与ERP(BGHHTYBZJE)对应,拓展信息")
private BigDecimal changeCooAmount; private BigDecimal changeCooAmount;
@@ -216,6 +213,9 @@ public class ContractSaveReqVO {
@Schema(description = "模板实例主键", example = "10196") @Schema(description = "模板实例主键", example = "10196")
private Long instanceId; private Long instanceId;
// 物料信息
private List<DetailSaveReqVO> detail;
// 合同动态表单 // 合同动态表单
private List<TemplateInstanceDataSaveReqVO> dynamicsFields; private List<TemplateInstanceDataSaveReqVO> dynamicsFields;

View File

@@ -1,5 +1,6 @@
package com.zt.plat.module.contractorder.controller.admin.contract.vo.contract; package com.zt.plat.module.contractorder.controller.admin.contract.vo.contract;
import cn.hutool.json.JSONArray;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import lombok.Data; import lombok.Data;
@@ -45,7 +46,7 @@ public class FormulaSaveReqVO {
private String elementName; private String elementName;
@Schema(description = "结算类型多条使用逗号分隔字典PRCH_STLM_TP", example = "1") @Schema(description = "结算类型多条使用逗号分隔字典PRCH_STLM_TP", example = "1")
private String settlementType; private JSONArray settlementType;
// 基础系数配置 // 基础系数配置
private List<CoefficientSaveReqVO> coefficients; private List<CoefficientSaveReqVO> coefficients;

View File

@@ -6,6 +6,8 @@ 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.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.http.ResponseEntity;
import java.util.List; import java.util.List;
@@ -54,7 +56,7 @@ public interface ContractService {
* @param id 合同ID * @param id 合同ID
* @return 提交审批结果 * @return 提交审批结果
*/ */
String submitApproval(Long id); Boolean submitApproval(Long id);
/** /**
* 合同审批 * 合同审批
@@ -164,6 +166,31 @@ public interface ContractService {
* 下载文件 * 下载文件
* *
* @param ids 合同ID集合 * @param ids 合同ID集合
* @return 压缩文件流
*/ */
void download(List<Long> ids); ResponseEntity<ByteArrayResource> download(List<Long> ids);
/**
* 归档
*
* @param ids 合同ID集合
* @return 归档结果
*/
Boolean archive(List<Long> ids);
/**
* 作废
*
* @param ids 合同ID集合
* @return 作废结果
*/
Boolean cancel(List<Long> ids);
/**
* 完结
*
* @param ids 合同ID集合
* @return 完结结果
*/
Boolean complete(List<Long> ids);
} }

View File

@@ -242,6 +242,7 @@ public class ErpContractServiceImpl implements ErpContractService {
ErpContractDO erpContractDO = getErpContractByMainId(erpContract.getContractMainId()); ErpContractDO erpContractDO = getErpContractByMainId(erpContract.getContractMainId());
if (erpContractDO == null) { if (erpContractDO == null) {
// 不存在映射表则新增 // 不存在映射表则新增
erpContract.setDeleted(false);
erpContractMapper.insert(erpContract); erpContractMapper.insert(erpContract);
} else { } else {
// 存在映射表则更新 // 存在映射表则更新