Merge remote-tracking branch 'refs/remotes/origin/master' into feature/payment-apply-bfi-sync

# Conflicts:
#	blade-service/blade-transport/src/main/java/org/springblade/transport/service/impl/CustomerArchiveServiceImpl.java
This commit is contained in:
刘泉佳
2026-10-01 13:47:00 +08:00
206 changed files with 4885 additions and 4913 deletions
@@ -7,6 +7,7 @@ import org.springblade.process.pojo.dto.BusinessProcessDeleteDTO;
import org.springblade.process.pojo.dto.BusinessProcessSubmitDTO;
import org.springblade.process.pojo.dto.BusinessProcessUpdateDTO;
import org.springblade.process.pojo.vo.BusinessProcessVO;
import org.springblade.process.pojo.vo.MkFormBindVO;
import org.springblade.process.pojo.vo.ProcessApprovedRecordVO;
import org.springblade.process.pojo.vo.ProcessTodoVO;
import org.springframework.cloud.openfeign.FeignClient;
@@ -40,6 +41,8 @@ public interface IBusinessProcessClient {
String QUERY_APPROVED_RECORD_LIST = API_PREFIX + "/queryApprovedRecordsNoAttachments";
String GET_CURRENT_NODES = API_PREFIX + "/getCurrentNodes";
String GET_PROCESS_INFO = API_PREFIX + "/getProcessInfo";
String RESOLVE_BY_FORM_INSTANCE_ID = API_PREFIX + "/resolveByFormInstanceId";
String MARK_PROCESS_FINISHED = API_PREFIX + "/markProcessFinished";
/**
* 提交业务流程
@@ -126,4 +129,24 @@ public interface IBusinessProcessClient {
@GetMapping(GET_PROCESS_INFO)
FR<Object> getProcessInfo(@RequestParam("processInstanceId") String processInstanceId,
@RequestParam(value = "loginName", required = false) String loginName);
/**
* 按表单实例id解析业务绑定
*
* @param formInstanceId 表单实例id
* @return 绑定信息(含业务主键)
*/
@GetMapping(RESOLVE_BY_FORM_INSTANCE_ID)
FR<MkFormBindVO> resolveByFormInstanceId(@RequestParam("formInstanceId") Long formInstanceId);
/**
* 公开页流程结束时标记业务流程通过/驳回并完结
*
* @param processInstanceId 流程实例id
* @param approved true=通过 false=驳回
* @return 是否更新成功
*/
@PostMapping(MARK_PROCESS_FINISHED)
FR<Boolean> markProcessFinished(@RequestParam("processInstanceId") String processInstanceId,
@RequestParam("approved") boolean approved);
}
@@ -65,6 +65,12 @@ public class BusinessProcess implements Serializable {
*/
@Schema(description = "业务id")
private Long bizId;
/**
* MK表单实例id
*/
@JsonSerialize(using = ToStringSerializer.class)
@Schema(description = "MK表单实例id")
private Long formInstanceId;
/**
* 流程实例id
*/
@@ -0,0 +1,94 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.process.pojo.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springblade.core.tool.utils.DateUtil;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* MK表单实例绑定表 实体类
*
* @author BladeX
*/
@Data
@TableName("blade_mk_form_bind")
@Schema(description = "MkFormBind对象")
public class MkFormBind implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@JsonSerialize(using = ToStringSerializer.class)
@Schema(description = "主键")
@TableId(value = "id", type = IdType.ASSIGN_ID)
private Long id;
@Schema(description = "租户ID")
private String tenantId;
@Schema(description = "业务类型")
private String bizType;
@JsonSerialize(using = ToStringSerializer.class)
@Schema(description = "业务主键")
private Long bizId;
@JsonSerialize(using = ToStringSerializer.class)
@Schema(description = "MK表单实例id")
private Long formInstanceId;
@Schema(description = "MK流程实例id")
private String processInstanceId;
@Schema(description = "是否当前生效(1是0否)")
private Integer isCurrent;
@DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
@JsonFormat(pattern = DateUtil.PATTERN_DATETIME)
@Schema(description = "创建时间", hidden = true)
@TableField(fill = FieldFill.INSERT)
private Date createTime;
@DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
@JsonFormat(pattern = DateUtil.PATTERN_DATETIME)
@Schema(description = "更新时间", hidden = true)
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date updateTime;
}
@@ -0,0 +1,61 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.process.pojo.vo;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* MK表单实例绑定 VO
*
* @author BladeX
*/
@Data
@Schema(description = "MkFormBindVO")
public class MkFormBindVO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@JsonSerialize(using = ToStringSerializer.class)
@Schema(description = "业务主键")
private Long bizId;
@Schema(description = "业务类型")
private String bizType;
@JsonSerialize(using = ToStringSerializer.class)
@Schema(description = "MK表单实例id")
private Long formInstanceId;
@Schema(description = "MK流程实例id")
private String processInstanceId;
}
@@ -138,6 +138,12 @@ public class Dept extends TenantEntity {
@Schema(description = "部门编码")
private String deptCode;
/**
* 金蝶部门代码
*/
@Schema(description = "金蝶部门代码")
private String kingdeeDeptCode;
/**
* 组织简称
*/
@@ -52,6 +52,13 @@ public class AirportMasterVO extends AirportMaster {
@Schema(description = "导入错误信息")
private String errorMessage;
/**
* 创建人姓名
*/
@TableField(exist = false)
@Schema(description = "创建人姓名")
private String createUserName;
/**
* 更新人姓名
*/
@@ -49,6 +49,10 @@ public class FeeItemVO extends FeeItem {
@Schema(description = "组织")
private String createDeptName;
@TableField(exist = false)
@Schema(description = "创建人姓名")
private String createUserName;
@TableField(exist = false)
@Schema(description = "更新人")
private String updateUserName;
@@ -52,6 +52,13 @@ public class PortTerminalVO extends PortTerminal {
@Schema(description = "导入错误信息")
private String errorMessage;
/**
* 创建人姓名
*/
@TableField(exist = false)
@Schema(description = "创建人姓名")
private String createUserName;
/**
* 更新人姓名
*/
@@ -52,6 +52,13 @@ public class RailwayStationVO extends RailwayStation {
@Schema(description = "导入错误信息")
private String errorMessage;
/**
* 创建人姓名
*/
@TableField(exist = false)
@Schema(description = "创建人姓名")
private String createUserName;
/**
* 更新人姓名
*/
@@ -33,4 +33,6 @@ public class WaybillImportBatchRequest {
private String planName;
private String remark;
private List<Map<String, Object>> rows;
/** 分批确认导入时,是否追加到已有批次(首批为 false,后续批为 true)。 */
private Boolean append;
}
@@ -56,7 +56,7 @@ public class LoadingManage extends TenantEntity {
@Schema(description = "货物名称")
private String cargoName;
@Schema(description = "车/船/航班/班列")
@Schema(description = "车牌号/船班号/船次号/班次号")
private String vehicleNo;
@Schema(description = "挂车车牌号")
@@ -162,7 +162,7 @@ public class Waybill extends TenantEntity {
@TableField(updateStrategy = FieldStrategy.ALWAYS)
private String driverRejectReason;
@Schema(description = "车/船/航班/班列号")
@Schema(description = "车牌号/船班号/船次号/班次号")
private String vehicleNo;
@Schema(description = "船长")
@@ -234,6 +234,9 @@ public class Waybill extends TenantEntity {
@Schema(description = "配载单号")
private String loadingNo;
@Schema(description = "配载标识号")
private String loadingIdentifier;
@Schema(description = "运单批次号")
private String batchNo;
@@ -80,6 +80,13 @@ public class AccidentRecordVO extends AccidentRecord {
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTimeEnd;
/**
* 创建人姓名
*/
@TableField(exist = false)
@Schema(description = "创建人姓名")
private String createUserName;
/**
* 更新人姓名
*/
@@ -68,6 +68,10 @@ public class AnnualInspectionRecordVO extends AnnualInspectionRecord {
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTimeEnd;
@TableField(exist = false)
@Schema(description = "创建人姓名")
private String createUserName;
@TableField(exist = false)
@Schema(description = "更新人姓名")
private String updateUserName;
@@ -58,6 +58,10 @@ public class CustomerArchiveVO extends CustomerArchive {
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTimeEnd;
@TableField(exist = false)
@Schema(description = "创建人姓名")
private String createUserName;
@TableField(exist = false)
@Schema(description = "联系人")
private List<CustomerContactVO> contacts = new ArrayList<>();
@@ -69,4 +69,8 @@ public class DriverVO extends Driver {
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate warningDate;
@TableField(exist = false)
@Schema(description = "创建人姓名")
private String createUserName;
}
@@ -25,5 +25,8 @@ public class EquipmentLedgerVO extends EquipmentLedger {
@Serial
private static final long serialVersionUID = 1L;
@TableField(exist = false)
@Schema(description = "创建人姓名")
private String createUserName;
@TableField(exist = false)
private String updateUserName;
}
@@ -26,6 +26,10 @@ public class EtcRecordVO extends EtcRecord {
@Serial
private static final long serialVersionUID = 1L;
@TableField(exist = false)
@Schema(description = "创建人姓名")
private String createUserName;
@TableField(exist = false)
@Schema(description = "更新人姓名")
private String updateUserName;
@@ -63,6 +63,13 @@ public class InsuranceRecordVO extends InsuranceRecord {
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTimeEnd;
/**
* 创建人姓名
*/
@TableField(exist = false)
@Schema(description = "创建人姓名")
private String createUserName;
/**
* 更新人姓名
*/
@@ -62,6 +62,13 @@ public class MaintenancePlanVO extends MaintenancePlan {
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTimeEnd;
/**
* 创建人姓名
*/
@TableField(exist = false)
@Schema(description = "创建人姓名")
private String createUserName;
/**
* 更新人姓名
*/
@@ -62,6 +62,13 @@ public class MaintenanceRecordVO extends MaintenanceRecord {
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTimeEnd;
/**
* 创建人姓名
*/
@TableField(exist = false)
@Schema(description = "创建人姓名")
private String createUserName;
/**
* 更新人姓名
*/
@@ -41,6 +41,11 @@ public class MasterOrderVO extends MasterOrder {
private List<Waybill> boundWaybills;
@TableField(exist = false)
private BigDecimal totalQuantity;
/**
* 各品类已调度量(按货物名称+类型聚合,取各分段已调度量的最大值)
*/
@TableField(exist = false)
private Map<String, BigDecimal> dispatchedGoods;
@TableField(exist = false)
private String createUserName;
@TableField(exist = false)
@@ -66,6 +66,10 @@ public class MileageRecordVO extends MileageRecord {
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTimeEnd;
@TableField(exist = false)
@Schema(description = "创建人姓名")
private String createUserName;
@TableField(exist = false)
@Schema(description = "更新人姓名")
private String updateUserName;
@@ -76,6 +76,10 @@ public class OilElectricRecordVO extends OilElectricRecord {
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTimeEnd;
@TableField(exist = false)
@Schema(description = "创建人姓名")
private String createUserName;
@TableField(exist = false)
@Schema(description = "更新人姓名")
private String updateUserName;
@@ -49,6 +49,10 @@ public class OtherExpenseRecordVO extends OtherExpenseRecord {
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTimeEnd;
@TableField(exist = false)
@Schema(description = "创建人姓名")
private String createUserName;
@TableField(exist = false)
@Schema(description = "更新人姓名")
private String updateUserName;
@@ -63,6 +63,13 @@ public class TireReplacementRecordVO extends TireReplacementRecord {
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTimeEnd;
/**
* 创建人姓名
*/
@TableField(exist = false)
@Schema(description = "创建人姓名")
private String createUserName;
/**
* 更新人姓名
*/
@@ -57,6 +57,10 @@ public class TransportChangeRecordVO extends TransportChangeRecord {
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTimeEnd;
@TableField(exist = false)
@Schema(description = "创建人姓名")
private String createUserName;
@TableField(exist = false)
@Schema(description = "更新人姓名")
private String updateUserName;
@@ -62,4 +62,8 @@ public class TransportShipVO extends TransportShip {
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate warningDate;
@TableField(exist = false)
@Schema(description = "创建人姓名")
private String createUserName;
}
@@ -76,4 +76,8 @@ public class TransportVehicleVO extends TransportVehicle {
@Schema(description = "绑定司机")
private String boundDriver;
@TableField(exist = false)
@Schema(description = "创建人姓名")
private String createUserName;
}
@@ -63,6 +63,13 @@ public class ViolationRecordVO extends ViolationRecord {
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTimeEnd;
/**
* 创建人姓名
*/
@TableField(exist = false)
@Schema(description = "创建人姓名")
private String createUserName;
/**
* 更新人姓名
*/
@@ -25,6 +25,7 @@ public class VoucherFolderVO implements Serializable {
private String folderName;
private Long waybillId;
private String waybillNo;
private String loadingNo;
private Integer matched;
private String processStatus;
private String fileName;
@@ -0,0 +1,26 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
*/
package org.springblade.transport.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/** 运单批量导入单行校验错误。 */
@Data
@Schema(description = "运单批量导入单行校验错误")
public class WaybillImportRowErrorVO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "行号(从0开始,相对当前批次)")
private Integer rowIndex;
@Schema(description = "错误信息")
private String errorMessage;
}
@@ -0,0 +1,28 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
*/
package org.springblade.transport.pojo.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/** 运单批量导入校验结果。 */
@Data
@Schema(description = "运单批量导入校验结果")
public class WaybillImportValidateResultVO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@Schema(description = "是否全部通过")
private Boolean success;
@Schema(description = "校验错误列表")
private List<WaybillImportRowErrorVO> errors = new ArrayList<>();
}
@@ -66,6 +66,10 @@ public class WaybillVO extends Waybill {
@Schema(description = "业务状态名称")
private String businessStatusName;
@TableField(exist = false)
@Schema(description = "运输方式名称")
private String transportTypeName;
@TableField(exist = false)
@Schema(description = "是否需要司机确认接单(过程配置接单节点)")
private Boolean requireAccept;