This commit is contained in:
张秉卓
2025-12-24 17:24:03 +08:00
parent 673a8051d4
commit 0cb12bbf0e
28 changed files with 2685 additions and 32 deletions

View File

@ -0,0 +1,49 @@
package com.xjrsoft.module.contract.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @title: 合同要素
* @Author 管理员
* @Date: 2025-12-24
* @Version 1.0
*/
@Data
public class AddLngContractApproRelDto implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 合同档案/要素表名(lng_contract/lng_contract_fact)
*/
@ApiModelProperty("合同档案/要素表名(lng_contract/lng_contract_fact)")
private String tableName;
/**
* 合同档案/要素主键
*/
@ApiModelProperty("合同档案/要素主键")
private Long tableId;
/**
* 合同-签报主键
*/
@ApiModelProperty("合同-签报主键")
private Long approId;
/**
* 显示顺序
*/
@ApiModelProperty("显示顺序")
private Short sort;
/**
* 租户id
*/
@ApiModelProperty("租户id")
private Long tenantId;
}

View File

@ -0,0 +1,99 @@
package com.xjrsoft.module.contract.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @title: 合同要素
* @Author 管理员
* @Date: 2025-12-24
* @Version 1.0
*/
@Data
public class AddLngContractFactCpDto implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 合同-合同要素主键
*/
@ApiModelProperty("合同-合同要素主键")
private Long kFactId;
/**
* 相对方类型(供应商/客户;不显示)
*/
@ApiModelProperty("相对方类型(供应商/客户;不显示)")
private String cpTableName;
/**
* 相对方编码
*/
@ApiModelProperty("相对方编码")
private String cpCode;
/**
* 相对方名称
*/
@ApiModelProperty("相对方名称")
private String cpName;
/**
* 相对方顺序
*/
@ApiModelProperty("相对方顺序")
private Byte sort;
/**
* 对方银行编码
*/
@ApiModelProperty("对方银行编码")
private String cpBankCode;
/**
* 对方银行名称
*/
@ApiModelProperty("对方银行名称")
private String cpBankName;
/**
* 对方银行开户名
*/
@ApiModelProperty("对方银行开户名")
private String cpBankAccountName;
/**
* 对方银行账号
*/
@ApiModelProperty("对方银行账号")
private String cpBankAccount;
/**
* 对方联系人姓名
*/
@ApiModelProperty("对方联系人姓名")
private String contactName;
/**
* 对方联系人电话
*/
@ApiModelProperty("对方联系人电话")
private String contactTel;
/**
* 对方联系人邮箱
*/
@ApiModelProperty("对方联系人邮箱")
private String contactEmail;
/**
* 对方通讯地址
*/
@ApiModelProperty("对方通讯地址")
private String contactAddress;
/**
* 备注
*/
@ApiModelProperty("备注")
private String note;
/**
* 租户id
*/
@ApiModelProperty("租户id")
private Long tenantId;
}

View File

@ -0,0 +1,184 @@
package com.xjrsoft.module.contract.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
/**
* @title: 合同要素
* @Author 管理员
* @Date: 2025-12-24
* @Version 1.0
*/
@Data
public class AddLngContractFactDto implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 合同主体ID(天然气公司/惠贸)
*/
@ApiModelProperty("合同主体ID(天然气公司/惠贸)")
private Long comId;
/**
* 合同号
*/
@ApiModelProperty("合同号")
private String kNo;
/**
* 合同名称
*/
@ApiModelProperty("合同名称")
private String kName;
/**
* 关联类别(M-主合同/U-合同变更/C-确认函/A-补充协议/F-框架协议/R-续签合同/I-同一事项关联合同;以下不要:无/原合同补充协议/原合同续签合同/同一事项关联合同)
*/
@ApiModelProperty("关联类别(M-主合同/U-合同变更/C-确认函/A-补充协议/F-框架协议/R-续签合同/I-同一事项关联合同;以下不要:无/原合同补充协议/原合同续签合同/同一事项关联合同)")
private String relTypeCode;
/**
* 合同类别(日常采购/工程建设/人力资源/投资管理/金融保险/租赁/信息管理/咨询服务/综合服务/生产运营/天然气公司业务合同)
*/
@ApiModelProperty("合同类别(日常采购/工程建设/人力资源/投资管理/金融保险/租赁/信息管理/咨询服务/综合服务/生产运营/天然气公司业务合同)")
private String kTypeCode1;
/**
* 二级类别(天然气购入/天然气销售/接收站加工/管道代输/槽车运输/船舶运输/其他;合同类别为天然气公司业务合同时,其他类别还有很多选项)
*/
@ApiModelProperty("二级类别(天然气购入/天然气销售/接收站加工/管道代输/槽车运输/船舶运输/其他;合同类别为天然气公司业务合同时,其他类别还有很多选项)")
private String kTypeCode2;
/**
* 相对方数量
*/
@ApiModelProperty("相对方数量")
private Byte cpCount;
/**
* 合同期限类型编码(Y-有固定期限/N-无固定期限)
*/
@ApiModelProperty("合同期限类型编码(Y-有固定期限/N-无固定期限)")
private String periodTypeCode;
/**
* 有效期开始(有固定期限时录入)
*/
@ApiModelProperty("有效期开始(有固定期限时录入)")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime dateFrom;
/**
* 有效期结束(有固定期限时录入)
*/
@ApiModelProperty("有效期结束(有固定期限时录入)")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime dateTo;
/**
* 币种编码
*/
@ApiModelProperty("币种编码")
private String curCode;
/**
* 合同金额类型(Y-固定总价/N-非固定金额/U-无金额)
*/
@ApiModelProperty("合同金额类型(Y-固定总价/N-非固定金额/U-无金额)")
private String amountTypeCode;
/**
* 合同金额(万元)(固定总价/非固定金额时必须录入)
*/
@ApiModelProperty("合同金额(万元)(固定总价/非固定金额时必须录入)")
private BigDecimal amount;
/**
* 合同金额大写(自动转换amount)
*/
@ApiModelProperty("合同金额大写(自动转换amount)")
private String amountCn;
/**
* 合同金额说明
*/
@ApiModelProperty("合同金额说明")
private String amountDesc;
/**
* 结算类别(收款合同/付款合同/无金额)
*/
@ApiModelProperty("结算类别(收款合同/付款合同/无金额)")
private String settleTypeCode;
/**
* 是否招投标(Y-是/N-否/U-不适用)
*/
@ApiModelProperty("是否招投标(Y-是/N-否/U-不适用)")
private String bidSign;
/**
* 是否已获前置审批(Y-是/N-否/U-不适用)
*/
@ApiModelProperty("是否已获前置审批(Y-是/N-否/U-不适用)")
private String preApproSign;
/**
* 先行履行(Y-是/N-否/U-不适用)
*/
@ApiModelProperty("先行履行(Y-是/N-否/U-不适用)")
private String aheadSign;
/**
* 采用范本(Y-是/N-否/R-参考)
*/
@ApiModelProperty("采用范本(Y-是/N-否/R-参考)")
private String tempSign;
/**
* 是否属于重大事项所涉合同(Y-是N-否)
*/
@ApiModelProperty("是否属于重大事项所涉合同(Y-是N-否)")
private String impSign;
/**
* 我方联系人ID
*/
@ApiModelProperty("我方联系人ID")
private Long empId;
/**
* 联系电话
*/
@ApiModelProperty("联系电话")
private String tel;
/**
* 业务部门ID
*/
@ApiModelProperty("业务部门ID")
private Long bDeptId;
/**
* 起草日期
*/
@ApiModelProperty("起草日期")
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDateTime dateDraft;
/**
* 状态(未提交/审批中/已审批/已驳回)
*/
@ApiModelProperty("状态(未提交/审批中/已审批/已驳回)")
private String approCode;
/**
* 合同说明
*/
@ApiModelProperty("合同说明")
private String kDesc;
/**
* 备注
*/
@ApiModelProperty("备注")
private String note;
/**
* 租户id
*/
@ApiModelProperty("租户id")
private Long tenantId;
/**
* lngContractFactCp
*/
@ApiModelProperty("lngContractFactCp子表")
private List<AddLngContractFactCpDto> lngContractFactCpList;
/**
* lngContractApproRel
*/
@ApiModelProperty("lngContractApproRel子表")
private List<AddLngContractApproRelDto> lngContractApproRelList;
}

View File

@ -0,0 +1,161 @@
package com.xjrsoft.module.contract.dto;
import com.xjrsoft.common.page.PageInput;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* @title: 分页查询入参
* @Author 管理员
* @Date: 2025-12-24
* @Version 1.0
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class LngContractFactPageDto extends PageInput {
/**
* 合同号
*/
@ApiModelProperty("合同号")
private String kNo;
/**
* 合同名称
*/
@ApiModelProperty("合同名称")
private String kName;
/**
* 合同类别(日常采购/工程建设/人力资源/投资管理/金融保险/租赁/信息管理/咨询服务/综合服务/生产运营/天然气公司业务合同)
*/
@ApiModelProperty("合同类别(日常采购/工程建设/人力资源/投资管理/金融保险/租赁/信息管理/咨询服务/综合服务/生产运营/天然气公司业务合同)")
private String kTypeCode1;
/**
* 合同主体ID(天然气公司/惠贸)
*/
@ApiModelProperty("合同主体ID(天然气公司/惠贸)")
private Long comId;
/**
* 修改时间
*/
@ApiModelProperty("修改时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime modifyDate;
/**
* 相对方数量
*/
@ApiModelProperty("相对方数量")
private Byte cpCount;
/**
* 起草日期字段开始时间
*/
@ApiModelProperty("起草日期字段开始时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime dateDraftStart;
/**
* 起草日期字段结束时间
*/
@ApiModelProperty("起草日期字段结束时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime dateDraftEnd;
/**
* 合同期限类型编码(Y-有固定期限/N-无固定期限)
*/
@ApiModelProperty("合同期限类型编码(Y-有固定期限/N-无固定期限)")
private String periodTypeCode;
/**
* 有效期开始(有固定期限时录入)字段开始时间
*/
@ApiModelProperty("有效期开始(有固定期限时录入)字段开始时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime dateFromStart;
/**
* 有效期开始(有固定期限时录入)字段结束时间
*/
@ApiModelProperty("有效期开始(有固定期限时录入)字段结束时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime dateFromEnd;
/**
* 有效期结束(有固定期限时录入)字段开始时间
*/
@ApiModelProperty("有效期结束(有固定期限时录入)字段开始时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime dateToStart;
/**
* 有效期结束(有固定期限时录入)字段结束时间
*/
@ApiModelProperty("有效期结束(有固定期限时录入)字段结束时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime dateToEnd;
/**
* 币种编码
*/
@ApiModelProperty("币种编码")
private String curCode;
/**
* 合同金额(万元)(固定总价/非固定金额时必须录入)
*/
@ApiModelProperty("合同金额(万元)(固定总价/非固定金额时必须录入)")
private BigDecimal amount;
/**
* 我方联系人ID
*/
@ApiModelProperty("我方联系人ID")
private Long empId;
/**
* 联系电话
*/
@ApiModelProperty("联系电话")
private String tel;
/**
* 业务部门ID
*/
@ApiModelProperty("业务部门ID")
private Long bDeptId;
/**
* 是否招投标(Y-是/N-否/U-不适用)
*/
@ApiModelProperty("是否招投标(Y-是/N-否/U-不适用)")
private String bidSign;
/**
* 是否已获前置审批(Y-是/N-否/U-不适用)
*/
@ApiModelProperty("是否已获前置审批(Y-是/N-否/U-不适用)")
private String preApproSign;
/**
* 先行履行(Y-是/N-否/U-不适用)
*/
@ApiModelProperty("先行履行(Y-是/N-否/U-不适用)")
private String aheadSign;
/**
* 采用范本(Y-是/N-否/R-参考)
*/
@ApiModelProperty("采用范本(Y-是/N-否/R-参考)")
private String tempSign;
/**
* 是否属于重大事项所涉合同(Y-是N-否)
*/
@ApiModelProperty("是否属于重大事项所涉合同(Y-是N-否)")
private String impSign;
/**
* 状态(未提交/审批中/已审批/已驳回)
*/
@ApiModelProperty("状态(未提交/审批中/已审批/已驳回)")
private String approCode;
/**
* 合同说明
*/
@ApiModelProperty("合同说明")
private String kDesc;
/**
* 备注
*/
@ApiModelProperty("备注")
private String note;
}

View File

@ -0,0 +1,68 @@
package com.xjrsoft.module.contract.dto;
import com.pictc.annotations.datalog.LogField;
import com.pictc.annotations.datalog.LogTable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @title: 合同要素
* @Author 管理员
* @Date: 2025-12-24
* @Version 1.0
*/
@Data
@LogTable(source="lng_contract_appro_rel",name="合同要素")
public class UpdateLngContractApproRelDto implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@LogField(name="主键",index=0)
@ApiModelProperty("主键")
private Long id;
/**
* 合同档案/要素表名(lng_contract/lng_contract_fact)
*/
@LogField(name="合同档案/要素表名",index=1)
@ApiModelProperty("合同档案/要素表名(lng_contract/lng_contract_fact)")
private String tableName;
/**
* 合同档案/要素主键
*/
@LogField(name="合同档案/要素主键",index=2)
@ApiModelProperty("合同档案/要素主键")
private Long tableId;
/**
* 合同-签报主键
*/
@LogField(name="合同-签报主键",index=3)
@ApiModelProperty("合同-签报主键")
private Long approId;
/**
* 显示顺序
*/
@LogField(name="显示顺序",index=4)
@ApiModelProperty("显示顺序")
private Short sort;
/**
* 租户id
*/
@LogField(name="租户id",index=5)
@ApiModelProperty("租户id")
private Long tenantId;
}

View File

@ -0,0 +1,138 @@
package com.xjrsoft.module.contract.dto;
import com.pictc.annotations.datalog.LogField;
import com.pictc.annotations.datalog.LogTable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @title: 合同要素
* @Author 管理员
* @Date: 2025-12-24
* @Version 1.0
*/
@Data
@LogTable(source="lng_contract_fact_cp",name="合同要素")
public class UpdateLngContractFactCpDto implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@LogField(name="主键",index=0)
@ApiModelProperty("主键")
private Long id;
/**
* 合同-合同要素主键
*/
@LogField(name="合同-合同要素主键",index=1)
@ApiModelProperty("合同-合同要素主键")
private Long kFactId;
/**
* 相对方类型(供应商/客户;不显示)
*/
@LogField(name="相对方类型",index=2)
@ApiModelProperty("相对方类型(供应商/客户;不显示)")
private String cpTableName;
/**
* 相对方编码
*/
@LogField(name="相对方编码",index=3)
@ApiModelProperty("相对方编码")
private String cpCode;
/**
* 相对方名称
*/
@LogField(name="相对方名称",index=4)
@ApiModelProperty("相对方名称")
private String cpName;
/**
* 相对方顺序
*/
@LogField(name="相对方顺序",index=5)
@ApiModelProperty("相对方顺序")
private Byte sort;
/**
* 对方银行编码
*/
@LogField(name="对方银行编码",index=6)
@ApiModelProperty("对方银行编码")
private String cpBankCode;
/**
* 对方银行名称
*/
@LogField(name="对方银行名称",index=7)
@ApiModelProperty("对方银行名称")
private String cpBankName;
/**
* 对方银行开户名
*/
@LogField(name="对方银行开户名",index=8)
@ApiModelProperty("对方银行开户名")
private String cpBankAccountName;
/**
* 对方银行账号
*/
@LogField(name="对方银行账号",index=9)
@ApiModelProperty("对方银行账号")
private String cpBankAccount;
/**
* 对方联系人姓名
*/
@LogField(name="对方联系人姓名",index=10)
@ApiModelProperty("对方联系人姓名")
private String contactName;
/**
* 对方联系人电话
*/
@LogField(name="对方联系人电话",index=11)
@ApiModelProperty("对方联系人电话")
private String contactTel;
/**
* 对方联系人邮箱
*/
@LogField(name="对方联系人邮箱",index=12)
@ApiModelProperty("对方联系人邮箱")
private String contactEmail;
/**
* 对方通讯地址
*/
@LogField(name="对方通讯地址",index=13)
@ApiModelProperty("对方通讯地址")
private String contactAddress;
/**
* 备注
*/
@LogField(name="备注",index=14)
@ApiModelProperty("备注")
private String note;
/**
* 租户id
*/
@LogField(name="租户id",index=15)
@ApiModelProperty("租户id")
private Long tenantId;
}

View File

@ -0,0 +1,261 @@
package com.xjrsoft.module.contract.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.pictc.annotations.datalog.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
/**
* @title: 合同要素
* @Author 管理员
* @Date: 2025-12-24
* @Version 1.0
*/
@Data
@LogTable(source="lng_contract_fact",name="合同要素")
public class UpdateLngContractFactDto implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@LogField(name="主键",index=0)
@ApiModelProperty("主键")
private Long id;
/**
* 合同主体ID(天然气公司/惠贸)
*/
@LogField(name="合同主体ID",index=1)
@ApiModelProperty("合同主体ID(天然气公司/惠贸)")
private Long comId;
/**
* 合同号
*/
@LogField(name="合同号",index=2)
@ApiModelProperty("合同号")
private String kNo;
/**
* 合同名称
*/
@LogField(name="合同名称",index=3)
@ApiModelProperty("合同名称")
private String kName;
/**
* 关联类别(M-主合同/U-合同变更/C-确认函/A-补充协议/F-框架协议/R-续签合同/I-同一事项关联合同;以下不要:无/原合同补充协议/原合同续签合同/同一事项关联合同)
*/
@LogField(name="关联类别",index=4)
@ApiModelProperty("关联类别(M-主合同/U-合同变更/C-确认函/A-补充协议/F-框架协议/R-续签合同/I-同一事项关联合同;以下不要:无/原合同补充协议/原合同续签合同/同一事项关联合同)")
private String relTypeCode;
/**
* 合同类别(日常采购/工程建设/人力资源/投资管理/金融保险/租赁/信息管理/咨询服务/综合服务/生产运营/天然气公司业务合同)
*/
@LogField(name="合同类别",index=5)
@ApiModelProperty("合同类别(日常采购/工程建设/人力资源/投资管理/金融保险/租赁/信息管理/咨询服务/综合服务/生产运营/天然气公司业务合同)")
private String kTypeCode1;
/**
* 二级类别(天然气购入/天然气销售/接收站加工/管道代输/槽车运输/船舶运输/其他;合同类别为天然气公司业务合同时,其他类别还有很多选项)
*/
@LogField(name="二级类别",index=6)
@ApiModelProperty("二级类别(天然气购入/天然气销售/接收站加工/管道代输/槽车运输/船舶运输/其他;合同类别为天然气公司业务合同时,其他类别还有很多选项)")
private String kTypeCode2;
/**
* 相对方数量
*/
@LogField(name="相对方数量",index=7)
@ApiModelProperty("相对方数量")
private Byte cpCount;
/**
* 合同期限类型编码(Y-有固定期限/N-无固定期限)
*/
@LogField(name="合同期限类型编码",index=8)
@ApiModelProperty("合同期限类型编码(Y-有固定期限/N-无固定期限)")
private String periodTypeCode;
/**
* 有效期开始(有固定期限时录入)
*/
@LogField(name="有效期开始",index=9)
@ApiModelProperty("有效期开始(有固定期限时录入)")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime dateFrom;
/**
* 有效期结束(有固定期限时录入)
*/
@LogField(name="有效期结束",index=10)
@ApiModelProperty("有效期结束(有固定期限时录入)")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime dateTo;
/**
* 币种编码
*/
@LogField(name="币种编码",index=11)
@ApiModelProperty("币种编码")
private String curCode;
/**
* 合同金额类型(Y-固定总价/N-非固定金额/U-无金额)
*/
@LogField(name="合同金额类型",index=12)
@ApiModelProperty("合同金额类型(Y-固定总价/N-非固定金额/U-无金额)")
private String amountTypeCode;
/**
* 合同金额(万元)(固定总价/非固定金额时必须录入)
*/
@LogField(name="合同金额(万元",index=13)
@ApiModelProperty("合同金额(万元)(固定总价/非固定金额时必须录入)")
private BigDecimal amount;
/**
* 合同金额大写(自动转换amount)
*/
@LogField(name="合同金额大写",index=14)
@ApiModelProperty("合同金额大写(自动转换amount)")
private String amountCn;
/**
* 合同金额说明
*/
@LogField(name="合同金额说明",index=15)
@ApiModelProperty("合同金额说明")
private String amountDesc;
/**
* 结算类别(收款合同/付款合同/无金额)
*/
@LogField(name="结算类别",index=16)
@ApiModelProperty("结算类别(收款合同/付款合同/无金额)")
private String settleTypeCode;
/**
* 是否招投标(Y-是/N-否/U-不适用)
*/
@LogField(name="是否招投标",index=17)
@ApiModelProperty("是否招投标(Y-是/N-否/U-不适用)")
private String bidSign;
/**
* 是否已获前置审批(Y-是/N-否/U-不适用)
*/
@LogField(name="是否已获前置审批",index=18)
@ApiModelProperty("是否已获前置审批(Y-是/N-否/U-不适用)")
private String preApproSign;
/**
* 先行履行(Y-是/N-否/U-不适用)
*/
@LogField(name="先行履行",index=19)
@ApiModelProperty("先行履行(Y-是/N-否/U-不适用)")
private String aheadSign;
/**
* 采用范本(Y-是/N-否/R-参考)
*/
@LogField(name="采用范本",index=20)
@ApiModelProperty("采用范本(Y-是/N-否/R-参考)")
private String tempSign;
/**
* 是否属于重大事项所涉合同(Y-是N-否)
*/
@LogField(name="是否属于重大事项所涉合同",index=21)
@ApiModelProperty("是否属于重大事项所涉合同(Y-是N-否)")
private String impSign;
/**
* 我方联系人ID
*/
@LogField(name="我方联系人ID",index=22)
@ApiModelProperty("我方联系人ID")
private Long empId;
/**
* 联系电话
*/
@LogField(name="联系电话",index=23)
@ApiModelProperty("联系电话")
private String tel;
/**
* 业务部门ID
*/
@LogField(name="业务部门ID",index=24)
@ApiModelProperty("业务部门ID")
private Long bDeptId;
/**
* 起草日期
*/
@LogField(name="起草日期",index=25)
@ApiModelProperty("起草日期")
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDateTime dateDraft;
/**
* 状态(未提交/审批中/已审批/已驳回)
*/
@LogField(name="状态",index=26)
@ApiModelProperty("状态(未提交/审批中/已审批/已驳回)")
private String approCode;
/**
* 合同说明
*/
@LogField(name="合同说明",index=27)
@ApiModelProperty("合同说明")
private String kDesc;
/**
* 备注
*/
@LogField(name="备注",index=28)
@ApiModelProperty("备注")
private String note;
/**
* 租户id
*/
@LogField(name="租户id",index=29)
@ApiModelProperty("租户id")
private Long tenantId;
/**
* lngContractFactCp
*/
@ApiModelProperty("lngContractFactCp子表")
@LogJoin(name = "lngContractFactCp子表",
columns = {
@LogJoinColumn(field = "kFactId",relatedField = "id", valueDirection = ValueDirectionType.RIGHT)
},
caseType = JoinCaseType.FULL, target = UpdateLngContractFactCpDto.class, type = JoinType.MANY)
private List<UpdateLngContractFactCpDto> lngContractFactCpList;
/**
* lngContractApproRel
*/
@ApiModelProperty("lngContractApproRel子表")
@LogJoin(name = "lngContractApproRel子表",
columns = {
@LogJoinColumn(field = "tableId",relatedField = "id", valueDirection = ValueDirectionType.RIGHT)
},
caseType = JoinCaseType.FULL, target = UpdateLngContractApproRelDto.class, type = JoinType.MANY)
private List<UpdateLngContractApproRelDto> lngContractApproRelList;
}

View File

@ -0,0 +1,104 @@
package com.xjrsoft.module.contract.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
/**
* @title: 表单出参
* @Author 管理员
* @Date: 2025-12-24
* @Version 1.0
*/
@Data
public class LngContractApproRelVo {
/**
* 主键
*/
@ApiModelProperty("主键")
private Long id;
/**
* 合同档案/要素表名(lng_contract/lng_contract_fact)
*/
@ApiModelProperty("合同档案/要素表名(lng_contract/lng_contract_fact)")
private String tableName;
/**
* 合同档案/要素主键
*/
@ApiModelProperty("合同档案/要素主键")
private Long tableId;
/**
* 合同-签报主键
*/
@ApiModelProperty("合同-签报主键")
private Long approId;
/**
* 显示顺序
*/
@ApiModelProperty("显示顺序")
private Short sort;
/**
* 创建人id
*/
@ApiModelProperty("创建人id")
private Long createUserId;
/**
* 创建时间
*/
@ApiModelProperty("创建时间")
private LocalDateTime createDate;
/**
* 修改人id
*/
@ApiModelProperty("修改人id")
private Long modifyUserId;
/**
* 修改时间
*/
@ApiModelProperty("修改时间")
private LocalDateTime modifyDate;
/**
* 租户id
*/
@ApiModelProperty("租户id")
private Long tenantId;
/**
* 部门id
*/
@ApiModelProperty("部门id")
private Long deptId;
/**
* 数据权限id
*/
@ApiModelProperty("数据权限id")
private Long ruleUserId;
}

View File

@ -0,0 +1,174 @@
package com.xjrsoft.module.contract.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
/**
* @title: 表单出参
* @Author 管理员
* @Date: 2025-12-24
* @Version 1.0
*/
@Data
public class LngContractFactCpVo {
/**
* 主键
*/
@ApiModelProperty("主键")
private Long id;
/**
* 合同-合同要素主键
*/
@ApiModelProperty("合同-合同要素主键")
private Long kFactId;
/**
* 相对方类型(供应商/客户;不显示)
*/
@ApiModelProperty("相对方类型(供应商/客户;不显示)")
private String cpTableName;
/**
* 相对方编码
*/
@ApiModelProperty("相对方编码")
private String cpCode;
/**
* 相对方名称
*/
@ApiModelProperty("相对方名称")
private String cpName;
/**
* 相对方顺序
*/
@ApiModelProperty("相对方顺序")
private Byte sort;
/**
* 对方银行编码
*/
@ApiModelProperty("对方银行编码")
private String cpBankCode;
/**
* 对方银行名称
*/
@ApiModelProperty("对方银行名称")
private String cpBankName;
/**
* 对方银行开户名
*/
@ApiModelProperty("对方银行开户名")
private String cpBankAccountName;
/**
* 对方银行账号
*/
@ApiModelProperty("对方银行账号")
private String cpBankAccount;
/**
* 对方联系人姓名
*/
@ApiModelProperty("对方联系人姓名")
private String contactName;
/**
* 对方联系人电话
*/
@ApiModelProperty("对方联系人电话")
private String contactTel;
/**
* 对方联系人邮箱
*/
@ApiModelProperty("对方联系人邮箱")
private String contactEmail;
/**
* 对方通讯地址
*/
@ApiModelProperty("对方通讯地址")
private String contactAddress;
/**
* 备注
*/
@ApiModelProperty("备注")
private String note;
/**
* 创建人id
*/
@ApiModelProperty("创建人id")
private Long createUserId;
/**
* 创建时间
*/
@ApiModelProperty("创建时间")
private LocalDateTime createDate;
/**
* 修改人id
*/
@ApiModelProperty("修改人id")
private Long modifyUserId;
/**
* 修改时间
*/
@ApiModelProperty("修改时间")
private LocalDateTime modifyDate;
/**
* 租户id
*/
@ApiModelProperty("租户id")
private Long tenantId;
/**
* 部门id
*/
@ApiModelProperty("部门id")
private Long deptId;
/**
* 数据权限id
*/
@ApiModelProperty("数据权限id")
private Long ruleUserId;
}

View File

@ -0,0 +1,146 @@
package com.xjrsoft.module.contract.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xjrsoft.common.annotation.Trans;
import com.xjrsoft.common.enums.TransType;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* @title: 分页列表出参
* @Author 管理员
* @Date: 2025-12-24
* @Version 1.0
*/
@Data
public class LngContractFactPageVo {
/**
* 主键
*/
@ApiModelProperty("主键")
private String id;
/**
* 合同主体ID(天然气公司/惠贸)
*/
@ApiModelProperty("合同主体ID(天然气公司/惠贸)")
private Long comId;
/**
* 合同号
*/
@ApiModelProperty("合同号")
private String kNo;
/**
* 合同名称
*/
@ApiModelProperty("合同名称")
private String kName;
/**
* 合同类别(日常采购/工程建设/人力资源/投资管理/金融保险/租赁/信息管理/咨询服务/综合服务/生产运营/天然气公司业务合同)
*/
@ApiModelProperty("合同类别(日常采购/工程建设/人力资源/投资管理/金融保险/租赁/信息管理/咨询服务/综合服务/生产运营/天然气公司业务合同)")
private String kTypeCode1;
/**
* 相对方数量
*/
@ApiModelProperty("相对方数量")
private Byte cpCount;
/**
* 合同期限类型编码(Y-有固定期限/N-无固定期限)
*/
@ApiModelProperty("合同期限类型编码(Y-有固定期限/N-无固定期限)")
private String periodTypeCode;
/**
* 有效期开始(有固定期限时录入)
*/
@ApiModelProperty("有效期开始(有固定期限时录入)")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime dateFrom;
/**
* 有效期结束(有固定期限时录入)
*/
@ApiModelProperty("有效期结束(有固定期限时录入)")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime dateTo;
/**
* 币种编码
*/
@ApiModelProperty("币种编码")
@Trans(type = TransType.API, id = "93d735dcb7364a0f8102188ec4d77ac7")
private String curCode;
/**
* 合同金额(万元)(固定总价/非固定金额时必须录入)
*/
@ApiModelProperty("合同金额(万元)(固定总价/非固定金额时必须录入)")
private BigDecimal amount;
/**
* 是否招投标(Y-是/N-否/U-不适用)
*/
@ApiModelProperty("是否招投标(Y-是/N-否/U-不适用)")
private String bidSign;
/**
* 是否已获前置审批(Y-是/N-否/U-不适用)
*/
@ApiModelProperty("是否已获前置审批(Y-是/N-否/U-不适用)")
private String preApproSign;
/**
* 先行履行(Y-是/N-否/U-不适用)
*/
@ApiModelProperty("先行履行(Y-是/N-否/U-不适用)")
private String aheadSign;
/**
* 采用范本(Y-是/N-否/R-参考)
*/
@ApiModelProperty("采用范本(Y-是/N-否/R-参考)")
private String tempSign;
/**
* 是否属于重大事项所涉合同(Y-是N-否)
*/
@ApiModelProperty("是否属于重大事项所涉合同(Y-是N-否)")
private String impSign;
/**
* 我方联系人ID
*/
@ApiModelProperty("我方联系人ID")
private Long empId;
/**
* 联系电话
*/
@ApiModelProperty("联系电话")
private String tel;
/**
* 业务部门ID
*/
@ApiModelProperty("业务部门ID")
private Long bDeptId;
/**
* 起草日期
*/
@ApiModelProperty("起草日期")
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDateTime dateDraft;
/**
* 状态(未提交/审批中/已审批/已驳回)
*/
@ApiModelProperty("状态(未提交/审批中/已审批/已驳回)")
private String approCode;
/**
* 合同说明
*/
@ApiModelProperty("合同说明")
private String kDesc;
/**
* 备注
*/
@ApiModelProperty("备注")
private String note;
/**
* 修改时间
*/
@ApiModelProperty("修改时间")
private LocalDateTime modifyDate;
}

View File

@ -0,0 +1,284 @@
package com.xjrsoft.module.contract.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
/**
* @title: 表单出参
* @Author 管理员
* @Date: 2025-12-24
* @Version 1.0
*/
@Data
public class LngContractFactVo {
/**
* 主键
*/
@ApiModelProperty("主键")
private Long id;
/**
* 合同主体ID(天然气公司/惠贸)
*/
@ApiModelProperty("合同主体ID(天然气公司/惠贸)")
private Long comId;
/**
* 合同号
*/
@ApiModelProperty("合同号")
private String kNo;
/**
* 合同名称
*/
@ApiModelProperty("合同名称")
private String kName;
/**
* 关联类别(M-主合同/U-合同变更/C-确认函/A-补充协议/F-框架协议/R-续签合同/I-同一事项关联合同;以下不要:无/原合同补充协议/原合同续签合同/同一事项关联合同)
*/
@ApiModelProperty("关联类别(M-主合同/U-合同变更/C-确认函/A-补充协议/F-框架协议/R-续签合同/I-同一事项关联合同;以下不要:无/原合同补充协议/原合同续签合同/同一事项关联合同)")
private String relTypeCode;
/**
* 合同类别(日常采购/工程建设/人力资源/投资管理/金融保险/租赁/信息管理/咨询服务/综合服务/生产运营/天然气公司业务合同)
*/
@ApiModelProperty("合同类别(日常采购/工程建设/人力资源/投资管理/金融保险/租赁/信息管理/咨询服务/综合服务/生产运营/天然气公司业务合同)")
private String kTypeCode1;
/**
* 二级类别(天然气购入/天然气销售/接收站加工/管道代输/槽车运输/船舶运输/其他;合同类别为天然气公司业务合同时,其他类别还有很多选项)
*/
@ApiModelProperty("二级类别(天然气购入/天然气销售/接收站加工/管道代输/槽车运输/船舶运输/其他;合同类别为天然气公司业务合同时,其他类别还有很多选项)")
private String kTypeCode2;
/**
* 相对方数量
*/
@ApiModelProperty("相对方数量")
private Byte cpCount;
/**
* 合同期限类型编码(Y-有固定期限/N-无固定期限)
*/
@ApiModelProperty("合同期限类型编码(Y-有固定期限/N-无固定期限)")
private String periodTypeCode;
/**
* 有效期开始(有固定期限时录入)
*/
@ApiModelProperty("有效期开始(有固定期限时录入)")
private LocalDateTime dateFrom;
/**
* 有效期结束(有固定期限时录入)
*/
@ApiModelProperty("有效期结束(有固定期限时录入)")
private LocalDateTime dateTo;
/**
* 币种编码
*/
@ApiModelProperty("币种编码")
private String curCode;
/**
* 合同金额类型(Y-固定总价/N-非固定金额/U-无金额)
*/
@ApiModelProperty("合同金额类型(Y-固定总价/N-非固定金额/U-无金额)")
private String amountTypeCode;
/**
* 合同金额(万元)(固定总价/非固定金额时必须录入)
*/
@ApiModelProperty("合同金额(万元)(固定总价/非固定金额时必须录入)")
private BigDecimal amount;
/**
* 合同金额大写(自动转换amount)
*/
@ApiModelProperty("合同金额大写(自动转换amount)")
private String amountCn;
/**
* 合同金额说明
*/
@ApiModelProperty("合同金额说明")
private String amountDesc;
/**
* 结算类别(收款合同/付款合同/无金额)
*/
@ApiModelProperty("结算类别(收款合同/付款合同/无金额)")
private String settleTypeCode;
/**
* 是否招投标(Y-是/N-否/U-不适用)
*/
@ApiModelProperty("是否招投标(Y-是/N-否/U-不适用)")
private String bidSign;
/**
* 是否已获前置审批(Y-是/N-否/U-不适用)
*/
@ApiModelProperty("是否已获前置审批(Y-是/N-否/U-不适用)")
private String preApproSign;
/**
* 先行履行(Y-是/N-否/U-不适用)
*/
@ApiModelProperty("先行履行(Y-是/N-否/U-不适用)")
private String aheadSign;
/**
* 采用范本(Y-是/N-否/R-参考)
*/
@ApiModelProperty("采用范本(Y-是/N-否/R-参考)")
private String tempSign;
/**
* 是否属于重大事项所涉合同(Y-是N-否)
*/
@ApiModelProperty("是否属于重大事项所涉合同(Y-是N-否)")
private String impSign;
/**
* 我方联系人ID
*/
@ApiModelProperty("我方联系人ID")
private Long empId;
/**
* 联系电话
*/
@ApiModelProperty("联系电话")
private String tel;
/**
* 业务部门ID
*/
@ApiModelProperty("业务部门ID")
private Long bDeptId;
/**
* 起草日期
*/
@ApiModelProperty("起草日期")
private LocalDateTime dateDraft;
/**
* 状态(未提交/审批中/已审批/已驳回)
*/
@ApiModelProperty("状态(未提交/审批中/已审批/已驳回)")
private String approCode;
/**
* 合同说明
*/
@ApiModelProperty("合同说明")
private String kDesc;
/**
* 备注
*/
@ApiModelProperty("备注")
private String note;
/**
* 创建人id
*/
@ApiModelProperty("创建人id")
private Long createUserId;
/**
* 创建时间
*/
@ApiModelProperty("创建时间")
private LocalDateTime createDate;
/**
* 修改人id
*/
@ApiModelProperty("修改人id")
private Long modifyUserId;
/**
* 修改时间
*/
@ApiModelProperty("修改时间")
private LocalDateTime modifyDate;
/**
* 租户id
*/
@ApiModelProperty("租户id")
private Long tenantId;
/**
* 部门id
*/
@ApiModelProperty("部门id")
private Long deptId;
/**
* 数据权限id
*/
@ApiModelProperty("数据权限id")
private Long ruleUserId;
/**
* lngContractFactCp
*/
@ApiModelProperty("lngContractFactCp子表")
private List<LngContractFactCpVo> lngContractFactCpList;
/**
* lngContractApproRel
*/
@ApiModelProperty("lngContractApproRel子表")
private List<LngContractApproRelVo> lngContractApproRelList;
}

View File

@ -34,14 +34,14 @@ public class UpdateLngApproDto implements Serializable {
/** /**
* 签报类型(DJ-定价方案/XB-询比价销售方案/XS-双边协商谈判销售方案/YY-应邀报价销售方案/JP-竞拍销售方案/SJ-商机) * 签报类型(DJ-定价方案/XB-询比价销售方案/XS-双边协商谈判销售方案/YY-应邀报价销售方案/JP-竞拍销售方案/SJ-商机)
*/ */
@LogField(name="签报类型(DJ-定价方案/XB-询比价销售方案/XS-双边协商谈判销售方案/YY-应邀报价销售方案/JP-竞拍销售方案/SJ-商机)",index=1) @LogField(name="签报类型",index=1)
@ApiModelProperty("签报类型(DJ-定价方案/XB-询比价销售方案/XS-双边协商谈判销售方案/YY-应邀报价销售方案/JP-竞拍销售方案/SJ-商机)") @ApiModelProperty("签报类型(DJ-定价方案/XB-询比价销售方案/XS-双边协商谈判销售方案/YY-应邀报价销售方案/JP-竞拍销售方案/SJ-商机)")
private String typeCode; private String typeCode;
/** /**
* 编号(自动生成) * 编号(自动生成)
*/ */
@LogField(name="编号(自动生成)",index=2) @LogField(name="编号",index=2)
@ApiModelProperty("编号(自动生成)") @ApiModelProperty("编号(自动生成)")
private String code; private String code;
@ -55,14 +55,14 @@ public class UpdateLngApproDto implements Serializable {
/** /**
* 密级(1-加密/9-普通) * 密级(1-加密/9-普通)
*/ */
@LogField(name="密级(1-加密/9-普通)",index=4) @LogField(name="密级",index=4)
@ApiModelProperty("密级(1-加密/9-普通)") @ApiModelProperty("密级(1-加密/9-普通)")
private String securityCode; private String securityCode;
/** /**
* 缓急(1-特急/2-紧急/9-普通) * 缓急(1-特急/2-紧急/9-普通)
*/ */
@LogField(name="缓急(1-特急/2-紧急/9-普通)",index=5) @LogField(name="缓急",index=5)
@ApiModelProperty("缓急(1-特急/2-紧急/9-普通)") @ApiModelProperty("缓急(1-特急/2-紧急/9-普通)")
private String urgencyCode; private String urgencyCode;
@ -83,28 +83,28 @@ public class UpdateLngApproDto implements Serializable {
/** /**
* 拟稿人(xjr_user.id) * 拟稿人(xjr_user.id)
*/ */
@LogField(name="拟稿人(xjr_user.id)",index=8) @LogField(name="拟稿人",index=8)
@ApiModelProperty("拟稿人(xjr_user.id)") @ApiModelProperty("拟稿人(xjr_user.id)")
private Long empId; private Long empId;
/** /**
* 业务部门(xjr_department.id) * 业务部门(xjr_department.id)
*/ */
@LogField(name="业务部门(xjr_department.id)",index=9) @LogField(name="业务部门",index=9)
@ApiModelProperty("业务部门(xjr_department.id)") @ApiModelProperty("业务部门(xjr_department.id)")
private Long bDeptId; private Long bDeptId;
/** /**
* 公司(xjr_department.id) * 公司(xjr_department.id)
*/ */
@LogField(name="公司(xjr_department.id)",index=10) @LogField(name="公司",index=10)
@ApiModelProperty("公司(xjr_department.id)") @ApiModelProperty("公司(xjr_department.id)")
private Long comId; private Long comId;
/** /**
* 审批状态(未提交/审批中/已审批/已驳回) * 审批状态(未提交/审批中/已审批/已驳回)
*/ */
@LogField(name="审批状态(未提交/审批中/已审批/已驳回)",index=11) @LogField(name="审批状态",index=11)
@ApiModelProperty("审批状态(未提交/审批中/已审批/已驳回)") @ApiModelProperty("审批状态(未提交/审批中/已审批/已驳回)")
private String approCode; private String approCode;

View File

@ -3,11 +3,9 @@ package com.xjrsoft.module.sales.dto;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.pictc.annotations.datalog.*; import com.pictc.annotations.datalog.*;
import com.xjrsoft.common.model.base.BaseModel; import com.xjrsoft.common.model.base.BaseModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
@ -34,7 +32,7 @@ public class UpdateLngCustomerGroupDto extends BaseModel {
/** /**
* 组编码(按类型自动编码) * 组编码(按类型自动编码)
*/ */
@LogField(name="组编码(按类型自动编码)",index=1) @LogField(name="组编码",index=1)
@ApiModelProperty("组编码(按类型自动编码)") @ApiModelProperty("组编码(按类型自动编码)")
private String grpCode; private String grpCode;
/** /**
@ -46,7 +44,7 @@ public class UpdateLngCustomerGroupDto extends BaseModel {
/** /**
* 类型(GD-挂单销售JP-竞拍销售JS-批量结算YX-营销优惠活动DX-客户定向销售) * 类型(GD-挂单销售JP-竞拍销售JS-批量结算YX-营销优惠活动DX-客户定向销售)
*/ */
@LogField(name="类型(GD-挂单销售JP-竞拍销售JS-批量结算YX-营销优惠活动DX-客户定向销售)",index=3) @LogField(name="类型",index=3)
@ApiModelProperty("类型(GD-挂单销售JP-竞拍销售JS-批量结算YX-营销优惠活动DX-客户定向销售)") @ApiModelProperty("类型(GD-挂单销售JP-竞拍销售JS-批量结算YX-营销优惠活动DX-客户定向销售)")
private String typeCode; private String typeCode;
/** /**

View File

@ -31,7 +31,7 @@ public class UpdateLngGradeSystemDto implements Serializable {
/** /**
* 编码(可用于排序、分类) * 编码(可用于排序、分类)
*/ */
@LogField(name="编码(可用于排序、分类)",index=1) @LogField(name="编码",index=1)
@ApiModelProperty("编码(可用于排序、分类)") @ApiModelProperty("编码(可用于排序、分类)")
private String gsCode; private String gsCode;
@ -45,21 +45,21 @@ public class UpdateLngGradeSystemDto implements Serializable {
/** /**
* 评价对象(供应商准入/供应商评级/客户评级/客户评价/承运商准入/承运商评级) * 评价对象(供应商准入/供应商评级/客户评级/客户评价/承运商准入/承运商评级)
*/ */
@LogField(name="评价对象(供应商准入/供应商评级/客户评级/客户评价/承运商准入/承运商评级)",index=3) @LogField(name="评价对象",index=3)
@ApiModelProperty("评价对象(供应商准入/供应商评级/客户评级/客户评价/承运商准入/承运商评级)") @ApiModelProperty("评价对象(供应商准入/供应商评级/客户评级/客户评价/承运商准入/承运商评级)")
private String typeCode; private String typeCode;
/** /**
* 有效标志(Y-有效N-无效) * 有效标志(Y-有效N-无效)
*/ */
@LogField(name="有效标志(Y-有效N-无效)",index=4) @LogField(name="有效标志",index=4)
@ApiModelProperty("有效标志(Y-有效N-无效)") @ApiModelProperty("有效标志(Y-有效N-无效)")
private String valid; private String valid;
/** /**
* 审批状态(未审批/审批中/已审批/已驳回) * 审批状态(未审批/审批中/已审批/已驳回)
*/ */
@LogField(name="审批状态(未审批/审批中/已审批/已驳回)",index=5) @LogField(name="审批状态",index=5)
@ApiModelProperty("审批状态(未审批/审批中/已审批/已驳回)") @ApiModelProperty("审批状态(未审批/审批中/已审批/已驳回)")
private String approCode; private String approCode;

View File

@ -1,11 +1,12 @@
package com.xjrsoft.module.sales.vo; package com.xjrsoft.module.sales.vo;
import com.xjrsoft.common.annotation.Trans;
import com.xjrsoft.common.enums.TransType;
import com.xjrsoft.module.system.vo.LngFileUploadVo;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.time.LocalTime;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
/** /**
@ -77,6 +78,7 @@ public class LngApproVo {
* 拟稿人(xjr_user.id) * 拟稿人(xjr_user.id)
*/ */
@ApiModelProperty("拟稿人(xjr_user.id)") @ApiModelProperty("拟稿人(xjr_user.id)")
@Trans(type = TransType.USER, transToFieldName = "empName")
private Long empId; private Long empId;
@ -84,6 +86,7 @@ public class LngApproVo {
* 业务部门(xjr_department.id) * 业务部门(xjr_department.id)
*/ */
@ApiModelProperty("业务部门(xjr_department.id)") @ApiModelProperty("业务部门(xjr_department.id)")
@Trans(type = TransType.DEPT, transToFieldName = "eDeptName")
private Long bDeptId; private Long bDeptId;
@ -91,6 +94,7 @@ public class LngApproVo {
* 公司(xjr_department.id) * 公司(xjr_department.id)
*/ */
@ApiModelProperty("公司(xjr_department.id)") @ApiModelProperty("公司(xjr_department.id)")
@Trans(type = TransType.DEPT, transToFieldName = "comName")
private Long comId; private Long comId;
@ -156,7 +160,11 @@ public class LngApproVo {
@ApiModelProperty("数据权限id") @ApiModelProperty("数据权限id")
private Long ruleUserId; private Long ruleUserId;
/**
* lngFileUpload
*/
@ApiModelProperty("lngFileUpload子表")
private List<LngFileUploadVo> lngFileUploadList;

View File

@ -48,7 +48,7 @@ public class LngGradeSystemItemVo {
* 评价部门编码 * 评价部门编码
*/ */
@ApiModelProperty("评价部门编码") @ApiModelProperty("评价部门编码")
@Trans(type = TransType.DEPT, transToFieldName = "eDeptName") @Trans(type = TransType.DEPT_BY_CODE, transToFieldName = "eDeptName")
private String eDeptCode; private String eDeptCode;

View File

@ -0,0 +1,124 @@
package com.xjrsoft.module.contract.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.xjrsoft.common.model.result.R;
import com.xjrsoft.common.page.ConventPage;
import com.xjrsoft.common.page.PageOutput;
import com.xjrsoft.common.utils.VoToColumnUtil;
import com.xjrsoft.module.contract.dto.LngContractFactPageDto;
import com.xjrsoft.module.contract.dto.UpdateLngContractFactDto;
import com.xjrsoft.module.contract.entity.LngContractFact;
import com.xjrsoft.module.contract.service.IContractFactService;
import com.xjrsoft.module.contract.vo.LngContractFactPageVo;
import com.xjrsoft.module.contract.vo.LngContractFactVo;
import com.xjrsoft.module.datalog.service.DatalogService;
import com.xjrsoft.module.datalog.vo.DataChangeLogVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
/**
* @title: 合同要素
* @Author 管理员
* @Date: 2025-12-24
* @Version 1.0
*/
@RestController
@RequestMapping("/contract" + "/contractFact")
@Api(value = "/contract" + "/contractFact",tags = "合同要素代码")
@AllArgsConstructor
public class ContractFactController {
private final IContractFactService contractFactService;
private final DatalogService dataService;
@GetMapping(value = "/page")
@ApiOperation(value="LngContractFact列表(分页)")
@SaCheckPermission("contractFact:list")
public R page(@Valid LngContractFactPageDto dto){
LambdaQueryWrapper<LngContractFact> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper
.like(StrUtil.isNotBlank(dto.getKNo()),LngContractFact::getKNo,dto.getKNo())
.like(StrUtil.isNotBlank(dto.getKName()),LngContractFact::getKName,dto.getKName())
.like(StrUtil.isNotBlank(dto.getKTypeCode1()),LngContractFact::getKTypeCode1,dto.getKTypeCode1())
.eq(ObjectUtil.isNotNull(dto.getComId()),LngContractFact::getComId,dto.getComId())
.between(ObjectUtil.isNotNull(dto.getDateDraftStart()) && ObjectUtil.isNotNull(dto.getDateDraftEnd()),LngContractFact::getDateDraft,dto.getDateDraftStart(),dto.getDateDraftEnd())
.like(StrUtil.isNotBlank(dto.getPeriodTypeCode()),LngContractFact::getPeriodTypeCode,dto.getPeriodTypeCode())
.between(ObjectUtil.isNotNull(dto.getDateFromStart()) && ObjectUtil.isNotNull(dto.getDateFromEnd()),LngContractFact::getDateFrom,dto.getDateFromStart(),dto.getDateFromEnd())
.between(ObjectUtil.isNotNull(dto.getDateToStart()) && ObjectUtil.isNotNull(dto.getDateToEnd()),LngContractFact::getDateTo,dto.getDateToStart(),dto.getDateToEnd())
.like(StrUtil.isNotBlank(dto.getCurCode()),LngContractFact::getCurCode,dto.getCurCode())
.eq(ObjectUtil.isNotNull(dto.getAmount()),LngContractFact::getAmount,dto.getAmount())
.eq(ObjectUtil.isNotNull(dto.getEmpId()),LngContractFact::getEmpId,dto.getEmpId())
.like(StrUtil.isNotBlank(dto.getTel()),LngContractFact::getTel,dto.getTel())
.eq(ObjectUtil.isNotNull(dto.getBDeptId()),LngContractFact::getBDeptId,dto.getBDeptId())
.like(StrUtil.isNotBlank(dto.getBidSign()),LngContractFact::getBidSign,dto.getBidSign())
.like(StrUtil.isNotBlank(dto.getPreApproSign()),LngContractFact::getPreApproSign,dto.getPreApproSign())
.like(StrUtil.isNotBlank(dto.getAheadSign()),LngContractFact::getAheadSign,dto.getAheadSign())
.like(StrUtil.isNotBlank(dto.getTempSign()),LngContractFact::getTempSign,dto.getTempSign())
.like(StrUtil.isNotBlank(dto.getImpSign()),LngContractFact::getImpSign,dto.getImpSign())
.like(StrUtil.isNotBlank(dto.getApproCode()),LngContractFact::getApproCode,dto.getApproCode())
.like(StrUtil.isNotBlank(dto.getKDesc()),LngContractFact::getKDesc,dto.getKDesc())
.like(StrUtil.isNotBlank(dto.getNote()),LngContractFact::getNote,dto.getNote())
.orderByDesc(LngContractFact::getId)
.select(LngContractFact.class,x -> VoToColumnUtil.fieldsToColumns(LngContractFactPageVo.class).contains(x.getProperty()));
IPage<LngContractFact> page = contractFactService.page(ConventPage.getPage(dto), queryWrapper);
PageOutput<LngContractFactPageVo> pageOutput = ConventPage.getPageOutput(page, LngContractFactPageVo.class);
return R.ok(pageOutput);
}
@GetMapping(value = "/info")
@ApiOperation(value="根据id查询LngContractFact信息")
@SaCheckPermission("contractFact:detail")
public R info(@RequestParam Long id){
LngContractFact lngContractFact = contractFactService.getByIdDeep(id);
if (lngContractFact == null) {
return R.error("找不到此数据!");
}
return R.ok(BeanUtil.toBean(lngContractFact, LngContractFactVo.class));
}
@GetMapping(value = "/datalog")
@ApiOperation(value="根据id查询LngContractFact数据详细日志")
@SaCheckPermission("contractFact:datalog")
public R datalog(@RequestParam Long id){
List<DataChangeLogVo> logs = dataService.findLogsByEntityId(UpdateLngContractFactDto.class,id);
return R.ok(logs);
}
@PostMapping
@ApiOperation(value = "新增LngContractFact")
@SaCheckPermission("contractFact:add")
public R add(@Valid @RequestBody UpdateLngContractFactDto dto){
UpdateLngContractFactDto res = dataService.insert(dto);
return R.ok(res.getId());
}
@PutMapping
@ApiOperation(value = "修改LngContractFact")
@SaCheckPermission("contractFact:edit")
public R update(@Valid @RequestBody UpdateLngContractFactDto dto){
return R.ok(dataService.updateById(dto));
}
@DeleteMapping
@ApiOperation(value = "删除")
@SaCheckPermission("contractFact:delete")
public R delete(@Valid @RequestBody List<Long> ids){
return R.ok(dataService.deleteByIds(UpdateLngContractFactDto.class, ids));
}
}

View File

@ -0,0 +1,109 @@
package com.xjrsoft.module.contract.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* @title: 合同要素
* @Author 管理员
* @Date: 2025-12-24
* @Version 1.0
*/
@Data
@TableName("lng_contract_appro_rel")
@ApiModel(value = "合同要素对象", description = "合同要素")
public class LngContractApproRel implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@ApiModelProperty("主键")
@TableId
private Long id;
/**
* 合同档案/要素表名(lng_contract/lng_contract_fact)
*/
@ApiModelProperty("合同档案/要素表名(lng_contract/lng_contract_fact)")
private String tableName;
/**
* 合同档案/要素主键
*/
@ApiModelProperty("合同档案/要素主键")
private Long tableId;
/**
* 合同-签报主键
*/
@ApiModelProperty("合同-签报主键")
private Long approId;
/**
* 显示顺序
*/
@ApiModelProperty("显示顺序")
private Short sort;
/**
* 创建人id
*/
@ApiModelProperty("创建人id")
@TableField(fill = FieldFill.INSERT)
private Long createUserId;
/**
* 创建时间
*/
@ApiModelProperty("创建时间")
@TableField(fill = FieldFill.INSERT)
private LocalDateTime createDate;
/**
* 修改人id
*/
@ApiModelProperty("修改人id")
@TableField(fill = FieldFill.UPDATE)
private Long modifyUserId;
/**
* 修改时间
*/
@ApiModelProperty("修改时间")
@TableField(fill = FieldFill.UPDATE)
private LocalDateTime modifyDate;
/**
* 租户id
*/
@ApiModelProperty("租户id")
private Long tenantId;
/**
* 部门id
*/
@ApiModelProperty("部门id")
@TableField(fill = FieldFill.INSERT)
private Long deptId;
/**
* 数据权限id
*/
@ApiModelProperty("数据权限id")
@TableField(fill = FieldFill.INSERT)
private Long ruleUserId;
}

View File

@ -0,0 +1,270 @@
package com.xjrsoft.module.contract.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.github.yulichang.annotation.EntityMapping;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
/**
* @title: 合同要素
* @Author 管理员
* @Date: 2025-12-24
* @Version 1.0
*/
@Data
@TableName("lng_contract_fact")
@ApiModel(value = "合同要素对象", description = "合同要素")
public class LngContractFact implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@ApiModelProperty("主键")
@TableId
private Long id;
/**
* 合同主体ID(天然气公司/惠贸)
*/
@ApiModelProperty("合同主体ID(天然气公司/惠贸)")
private Long comId;
/**
* 合同号
*/
@ApiModelProperty("合同号")
private String kNo;
/**
* 合同名称
*/
@ApiModelProperty("合同名称")
private String kName;
/**
* 关联类别(M-主合同/U-合同变更/C-确认函/A-补充协议/F-框架协议/R-续签合同/I-同一事项关联合同;以下不要:无/原合同补充协议/原合同续签合同/同一事项关联合同)
*/
@ApiModelProperty("关联类别(M-主合同/U-合同变更/C-确认函/A-补充协议/F-框架协议/R-续签合同/I-同一事项关联合同;以下不要:无/原合同补充协议/原合同续签合同/同一事项关联合同)")
private String relTypeCode;
/**
* 合同类别(日常采购/工程建设/人力资源/投资管理/金融保险/租赁/信息管理/咨询服务/综合服务/生产运营/天然气公司业务合同)
*/
@ApiModelProperty("合同类别(日常采购/工程建设/人力资源/投资管理/金融保险/租赁/信息管理/咨询服务/综合服务/生产运营/天然气公司业务合同)")
private String kTypeCode1;
/**
* 二级类别(天然气购入/天然气销售/接收站加工/管道代输/槽车运输/船舶运输/其他;合同类别为天然气公司业务合同时,其他类别还有很多选项)
*/
@ApiModelProperty("二级类别(天然气购入/天然气销售/接收站加工/管道代输/槽车运输/船舶运输/其他;合同类别为天然气公司业务合同时,其他类别还有很多选项)")
private String kTypeCode2;
/**
* 相对方数量
*/
@ApiModelProperty("相对方数量")
private Byte cpCount;
/**
* 合同期限类型编码(Y-有固定期限/N-无固定期限)
*/
@ApiModelProperty("合同期限类型编码(Y-有固定期限/N-无固定期限)")
private String periodTypeCode;
/**
* 有效期开始(有固定期限时录入)
*/
@ApiModelProperty("有效期开始(有固定期限时录入)")
private LocalDateTime dateFrom;
/**
* 有效期结束(有固定期限时录入)
*/
@ApiModelProperty("有效期结束(有固定期限时录入)")
private LocalDateTime dateTo;
/**
* 币种编码
*/
@ApiModelProperty("币种编码")
private String curCode;
/**
* 合同金额类型(Y-固定总价/N-非固定金额/U-无金额)
*/
@ApiModelProperty("合同金额类型(Y-固定总价/N-非固定金额/U-无金额)")
private String amountTypeCode;
/**
* 合同金额(万元)(固定总价/非固定金额时必须录入)
*/
@ApiModelProperty("合同金额(万元)(固定总价/非固定金额时必须录入)")
private BigDecimal amount;
/**
* 合同金额大写(自动转换amount)
*/
@ApiModelProperty("合同金额大写(自动转换amount)")
private String amountCn;
/**
* 合同金额说明
*/
@ApiModelProperty("合同金额说明")
private String amountDesc;
/**
* 结算类别(收款合同/付款合同/无金额)
*/
@ApiModelProperty("结算类别(收款合同/付款合同/无金额)")
private String settleTypeCode;
/**
* 是否招投标(Y-是/N-否/U-不适用)
*/
@ApiModelProperty("是否招投标(Y-是/N-否/U-不适用)")
private String bidSign;
/**
* 是否已获前置审批(Y-是/N-否/U-不适用)
*/
@ApiModelProperty("是否已获前置审批(Y-是/N-否/U-不适用)")
private String preApproSign;
/**
* 先行履行(Y-是/N-否/U-不适用)
*/
@ApiModelProperty("先行履行(Y-是/N-否/U-不适用)")
private String aheadSign;
/**
* 采用范本(Y-是/N-否/R-参考)
*/
@ApiModelProperty("采用范本(Y-是/N-否/R-参考)")
private String tempSign;
/**
* 是否属于重大事项所涉合同(Y-是N-否)
*/
@ApiModelProperty("是否属于重大事项所涉合同(Y-是N-否)")
private String impSign;
/**
* 我方联系人ID
*/
@ApiModelProperty("我方联系人ID")
private Long empId;
/**
* 联系电话
*/
@ApiModelProperty("联系电话")
private String tel;
/**
* 业务部门ID
*/
@ApiModelProperty("业务部门ID")
private Long bDeptId;
/**
* 起草日期
*/
@ApiModelProperty("起草日期")
private LocalDateTime dateDraft;
/**
* 状态(未提交/审批中/已审批/已驳回)
*/
@ApiModelProperty("状态(未提交/审批中/已审批/已驳回)")
private String approCode;
/**
* 合同说明
*/
@ApiModelProperty("合同说明")
private String kDesc;
/**
* 备注
*/
@ApiModelProperty("备注")
private String note;
/**
* 创建人id
*/
@ApiModelProperty("创建人id")
@TableField(fill = FieldFill.INSERT)
private Long createUserId;
/**
* 创建时间
*/
@ApiModelProperty("创建时间")
@TableField(fill = FieldFill.INSERT)
private LocalDateTime createDate;
/**
* 修改人id
*/
@ApiModelProperty("修改人id")
@TableField(fill = FieldFill.UPDATE)
private Long modifyUserId;
/**
* 修改时间
*/
@ApiModelProperty("修改时间")
@TableField(fill = FieldFill.UPDATE)
private LocalDateTime modifyDate;
/**
* 租户id
*/
@ApiModelProperty("租户id")
private Long tenantId;
/**
* 部门id
*/
@ApiModelProperty("部门id")
@TableField(fill = FieldFill.INSERT)
private Long deptId;
/**
* 数据权限id
*/
@ApiModelProperty("数据权限id")
@TableField(fill = FieldFill.INSERT)
private Long ruleUserId;
/**
* lngContractFactCp
*/
@ApiModelProperty("lngContractFactCp子表")
@TableField(exist = false)
@EntityMapping(thisField = "id", joinField = "kFactId")
private List<LngContractFactCp> lngContractFactCpList;
/**
* lngContractApproRel
*/
@ApiModelProperty("lngContractApproRel子表")
@TableField(exist = false)
@EntityMapping(thisField = "id", joinField = "tableId")
private List<LngContractApproRel> lngContractApproRelList;
}

View File

@ -0,0 +1,169 @@
package com.xjrsoft.module.contract.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* @title: 合同要素
* @Author 管理员
* @Date: 2025-12-24
* @Version 1.0
*/
@Data
@TableName("lng_contract_fact_cp")
@ApiModel(value = "合同要素对象", description = "合同要素")
public class LngContractFactCp implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@ApiModelProperty("主键")
@TableId
private Long id;
/**
* 合同-合同要素主键
*/
@ApiModelProperty("合同-合同要素主键")
private Long kFactId;
/**
* 相对方类型(供应商/客户;不显示)
*/
@ApiModelProperty("相对方类型(供应商/客户;不显示)")
private String cpTableName;
/**
* 相对方编码
*/
@ApiModelProperty("相对方编码")
private String cpCode;
/**
* 相对方名称
*/
@ApiModelProperty("相对方名称")
private String cpName;
/**
* 相对方顺序
*/
@ApiModelProperty("相对方顺序")
private Byte sort;
/**
* 对方银行编码
*/
@ApiModelProperty("对方银行编码")
private String cpBankCode;
/**
* 对方银行名称
*/
@ApiModelProperty("对方银行名称")
private String cpBankName;
/**
* 对方银行开户名
*/
@ApiModelProperty("对方银行开户名")
private String cpBankAccountName;
/**
* 对方银行账号
*/
@ApiModelProperty("对方银行账号")
private String cpBankAccount;
/**
* 对方联系人姓名
*/
@ApiModelProperty("对方联系人姓名")
private String contactName;
/**
* 对方联系人电话
*/
@ApiModelProperty("对方联系人电话")
private String contactTel;
/**
* 对方联系人邮箱
*/
@ApiModelProperty("对方联系人邮箱")
private String contactEmail;
/**
* 对方通讯地址
*/
@ApiModelProperty("对方通讯地址")
private String contactAddress;
/**
* 备注
*/
@ApiModelProperty("备注")
private String note;
/**
* 创建人id
*/
@ApiModelProperty("创建人id")
@TableField(fill = FieldFill.INSERT)
private Long createUserId;
/**
* 创建时间
*/
@ApiModelProperty("创建时间")
@TableField(fill = FieldFill.INSERT)
private LocalDateTime createDate;
/**
* 修改人id
*/
@ApiModelProperty("修改人id")
@TableField(fill = FieldFill.UPDATE)
private Long modifyUserId;
/**
* 修改时间
*/
@ApiModelProperty("修改时间")
@TableField(fill = FieldFill.UPDATE)
private LocalDateTime modifyDate;
/**
* 租户id
*/
@ApiModelProperty("租户id")
private Long tenantId;
/**
* 部门id
*/
@ApiModelProperty("部门id")
@TableField(fill = FieldFill.INSERT)
private Long deptId;
/**
* 数据权限id
*/
@ApiModelProperty("数据权限id")
@TableField(fill = FieldFill.INSERT)
private Long ruleUserId;
}

View File

@ -0,0 +1,16 @@
package com.xjrsoft.module.contract.mapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.xjrsoft.module.contract.entity.LngContractApproRel;
import org.apache.ibatis.annotations.Mapper;
/**
* @title: mapper
* @Author 管理员
* @Date: 2025-12-24
* @Version 1.0
*/
@Mapper
public interface LngContractApproRelMapper extends MPJBaseMapper<LngContractApproRel> {
}

View File

@ -0,0 +1,16 @@
package com.xjrsoft.module.contract.mapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.xjrsoft.module.contract.entity.LngContractFactCp;
import org.apache.ibatis.annotations.Mapper;
/**
* @title: mapper
* @Author 管理员
* @Date: 2025-12-24
* @Version 1.0
*/
@Mapper
public interface LngContractFactCpMapper extends MPJBaseMapper<LngContractFactCp> {
}

View File

@ -0,0 +1,16 @@
package com.xjrsoft.module.contract.mapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.xjrsoft.module.contract.entity.LngContractFact;
import org.apache.ibatis.annotations.Mapper;
/**
* @title: mapper
* @Author 管理员
* @Date: 2025-12-24
* @Version 1.0
*/
@Mapper
public interface LngContractFactMapper extends MPJBaseMapper<LngContractFact> {
}

View File

@ -0,0 +1,41 @@
package com.xjrsoft.module.contract.service;
import com.github.yulichang.base.MPJBaseService;
import com.github.yulichang.extension.mapping.base.MPJDeepService;
import com.github.yulichang.extension.mapping.base.MPJRelationService;
import com.xjrsoft.module.contract.entity.LngContractFact;
import java.util.List;
/**
* @title: service
* @Author 管理员
* @Date: 2025-12-24
* @Version 1.0
*/
public interface IContractFactService extends MPJBaseService<LngContractFact>, MPJDeepService<LngContractFact>, MPJRelationService<LngContractFact> {
/**
* 新增
*
* @param lngContractFact
* @return
*/
Boolean add(LngContractFact lngContractFact);
/**
* 更新
*
* @param lngContractFact
* @return
*/
Boolean update(LngContractFact lngContractFact);
/**
* 删除
*
* @param ids
* @return
*/
Boolean delete(List<Long> ids);
}

View File

@ -0,0 +1,125 @@
package com.xjrsoft.module.contract.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.xjrsoft.module.contract.entity.LngContractApproRel;
import com.xjrsoft.module.contract.entity.LngContractFact;
import com.xjrsoft.module.contract.entity.LngContractFactCp;
import com.xjrsoft.module.contract.mapper.LngContractApproRelMapper;
import com.xjrsoft.module.contract.mapper.LngContractFactCpMapper;
import com.xjrsoft.module.contract.mapper.LngContractFactMapper;
import com.xjrsoft.module.contract.service.IContractFactService;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* @title: service
* @Author 管理员
* @Date: 2025-12-24
* @Version 1.0
*/
@Service
@AllArgsConstructor
public class ContractFactServiceImpl extends MPJBaseServiceImpl<LngContractFactMapper, LngContractFact> implements IContractFactService {
private final LngContractFactMapper contractFactLngContractFactMapper;
private final LngContractFactCpMapper contractFactLngContractFactCpMapper;
private final LngContractApproRelMapper contractFactLngContractApproRelMapper;
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean add(LngContractFact lngContractFact) {
contractFactLngContractFactMapper.insert(lngContractFact);
for (LngContractFactCp lngContractFactCp : lngContractFact.getLngContractFactCpList()) {
lngContractFactCp.setKFactId(lngContractFact.getId());
contractFactLngContractFactCpMapper.insert(lngContractFactCp);
}
for (LngContractApproRel lngContractApproRel : lngContractFact.getLngContractApproRelList()) {
lngContractApproRel.setTableId(lngContractFact.getId());
contractFactLngContractApproRelMapper.insert(lngContractApproRel);
}
return true;
}
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean update(LngContractFact lngContractFact) {
contractFactLngContractFactMapper.updateById(lngContractFact);
//********************************* LngContractFactCp 增删改 开始 *******************************************/
{
// 查出所有子级的id
List<LngContractFactCp> lngContractFactCpList = contractFactLngContractFactCpMapper.selectList(Wrappers.lambdaQuery(LngContractFactCp.class).eq(LngContractFactCp::getKFactId, lngContractFact.getId()).select(LngContractFactCp::getId));
List<Long> lngContractFactCpIds = lngContractFactCpList.stream().map(LngContractFactCp::getId).collect(Collectors.toList());
//原有子表单 没有被删除的主键
List<Long> lngContractFactCpOldIds = lngContractFact.getLngContractFactCpList().stream().map(LngContractFactCp::getId).filter(Objects::nonNull).collect(Collectors.toList());
//找到需要删除的id
List<Long> lngContractFactCpRemoveIds = lngContractFactCpIds.stream().filter(item -> !lngContractFactCpOldIds.contains(item)).collect(Collectors.toList());
for (LngContractFactCp lngContractFactCp : lngContractFact.getLngContractFactCpList()) {
//如果不等于空则修改
if (lngContractFactCp.getId() != null) {
contractFactLngContractFactCpMapper.updateById(lngContractFactCp);
}
//如果等于空 则新增
else {
//已经不存在的id 删除
lngContractFactCp.setKFactId(lngContractFact.getId());
contractFactLngContractFactCpMapper.insert(lngContractFactCp);
}
}
//已经不存在的id 删除
if(lngContractFactCpRemoveIds.size() > 0){
contractFactLngContractFactCpMapper.deleteBatchIds(lngContractFactCpRemoveIds);
}
}
//********************************* LngContractFactCp 增删改 结束 *******************************************/
//********************************* LngContractApproRel 增删改 开始 *******************************************/
{
// 查出所有子级的id
List<LngContractApproRel> lngContractApproRelList = contractFactLngContractApproRelMapper.selectList(Wrappers.lambdaQuery(LngContractApproRel.class).eq(LngContractApproRel::getTableId, lngContractFact.getId()).select(LngContractApproRel::getId));
List<Long> lngContractApproRelIds = lngContractApproRelList.stream().map(LngContractApproRel::getId).collect(Collectors.toList());
//原有子表单 没有被删除的主键
List<Long> lngContractApproRelOldIds = lngContractFact.getLngContractApproRelList().stream().map(LngContractApproRel::getId).filter(Objects::nonNull).collect(Collectors.toList());
//找到需要删除的id
List<Long> lngContractApproRelRemoveIds = lngContractApproRelIds.stream().filter(item -> !lngContractApproRelOldIds.contains(item)).collect(Collectors.toList());
for (LngContractApproRel lngContractApproRel : lngContractFact.getLngContractApproRelList()) {
//如果不等于空则修改
if (lngContractApproRel.getId() != null) {
contractFactLngContractApproRelMapper.updateById(lngContractApproRel);
}
//如果等于空 则新增
else {
//已经不存在的id 删除
lngContractApproRel.setTableId(lngContractFact.getId());
contractFactLngContractApproRelMapper.insert(lngContractApproRel);
}
}
//已经不存在的id 删除
if(lngContractApproRelRemoveIds.size() > 0){
contractFactLngContractApproRelMapper.deleteBatchIds(lngContractApproRelRemoveIds);
}
}
//********************************* LngContractApproRel 增删改 结束 *******************************************/
return true;
}
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean delete(List<Long> ids) {
contractFactLngContractFactMapper.deleteBatchIds(ids);
contractFactLngContractFactCpMapper.delete(Wrappers.lambdaQuery(LngContractFactCp.class).in(LngContractFactCp::getKFactId, ids));
contractFactLngContractApproRelMapper.delete(Wrappers.lambdaQuery(LngContractApproRel.class).in(LngContractApproRel::getTableId, ids));
return true;
}
}

View File

@ -1,11 +1,19 @@
package com.xjrsoft.module.sales.controller; package com.xjrsoft.module.sales.controller;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.google.api.client.util.Lists;
import com.pictc.datalog.DataOperationContent;
import com.pictc.datalog.DataOperationListener;
import com.pictc.enums.BusinessCode;
import com.pictc.enums.ExceptionCommonCode;
import com.pictc.jdbc.JdbcTools;
import com.pictc.jdbc.model.JdbcParam;
import com.pictc.utils.StringUtils;
import com.xjrsoft.common.exception.BusinessException;
import com.xjrsoft.common.model.result.R; import com.xjrsoft.common.model.result.R;
import com.xjrsoft.common.page.ConventPage; import com.xjrsoft.common.page.ConventPage;
import com.xjrsoft.common.page.PageOutput; import com.xjrsoft.common.page.PageOutput;
@ -17,7 +25,6 @@ import com.xjrsoft.module.sales.dto.UpdateLngApproDto;
import com.xjrsoft.module.sales.entity.LngAppro; import com.xjrsoft.module.sales.entity.LngAppro;
import com.xjrsoft.module.sales.service.IApproService; import com.xjrsoft.module.sales.service.IApproService;
import com.xjrsoft.module.sales.vo.LngApproPageVo; import com.xjrsoft.module.sales.vo.LngApproPageVo;
import com.xjrsoft.module.sales.vo.LngApproVo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
@ -69,11 +76,7 @@ public class ApproController {
@ApiOperation(value="根据id查询LngAppro信息") @ApiOperation(value="根据id查询LngAppro信息")
@SaCheckPermission("appro:detail") @SaCheckPermission("appro:detail")
public R info(@RequestParam Long id){ public R info(@RequestParam Long id){
LngAppro lngAppro = approService.getById(id); return R.ok(approService.getInfoById(id));
if (lngAppro == null) {
return R.error("找不到此数据!");
}
return R.ok(BeanUtil.toBean(lngAppro, LngApproVo.class));
} }
@GetMapping(value = "/datalog") @GetMapping(value = "/datalog")
@ -89,23 +92,63 @@ public class ApproController {
@ApiOperation(value = "新增LngAppro") @ApiOperation(value = "新增LngAppro")
@SaCheckPermission("appro:add") @SaCheckPermission("appro:add")
public R add(@Valid @RequestBody UpdateLngApproDto dto){ public R add(@Valid @RequestBody UpdateLngApproDto dto){
UpdateLngApproDto res = dataService.insert(dto); dto.setCode(approService.getCode(dto.getDateAppro()));
return R.ok(res.getId()); UpdateLngApproDto res = dataService.insert(dto, new DataOperationListener<UpdateLngApproDto>() {
@Override
public UpdateLngApproDto before(DataOperationContent<UpdateLngApproDto> content) {
return null;
}
@Override
public UpdateLngApproDto after(DataOperationContent<UpdateLngApproDto> content) {
return null;
}
});
return R.ok(res);
} }
@PutMapping @PutMapping
@ApiOperation(value = "修改LngAppro") @ApiOperation(value = "修改LngAppro")
@SaCheckPermission("appro:edit") @SaCheckPermission("appro:edit")
public R update(@Valid @RequestBody UpdateLngApproDto dto){ public R update(@Valid @RequestBody UpdateLngApproDto dto){
return R.ok(dataService.updateById(dto)); return R.ok(dataService.updateById(dto, new DataOperationListener<UpdateLngApproDto>() {
@Override
public UpdateLngApproDto before(DataOperationContent<UpdateLngApproDto> content) {
return null;
}
@Override
public UpdateLngApproDto after(DataOperationContent<UpdateLngApproDto> content) {
return null;
}
}));
} }
@DeleteMapping @DeleteMapping
@ApiOperation(value = "删除") @ApiOperation(value = "删除")
@SaCheckPermission("appro:delete") @SaCheckPermission("appro:delete")
public R delete(@Valid @RequestBody List<Long> ids){ public R delete(@Valid @RequestBody List<Long> ids){
return R.ok(dataService.deleteByIds(UpdateLngApproDto.class, ids)); return R.ok(dataService.deleteByIds(UpdateLngApproDto.class, ids, new DataOperationListener<UpdateLngApproDto>() {
@Override
public UpdateLngApproDto before(DataOperationContent<UpdateLngApproDto> content) {
String sql = StringUtils.format("{? = call pc_{0}.f_before_delete(?)}", content.getTableName());
List<JdbcParam> params = Lists.newArrayList();
JdbcParam outParam = JdbcParam.ofString(null).setOut(true);
params.add(outParam);
params.add(JdbcParam.ofLong(content.getIdValue()));
JdbcTools.call(sql,params);
String error = outParam.getStringValue();
if (StringUtils.isNotEmpty(error)) {
throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DB_FUNCTION_DELETE_EXEC_ERROR, error));
}
return content.getObj();
}
@Override
public UpdateLngApproDto after(DataOperationContent<UpdateLngApproDto> content) {
return null;
}
}));
} }

View File

@ -2,6 +2,9 @@ package com.xjrsoft.module.sales.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.xjrsoft.module.sales.entity.LngAppro; import com.xjrsoft.module.sales.entity.LngAppro;
import com.xjrsoft.module.sales.vo.LngApproVo;
import java.time.LocalDateTime;
/** /**
* @title: service * @title: service
@ -11,4 +14,8 @@ import com.xjrsoft.module.sales.entity.LngAppro;
*/ */
public interface IApproService extends IService<LngAppro> { public interface IApproService extends IService<LngAppro> {
LngApproVo getInfoById(Long id);
String getCode(LocalDateTime dateAppro);
} }

View File

@ -1,12 +1,24 @@
package com.xjrsoft.module.sales.service.impl; package com.xjrsoft.module.sales.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.pictc.enums.BusinessCode;
import com.xjrsoft.common.exception.BusinessException;
import com.xjrsoft.module.sales.entity.LngAppro; import com.xjrsoft.module.sales.entity.LngAppro;
import com.xjrsoft.module.sales.mapper.LngApproMapper; import com.xjrsoft.module.sales.mapper.LngApproMapper;
import com.xjrsoft.module.sales.service.IApproService; import com.xjrsoft.module.sales.service.IApproService;
import com.xjrsoft.module.sales.vo.LngApproVo;
import com.xjrsoft.module.system.client.IFileClient;
import com.xjrsoft.module.system.vo.LngFileUploadVo;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.List;
import java.util.Objects;
/** /**
* @title: service * @title: service
* @Author 管理员 * @Author 管理员
@ -16,4 +28,35 @@ import org.springframework.stereotype.Service;
@Service @Service
@AllArgsConstructor @AllArgsConstructor
public class ApproServiceImpl extends ServiceImpl<LngApproMapper, LngAppro> implements IApproService { public class ApproServiceImpl extends ServiceImpl<LngApproMapper, LngAppro> implements IApproService {
private final IFileClient fileClient;
@Override
public LngApproVo getInfoById(Long id) {
LngAppro lngAppro = this.getById(id);
if(lngAppro == null) {
new BusinessException(BusinessCode.of(10500,"找不到此数据"));
}
LngApproVo vo = BeanUtil.toBean(lngAppro, LngApproVo.class);
List<LngFileUploadVo> fileList = fileClient.getTableFiles("lng_appro", "lngFileUploadList", vo.getId());
vo.setLngFileUploadList(fileList);
return vo;
}
@Override
public String getCode(LocalDateTime dateAppro) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy");
String year = dateAppro.format(formatter) + "-";
LngAppro lngAppro = this.baseMapper.selectOne(new LambdaQueryWrapper<LngAppro>()
.like(LngAppro::getCode, year)
.orderByDesc(LngAppro::getCode)
.last("LIMIT 1"));
if (Objects.isNull(lngAppro)) {
return year + String.format("%04d", 1);
} else {
Integer codeNum = Integer.valueOf(lngAppro.getCode().substring(5));
return year + String.format("%04d", codeNum + 1);
}
}
} }