diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/pom.xml b/itc-pcitc-mdm/itc-pcitc-mdm-api/pom.xml
index 2183062..491a81e 100644
--- a/itc-pcitc-mdm/itc-pcitc-mdm-api/pom.xml
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/pom.xml
@@ -25,6 +25,11 @@
itc-pcitc-dependencies-api
${revision}
+
+ com.geg
+ itc-ms-common-api
+ 2.0.4
+
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/contract/dto/AddLngContractSalesPngPointPurDto.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/contract/dto/AddLngContractSalesPngPointPurDto.java
new file mode 100644
index 0000000..d8acac0
--- /dev/null
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/contract/dto/AddLngContractSalesPngPointPurDto.java
@@ -0,0 +1,98 @@
+package com.xjrsoft.module.contract.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+import java.io.Serializable;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+
+
+
+
+
+/**
+* @title: 采运销关联
+* @Author 管理员
+* @Date: 2026-04-02
+* @Version 1.0
+*/
+@Data
+public class AddLngContractSalesPngPointPurDto extends com.xjrsoft.common.model.base.BaseModel {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 合同-档案主键(管道气销售合同lng_contract.id)
+ */
+ @ApiModelProperty("合同-档案主键(管道气销售合同lng_contract.id)")
+ private Long ksId;
+ /**
+ * 合同-国内销售-管道气-交割点主键(lng_contract_sales_png_point.id)
+ */
+ @ApiModelProperty("合同-国内销售-管道气-交割点主键(lng_contract_sales_png_point.id)")
+ private Long ksppId;
+ /**
+ * 交割点编码(从合同-国内销售-管道气-交割点表带过来)
+ */
+ @ApiModelProperty("交割点编码(从合同-国内销售-管道气-交割点表带过来)")
+ private String pointDelyCode;
+ /**
+ * 自主托运(Y-是,N-否;从合同-国内销售-管道气-交割点表带过来;可编辑)
+ */
+ @ApiModelProperty("自主托运(Y-是,N-否;从合同-国内销售-管道气-交割点表带过来;可编辑)")
+ private String transSign;
+ /**
+ * 合同-档案主键(管道气采购合同;自有资源为空)
+ */
+ @ApiModelProperty("合同-档案主键(管道气采购合同;自有资源为空)")
+ private Long kpId;
+ /**
+ * 合同-国内采购-管道气-上载点主键
+ */
+ @ApiModelProperty("合同-国内采购-管道气-上载点主键")
+ private Long kpppId;
+ /**
+ * 供应商编码
+ */
+ @ApiModelProperty("供应商编码")
+ private String suCode;
+ /**
+ * 上载点编码
+ */
+ @ApiModelProperty("上载点编码")
+ private String pointUpCode;
+ /**
+ * 有效期开始
+ */
+ @ApiModelProperty("有效期开始")
+ private LocalDateTime dateFrom;
+ /**
+ * 有效期结束
+ */
+ @ApiModelProperty("有效期结束")
+ private LocalDateTime dateTo;
+ /**
+ * 顺序
+ */
+ @ApiModelProperty("顺序")
+ private Short sort;
+ /**
+ * 备注
+ */
+ @ApiModelProperty("备注")
+ private String note;
+ /**
+ * 租户id
+ */
+ @ApiModelProperty("租户id")
+ private Long tenantId;
+
+}
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/contract/dto/AddLngContractSalesPngPointTransDto.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/contract/dto/AddLngContractSalesPngPointTransDto.java
new file mode 100644
index 0000000..6d7db5a
--- /dev/null
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/contract/dto/AddLngContractSalesPngPointTransDto.java
@@ -0,0 +1,113 @@
+package com.xjrsoft.module.contract.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+import java.io.Serializable;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+
+
+
+
+
+/**
+* @title: 采运销关联
+* @Author 管理员
+* @Date: 2026-04-02
+* @Version 1.0
+*/
+@Data
+public class AddLngContractSalesPngPointTransDto extends com.xjrsoft.common.model.base.BaseModel {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 合同-档案主键(lng_contract.id)
+ */
+ @ApiModelProperty("合同-档案主键(lng_contract.id)")
+ private Long ksId;
+ /**
+ * 合同-国内销售管道气-交割点主键(lng_contract_sales_png_point.id)
+ */
+ @ApiModelProperty("合同-国内销售管道气-交割点主键(lng_contract_sales_png_point.id)")
+ private Long ksppId;
+ /**
+ * 合同-国内销售管道气-交割点-上载主键(lng_contract_sales_png_point_pur.id)
+ */
+ @ApiModelProperty("合同-国内销售管道气-交割点-上载主键(lng_contract_sales_png_point_pur.id)")
+ private Long kspppId;
+ /**
+ * 交割点编码(lng_contract_sales_png_point_pur.point_dely_code)
+ */
+ @ApiModelProperty("交割点编码(lng_contract_sales_png_point_pur.point_dely_code)")
+ private String pointDelyCode;
+ /**
+ * 资源上载点编码(lng_contract_sales_png_point_pur.point_up_code)
+ */
+ @ApiModelProperty("资源上载点编码(lng_contract_sales_png_point_pur.point_up_code)")
+ private String pointUpCode;
+ /**
+ * 自主托运(Y-是,N-否;缺省Y;隐藏;lng_contract_sales_png_point_pur.trans_sign)
+ */
+ @ApiModelProperty("自主托运(Y-是,N-否;缺省Y;隐藏;lng_contract_sales_png_point_pur.trans_sign)")
+ private String transSign;
+ /**
+ * 合同-档案主键(lng_contract.id)
+ */
+ @ApiModelProperty("合同-档案主键(lng_contract.id)")
+ private Long ktId;
+ /**
+ * 合同-管输-上下载点主键(lng_contract_trans_png.id)
+ */
+ @ApiModelProperty("合同-管输-上下载点主键(lng_contract_trans_png.id)")
+ private Long ktpId;
+ /**
+ * 托运商编码(从管输合同带出来;只读)
+ */
+ @ApiModelProperty("托运商编码(从管输合同带出来;只读)")
+ private String suCode;
+ /**
+ * 管输上载点编码(从管输合同带出来;只读)
+ */
+ @ApiModelProperty("管输上载点编码(从管输合同带出来;只读)")
+ private String pointUpTransCode;
+ /**
+ * 管输交割点编码(从管输合同带出来;只读)
+ */
+ @ApiModelProperty("管输交割点编码(从管输合同带出来;只读)")
+ private String pointDelyTransCode;
+ /**
+ * 有效期开始(从管输合同带出来;可编辑)
+ */
+ @ApiModelProperty("有效期开始(从管输合同带出来;可编辑)")
+ private LocalDateTime dateFrom;
+ /**
+ * 有效期结束(从管输合同带出来;可编辑)
+ */
+ @ApiModelProperty("有效期结束(从管输合同带出来;可编辑)")
+ private LocalDateTime dateTo;
+ /**
+ * 顺序
+ */
+ @ApiModelProperty("顺序")
+ private Short sort;
+ /**
+ * 备注
+ */
+ @ApiModelProperty("备注")
+ private String note;
+ /**
+ * 租户id
+ */
+ @ApiModelProperty("租户id")
+ private Long tenantId;
+
+}
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/contract/dto/LngContractSalesPngPointPageDto.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/contract/dto/LngContractSalesPngPointPageDto.java
new file mode 100644
index 0000000..258a844
--- /dev/null
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/contract/dto/LngContractSalesPngPointPageDto.java
@@ -0,0 +1,30 @@
+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.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+
+
+/**
+* @title: 分页查询入参
+* @Author 管理员
+* @Date: 2026-04-02
+* @Version 1.0
+*/
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class LngContractSalesPngPointPageDto extends PageInput {
+
+ /**
+ * 主键
+ */
+ @ApiModelProperty("主键")
+ private Long id;
+
+}
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/contract/dto/UpdateLngContractSalesPngPointDto.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/contract/dto/UpdateLngContractSalesPngPointDto.java
index 9343abd..ebb4a4c 100644
--- a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/contract/dto/UpdateLngContractSalesPngPointDto.java
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/contract/dto/UpdateLngContractSalesPngPointDto.java
@@ -1,13 +1,20 @@
package com.xjrsoft.module.contract.dto;
+import java.io.Serializable;
+import java.util.List;
+
+import com.pictc.annotations.datalog.JoinCaseType;
+import com.pictc.annotations.datalog.JoinType;
import com.pictc.annotations.datalog.LogField;
+import com.pictc.annotations.datalog.LogJoin;
+import com.pictc.annotations.datalog.LogJoinColumn;
import com.pictc.annotations.datalog.LogTable;
+import com.pictc.annotations.datalog.ValueDirectionType;
import com.xjrsoft.common.model.base.BaseModel;
+
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
-import java.io.Serializable;
-
@@ -66,4 +73,16 @@ public class UpdateLngContractSalesPngPointDto extends BaseModel implements Seri
private String note;
private Boolean hasDel = false;
+
+ /**
+ * lngContractSalesPngPointPur
+ */
+ @ApiModelProperty("lngContractSalesPngPointPur子表")
+ @LogJoin(name = "lngContractSalesPngPointPur子表",
+ columns = {
+ @LogJoinColumn(field = "ksppId",relatedField = "id", valueDirection = ValueDirectionType.RIGHT)
+ },
+ caseType = JoinCaseType.FULL, target = UpdateLngContractSalesPngPointPurDto.class, type = JoinType.MANY)
+ private List lngContractSalesPngPointPurList;
+
}
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/contract/dto/UpdateLngContractSalesPngPointPurDto.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/contract/dto/UpdateLngContractSalesPngPointPurDto.java
new file mode 100644
index 0000000..bb05457
--- /dev/null
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/contract/dto/UpdateLngContractSalesPngPointPurDto.java
@@ -0,0 +1,144 @@
+package com.xjrsoft.module.contract.dto;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.List;
+
+import com.pictc.annotations.datalog.JoinCaseType;
+import com.pictc.annotations.datalog.JoinType;
+import com.pictc.annotations.datalog.LogField;
+import com.pictc.annotations.datalog.LogJoin;
+import com.pictc.annotations.datalog.LogJoinColumn;
+import com.pictc.annotations.datalog.LogTable;
+import com.pictc.annotations.datalog.ValueDirectionType;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+
+
+
+/**
+* @title: 采运销关联
+* @Author 管理员
+* @Date: 2026-04-02
+* @Version 1.0
+*/
+@Data
+@LogTable(source="lng_contract_sales_png_point_pur",name="采运销关联")
+public class UpdateLngContractSalesPngPointPurDto implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @LogField(name="主键",index=0)
+ @ApiModelProperty("主键")
+ private Long id;
+
+ /**
+ * 合同-档案主键(管道气销售合同lng_contract.id)
+ */
+ @LogField(name="合同-档案主键(管道气销售合同lng_contract.id)",index=1)
+ @ApiModelProperty("合同-档案主键(管道气销售合同lng_contract.id)")
+ private Long ksId;
+
+ /**
+ * 合同-国内销售-管道气-交割点主键(lng_contract_sales_png_point.id)
+ */
+ @LogField(name="合同-国内销售-管道气-交割点主键(lng_contract_sales_png_point.id)",index=2)
+ @ApiModelProperty("合同-国内销售-管道气-交割点主键(lng_contract_sales_png_point.id)")
+ private Long ksppId;
+
+ /**
+ * 交割点编码(从合同-国内销售-管道气-交割点表带过来)
+ */
+ @LogField(name="交割点编码(从合同-国内销售-管道气-交割点表带过来)",index=3)
+ @ApiModelProperty("交割点编码(从合同-国内销售-管道气-交割点表带过来)")
+ private String pointDelyCode;
+
+ /**
+ * 自主托运(Y-是,N-否;从合同-国内销售-管道气-交割点表带过来;可编辑)
+ */
+ @LogField(name="自主托运(Y-是,N-否;从合同-国内销售-管道气-交割点表带过来;可编辑)",index=4)
+ @ApiModelProperty("自主托运(Y-是,N-否;从合同-国内销售-管道气-交割点表带过来;可编辑)")
+ private String transSign;
+
+ /**
+ * 合同-档案主键(管道气采购合同;自有资源为空)
+ */
+ @LogField(name="合同-档案主键(管道气采购合同;自有资源为空)",index=5)
+ @ApiModelProperty("合同-档案主键(管道气采购合同;自有资源为空)")
+ private Long kpId;
+
+ /**
+ * 合同-国内采购-管道气-上载点主键
+ */
+ @LogField(name="合同-国内采购-管道气-上载点主键",index=6)
+ @ApiModelProperty("合同-国内采购-管道气-上载点主键")
+ private Long kpppId;
+
+ /**
+ * 供应商编码
+ */
+ @LogField(name="供应商编码",index=7)
+ @ApiModelProperty("供应商编码")
+ private String suCode;
+
+ /**
+ * 上载点编码
+ */
+ @LogField(name="上载点编码",index=8)
+ @ApiModelProperty("上载点编码")
+ private String pointUpCode;
+
+ /**
+ * 有效期开始
+ */
+ @LogField(name="有效期开始",index=9)
+ @ApiModelProperty("有效期开始")
+ private LocalDateTime dateFrom;
+
+ /**
+ * 有效期结束
+ */
+ @LogField(name="有效期结束",index=10)
+ @ApiModelProperty("有效期结束")
+ private LocalDateTime dateTo;
+
+ /**
+ * 顺序
+ */
+ @LogField(name="顺序",index=11)
+ @ApiModelProperty("顺序")
+ private Short sort;
+
+ /**
+ * 备注
+ */
+ @LogField(name="备注",index=12)
+ @ApiModelProperty("备注")
+ private String note;
+
+ /**
+ * 租户id
+ */
+ @LogField(name="租户id",index=13)
+ @ApiModelProperty("租户id")
+ private Long tenantId;
+
+ /**
+ * lngContractSalesPngPointTrans
+ */
+ @ApiModelProperty("lngContractSalesPngPointTrans子表")
+ @LogJoin(name = "lngContractSalesPngPointTrans子表",
+ columns = {
+ @LogJoinColumn(field = "ksppId",relatedField = "ksppId", valueDirection = ValueDirectionType.RIGHT),
+ @LogJoinColumn(field = "kspppId",relatedField = "id", valueDirection = ValueDirectionType.RIGHT)
+ },
+ caseType = JoinCaseType.FULL, target = UpdateLngContractSalesPngPointTransDto.class, type = JoinType.MANY)
+ private List lngContractSalesPngPointTransList;
+
+
+}
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/contract/dto/UpdateLngContractSalesPngPointTransDto.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/contract/dto/UpdateLngContractSalesPngPointTransDto.java
new file mode 100644
index 0000000..e80e0c2
--- /dev/null
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/contract/dto/UpdateLngContractSalesPngPointTransDto.java
@@ -0,0 +1,156 @@
+package com.xjrsoft.module.contract.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+
+import java.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import java.util.List;
+
+import com.pictc.annotations.datalog.LogTable;
+import com.pictc.annotations.datalog.LogField;
+import com.pictc.annotations.datalog.LogJoin;
+import com.pictc.annotations.datalog.LogJoinColumn;
+import com.pictc.annotations.datalog.JoinCaseType;
+import com.pictc.annotations.datalog.JoinType;
+import com.pictc.annotations.datalog.ValueDirectionType;
+
+
+
+
+/**
+* @title: 采运销关联
+* @Author 管理员
+* @Date: 2026-04-02
+* @Version 1.0
+*/
+@Data
+@LogTable(source="lng_contract_sales_png_point_trans",name="采运销关联")
+public class UpdateLngContractSalesPngPointTransDto implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @LogField(name="主键",index=0)
+ @ApiModelProperty("主键")
+ private Long id;
+
+ /**
+ * 合同-档案主键(lng_contract.id)
+ */
+ @LogField(name="合同-档案主键(lng_contract.id)",index=1)
+ @ApiModelProperty("合同-档案主键(lng_contract.id)")
+ private Long ksId;
+
+ /**
+ * 合同-国内销售管道气-交割点主键(lng_contract_sales_png_point.id)
+ */
+ @LogField(name="合同-国内销售管道气-交割点主键(lng_contract_sales_png_point.id)",index=2)
+ @ApiModelProperty("合同-国内销售管道气-交割点主键(lng_contract_sales_png_point.id)")
+ private Long ksppId;
+
+ /**
+ * 合同-国内销售管道气-交割点-上载主键(lng_contract_sales_png_point_pur.id)
+ */
+ @LogField(name="合同-国内销售管道气-交割点-上载主键(lng_contract_sales_png_point_pur.id)",index=3)
+ @ApiModelProperty("合同-国内销售管道气-交割点-上载主键(lng_contract_sales_png_point_pur.id)")
+ private Long kspppId;
+
+ /**
+ * 交割点编码(lng_contract_sales_png_point_pur.point_dely_code)
+ */
+ @LogField(name="交割点编码(lng_contract_sales_png_point_pur.point_dely_code)",index=4)
+ @ApiModelProperty("交割点编码(lng_contract_sales_png_point_pur.point_dely_code)")
+ private String pointDelyCode;
+
+ /**
+ * 资源上载点编码(lng_contract_sales_png_point_pur.point_up_code)
+ */
+ @LogField(name="资源上载点编码(lng_contract_sales_png_point_pur.point_up_code)",index=5)
+ @ApiModelProperty("资源上载点编码(lng_contract_sales_png_point_pur.point_up_code)")
+ private String pointUpCode;
+
+ /**
+ * 自主托运(Y-是,N-否;缺省Y;隐藏;lng_contract_sales_png_point_pur.trans_sign)
+ */
+ @LogField(name="自主托运(Y-是,N-否;缺省Y;隐藏;lng_contract_sales_png_point_pur.trans_sign)",index=6)
+ @ApiModelProperty("自主托运(Y-是,N-否;缺省Y;隐藏;lng_contract_sales_png_point_pur.trans_sign)")
+ private String transSign;
+
+ /**
+ * 合同-档案主键(lng_contract.id)
+ */
+ @LogField(name="合同-档案主键(lng_contract.id)",index=7)
+ @ApiModelProperty("合同-档案主键(lng_contract.id)")
+ private Long ktId;
+
+ /**
+ * 合同-管输-上下载点主键(lng_contract_trans_png.id)
+ */
+ @LogField(name="合同-管输-上下载点主键(lng_contract_trans_png.id)",index=8)
+ @ApiModelProperty("合同-管输-上下载点主键(lng_contract_trans_png.id)")
+ private Long ktpId;
+
+ /**
+ * 托运商编码(从管输合同带出来;只读)
+ */
+ @LogField(name="托运商编码(从管输合同带出来;只读)",index=9)
+ @ApiModelProperty("托运商编码(从管输合同带出来;只读)")
+ private String suCode;
+
+ /**
+ * 管输上载点编码(从管输合同带出来;只读)
+ */
+ @LogField(name="管输上载点编码(从管输合同带出来;只读)",index=10)
+ @ApiModelProperty("管输上载点编码(从管输合同带出来;只读)")
+ private String pointUpTransCode;
+
+ /**
+ * 管输交割点编码(从管输合同带出来;只读)
+ */
+ @LogField(name="管输交割点编码(从管输合同带出来;只读)",index=11)
+ @ApiModelProperty("管输交割点编码(从管输合同带出来;只读)")
+ private String pointDelyTransCode;
+
+ /**
+ * 有效期开始(从管输合同带出来;可编辑)
+ */
+ @LogField(name="有效期开始(从管输合同带出来;可编辑)",index=12)
+ @ApiModelProperty("有效期开始(从管输合同带出来;可编辑)")
+ private LocalDateTime dateFrom;
+
+ /**
+ * 有效期结束(从管输合同带出来;可编辑)
+ */
+ @LogField(name="有效期结束(从管输合同带出来;可编辑)",index=13)
+ @ApiModelProperty("有效期结束(从管输合同带出来;可编辑)")
+ private LocalDateTime dateTo;
+
+ /**
+ * 顺序
+ */
+ @LogField(name="顺序",index=14)
+ @ApiModelProperty("顺序")
+ private Short sort;
+
+ /**
+ * 备注
+ */
+ @LogField(name="备注",index=15)
+ @ApiModelProperty("备注")
+ private String note;
+
+ /**
+ * 租户id
+ */
+ @LogField(name="租户id",index=16)
+ @ApiModelProperty("租户id")
+ private Long tenantId;
+
+
+}
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/contract/vo/LngContractSalesPngPointPageVo.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/contract/vo/LngContractSalesPngPointPageVo.java
new file mode 100644
index 0000000..a5ee337
--- /dev/null
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/contract/vo/LngContractSalesPngPointPageVo.java
@@ -0,0 +1,21 @@
+package com.xjrsoft.module.contract.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+* @title: 分页列表出参
+* @Author 管理员
+* @Date: 2026-04-02
+* @Version 1.0
+*/
+@Data
+public class LngContractSalesPngPointPageVo {
+
+ /**
+ * 主键
+ */
+ @ApiModelProperty("主键")
+ private String id;
+
+}
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/contract/vo/LngContractSalesPngPointPurVo.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/contract/vo/LngContractSalesPngPointPurVo.java
new file mode 100644
index 0000000..5314c54
--- /dev/null
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/contract/vo/LngContractSalesPngPointPurVo.java
@@ -0,0 +1,161 @@
+package com.xjrsoft.module.contract.vo;
+
+import java.time.LocalDateTime;
+import java.util.List;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+* @title: 表单出参
+* @Author 管理员
+* @Date: 2026-04-02
+* @Version 1.0
+*/
+@Data
+public class LngContractSalesPngPointPurVo extends com.xjrsoft.common.model.base.BaseModel{
+
+ /**
+ * 主键
+ */
+ @ApiModelProperty("主键")
+ private Long id;
+
+
+ /**
+ * 合同-档案主键(管道气销售合同lng_contract.id)
+ */
+ @ApiModelProperty("合同-档案主键(管道气销售合同lng_contract.id)")
+ private Long ksId;
+
+
+ /**
+ * 合同-国内销售-管道气-交割点主键(lng_contract_sales_png_point.id)
+ */
+ @ApiModelProperty("合同-国内销售-管道气-交割点主键(lng_contract_sales_png_point.id)")
+ private Long ksppId;
+
+
+ /**
+ * 交割点编码(从合同-国内销售-管道气-交割点表带过来)
+ */
+ @ApiModelProperty("交割点编码(从合同-国内销售-管道气-交割点表带过来)")
+ private String pointDelyCode;
+
+
+ /**
+ * 自主托运(Y-是,N-否;从合同-国内销售-管道气-交割点表带过来;可编辑)
+ */
+ @ApiModelProperty("自主托运(Y-是,N-否;从合同-国内销售-管道气-交割点表带过来;可编辑)")
+ private String transSign;
+
+
+ /**
+ * 合同-档案主键(管道气采购合同;自有资源为空)
+ */
+ @ApiModelProperty("合同-档案主键(管道气采购合同;自有资源为空)")
+ private Long kpId;
+
+ private String kpName;
+ /**
+ * 合同-国内采购-管道气-上载点主键
+ */
+ @ApiModelProperty("合同-国内采购-管道气-上载点主键")
+ private Long kpppId;
+
+
+ /**
+ * 供应商编码
+ */
+ @ApiModelProperty("供应商编码")
+ private String suCode;
+
+ private String suName;
+ /**
+ * 上载点编码
+ */
+ @ApiModelProperty("上载点编码")
+ private String pointUpCode;
+
+ private String pointUpName;
+ /**
+ * 有效期开始
+ */
+ @ApiModelProperty("有效期开始")
+ private LocalDateTime dateFrom;
+
+
+ /**
+ * 有效期结束
+ */
+ @ApiModelProperty("有效期结束")
+ private LocalDateTime dateTo;
+
+
+ /**
+ * 顺序
+ */
+ @ApiModelProperty("顺序")
+ private Short sort;
+
+
+ /**
+ * 备注
+ */
+ @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;
+
+
+ private List lngContractSalesPngPointTransList;
+
+
+}
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/contract/vo/LngContractSalesPngPointTransVo.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/contract/vo/LngContractSalesPngPointTransVo.java
new file mode 100644
index 0000000..b50f8b3
--- /dev/null
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/contract/vo/LngContractSalesPngPointTransVo.java
@@ -0,0 +1,188 @@
+package com.xjrsoft.module.contract.vo;
+
+import java.time.LocalDateTime;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+* @title: 表单出参
+* @Author 管理员
+* @Date: 2026-04-02
+* @Version 1.0
+*/
+@Data
+public class LngContractSalesPngPointTransVo extends com.xjrsoft.common.model.base.BaseModel{
+
+ /**
+ * 主键
+ */
+ @ApiModelProperty("主键")
+ private Long id;
+
+
+ /**
+ * 合同-档案主键(lng_contract.id)
+ */
+ @ApiModelProperty("合同-档案主键(lng_contract.id)")
+ private Long ksId;
+
+
+ /**
+ * 合同-国内销售管道气-交割点主键(lng_contract_sales_png_point.id)
+ */
+ @ApiModelProperty("合同-国内销售管道气-交割点主键(lng_contract_sales_png_point.id)")
+ private Long ksppId;
+
+
+ /**
+ * 合同-国内销售管道气-交割点-上载主键(lng_contract_sales_png_point_pur.id)
+ */
+ @ApiModelProperty("合同-国内销售管道气-交割点-上载主键(lng_contract_sales_png_point_pur.id)")
+ private Long kspppId;
+
+
+ /**
+ * 交割点编码(lng_contract_sales_png_point_pur.point_dely_code)
+ */
+ @ApiModelProperty("交割点编码(lng_contract_sales_png_point_pur.point_dely_code)")
+ private String pointDelyCode;
+
+ private String pointDelyName;
+
+ /**
+ * 资源上载点编码(lng_contract_sales_png_point_pur.point_up_code)
+ */
+ @ApiModelProperty("资源上载点编码(lng_contract_sales_png_point_pur.point_up_code)")
+ private String pointUpCode;
+
+
+ /**
+ * 自主托运(Y-是,N-否;缺省Y;隐藏;lng_contract_sales_png_point_pur.trans_sign)
+ */
+ @ApiModelProperty("自主托运(Y-是,N-否;缺省Y;隐藏;lng_contract_sales_png_point_pur.trans_sign)")
+ private String transSign;
+
+
+ /**
+ * 合同-档案主键(lng_contract.id)
+ */
+ @ApiModelProperty("合同-档案主键(lng_contract.id)")
+ private Long ktId;
+
+ private String ktName;
+
+ /**
+ * 合同-管输-上下载点主键(lng_contract_trans_png.id)
+ */
+ @ApiModelProperty("合同-管输-上下载点主键(lng_contract_trans_png.id)")
+ private Long ktpId;
+
+
+ /**
+ * 托运商编码(从管输合同带出来;只读)
+ */
+ @ApiModelProperty("托运商编码(从管输合同带出来;只读)")
+ private String suCode;
+
+ private String suYsName;
+
+
+ /**
+ * 管输上载点编码(从管输合同带出来;只读)
+ */
+ @ApiModelProperty("管输上载点编码(从管输合同带出来;只读)")
+ private String pointUpTransCode;
+
+ private String pointUpTransName;
+
+ /**
+ * 管输交割点编码(从管输合同带出来;只读)
+ */
+ @ApiModelProperty("管输交割点编码(从管输合同带出来;只读)")
+ private String pointDelyTransCode;
+
+ private String pointDelyTransName;
+
+
+ /**
+ * 有效期开始(从管输合同带出来;可编辑)
+ */
+ @ApiModelProperty("有效期开始(从管输合同带出来;可编辑)")
+ private LocalDateTime dateFrom;
+
+
+ /**
+ * 有效期结束(从管输合同带出来;可编辑)
+ */
+ @ApiModelProperty("有效期结束(从管输合同带出来;可编辑)")
+ private LocalDateTime dateTo;
+
+
+ /**
+ * 顺序
+ */
+ @ApiModelProperty("顺序")
+ private Short sort;
+
+
+ /**
+ * 备注
+ */
+ @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;
+
+
+
+
+
+}
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/contract/vo/LngContractSalesPngPointVo.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/contract/vo/LngContractSalesPngPointVo.java
index a8041d3..35c18e4 100644
--- a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/contract/vo/LngContractSalesPngPointVo.java
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/contract/vo/LngContractSalesPngPointVo.java
@@ -1,13 +1,14 @@
package com.xjrsoft.module.contract.vo;
+import java.time.LocalDateTime;
+import java.util.List;
+
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;
-import java.time.LocalDateTime;
-
/**
* @title: 表单出参
* @Author 管理员
@@ -33,6 +34,14 @@ public class LngContractSalesPngPointVo {
@ApiModelProperty("合同-档案主键")
private Long kId;
+ private String ksName;
+
+ private String ksNo;
+
+ private String suName;
+
+ private String comName;
+
/**
* 计量交割点编码(通常为下载点,客户托运时为上载点)
@@ -113,7 +122,7 @@ public class LngContractSalesPngPointVo {
private Long ruleUserId;
-
+ private List lngContractSalesPngPointPurList;
}
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/contract/controller/ContractSalesController.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/contract/controller/ContractSalesController.java
index c773296..88c564c 100644
--- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/contract/controller/ContractSalesController.java
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/contract/controller/ContractSalesController.java
@@ -1,6 +1,18 @@
package com.xjrsoft.module.contract.controller;
-import cn.dev33.satoken.annotation.SaCheckPermission;
+import java.util.List;
+
+import javax.validation.Valid;
+
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
import com.google.api.client.util.Lists;
import com.pictc.datalog.DataOperationContent;
import com.pictc.datalog.DataOperationListener;
@@ -17,13 +29,11 @@ import com.xjrsoft.module.contract.dto.UpdateLngContractSalesPngPointDto;
import com.xjrsoft.module.contract.service.IContractSalesService;
import com.xjrsoft.module.datalog.service.DatalogService;
import com.xjrsoft.module.datalog.vo.DataChangeLogVo;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
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: 国内管道气销售
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/contract/controller/ContractSalesPngPointController.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/contract/controller/ContractSalesPngPointController.java
new file mode 100644
index 0000000..c93fa0c
--- /dev/null
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/contract/controller/ContractSalesPngPointController.java
@@ -0,0 +1,133 @@
+package com.xjrsoft.module.contract.controller;
+
+import java.util.List;
+
+import javax.validation.Valid;
+
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.pictc.datalog.DataOperationContent;
+import com.pictc.datalog.DataOperationListener;
+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.LngContractSalesPngPointPageDto;
+import com.xjrsoft.module.contract.dto.UpdateLngContractSalesPngPointDto;
+import com.xjrsoft.module.contract.entity.LngContractSalesPngPoint;
+import com.xjrsoft.module.contract.service.IContractSalesPngPointService;
+import com.xjrsoft.module.contract.vo.LngContractSalesPngPointPageVo;
+import com.xjrsoft.module.contract.vo.LngContractSalesPngPointVo;
+import com.xjrsoft.module.datalog.service.DatalogService;
+import com.xjrsoft.module.datalog.vo.DataChangeLogVo;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import cn.hutool.core.util.ObjectUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.AllArgsConstructor;
+
+/**
+* @title: 采运销关联
+* @Author 管理员
+* @Date: 2026-04-02
+* @Version 1.0
+*/
+@RestController
+@RequestMapping("/contract" + "/contractSalesPngPur")
+@Api(value = "/contract" + "/contractSalesPngPur",tags = "采运销关联代码")
+@AllArgsConstructor
+public class ContractSalesPngPointController {
+
+
+ private final IContractSalesPngPointService contractSalesPngPointService;
+ private final DatalogService dataService;
+
+ @GetMapping(value = "/page")
+ @ApiOperation(value="LngContractSalesPngPoint列表(分页)")
+ @SaCheckPermission("contractSalesPngPur:list")
+ public R page(@Valid LngContractSalesPngPointPageDto dto){
+
+ LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper
+ .eq(ObjectUtil.isNotNull(dto.getId()),LngContractSalesPngPoint::getId,dto.getId())
+ .orderByDesc(LngContractSalesPngPoint::getId)
+ .select(LngContractSalesPngPoint.class,x -> VoToColumnUtil.fieldsToColumns(LngContractSalesPngPointPageVo.class).contains(x.getProperty()));
+ IPage page = contractSalesPngPointService.page(ConventPage.getPage(dto), queryWrapper);
+ PageOutput pageOutput = ConventPage.getPageOutput(page, LngContractSalesPngPointPageVo.class);
+ return R.ok(pageOutput);
+ }
+
+ @GetMapping(value = "/info")
+ @ApiOperation(value="根据id查询LngContractSalesPngPoint信息")
+ @SaCheckPermission("contractSalesPngPur:detail")
+ public R info(@RequestParam Long id){
+ LngContractSalesPngPointVo lngContractSalesPngPoint = contractSalesPngPointService.getInfoById(id);
+
+ return R.ok(lngContractSalesPngPoint);
+ }
+
+ @GetMapping(value = "/datalog")
+ @ApiOperation(value="根据id查询LngContractSalesPngPoint数据详细日志")
+ @SaCheckPermission("contractSalesPngPur:datalog")
+ public R datalog(@RequestParam Long id){
+ List logs = dataService.findLogsByEntityId(UpdateLngContractSalesPngPointDto.class,id);
+ return R.ok(logs);
+ }
+
+
+ @PostMapping
+ @ApiOperation(value = "新增LngContractSalesPngPoint")
+ @SaCheckPermission("contractSalesPngPur:add")
+ public R add(@Valid @RequestBody UpdateLngContractSalesPngPointDto dto){
+ return R.ok( dataService.insert(dto, new DataOperationListener() {
+ @Override
+ public UpdateLngContractSalesPngPointDto before(DataOperationContent content) {
+ return null;
+ }
+
+ @Override
+ public UpdateLngContractSalesPngPointDto after(DataOperationContent content) {
+
+ return null;
+ }
+ }));
+ }
+
+ @PutMapping
+ @ApiOperation(value = "修改LngContractSalesPngPoint")
+ @SaCheckPermission("contractSalesPngPur:edit")
+ public R update(@Valid @RequestBody UpdateLngContractSalesPngPointDto dto){
+ return R.ok( dataService.updateById(dto, new DataOperationListener() {
+ @Override
+ public UpdateLngContractSalesPngPointDto before(DataOperationContent content) {
+ return null;
+ }
+
+ @Override
+ public UpdateLngContractSalesPngPointDto after(DataOperationContent content) {
+
+ return null;
+ }
+ }));
+ }
+
+ @DeleteMapping
+ @ApiOperation(value = "删除")
+ @SaCheckPermission("contractSalesPngPur:delete")
+ public R delete(@Valid @RequestBody List ids){
+ return R.ok(dataService.deleteByIds(UpdateLngContractSalesPngPointDto.class, ids));
+
+ }
+
+
+}
\ No newline at end of file
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/contract/entity/LngContractSalesPngPointPur.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/contract/entity/LngContractSalesPngPointPur.java
new file mode 100644
index 0000000..5369c3a
--- /dev/null
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/contract/entity/LngContractSalesPngPointPur.java
@@ -0,0 +1,172 @@
+package com.xjrsoft.module.contract.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.FieldStrategy;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.Version;
+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.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+
+
+/**
+* @title: 采运销关联
+* @Author 管理员
+* @Date: 2026-04-02
+* @Version 1.0
+*/
+@Data
+@TableName("lng_contract_sales_png_point_pur")
+@ApiModel(value = "采运销关联对象", description = "采运销关联")
+public class LngContractSalesPngPointPur implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @ApiModelProperty("主键")
+ @TableId
+ @TableField(updateStrategy = FieldStrategy.IGNORED)
+ private Long id;
+
+ /**
+ * 合同-档案主键(管道气销售合同lng_contract.id)
+ */
+ @ApiModelProperty("合同-档案主键(管道气销售合同lng_contract.id)")
+ @TableField(updateStrategy = FieldStrategy.IGNORED)
+ private Long ksId;
+
+ /**
+ * 合同-国内销售-管道气-交割点主键(lng_contract_sales_png_point.id)
+ */
+ @ApiModelProperty("合同-国内销售-管道气-交割点主键(lng_contract_sales_png_point.id)")
+ @TableField(updateStrategy = FieldStrategy.IGNORED)
+ private Long ksppId;
+
+ /**
+ * 交割点编码(从合同-国内销售-管道气-交割点表带过来)
+ */
+ @ApiModelProperty("交割点编码(从合同-国内销售-管道气-交割点表带过来)")
+ private String pointDelyCode;
+
+ /**
+ * 自主托运(Y-是,N-否;从合同-国内销售-管道气-交割点表带过来;可编辑)
+ */
+ @ApiModelProperty("自主托运(Y-是,N-否;从合同-国内销售-管道气-交割点表带过来;可编辑)")
+ private String transSign;
+
+ /**
+ * 合同-档案主键(管道气采购合同;自有资源为空)
+ */
+ @ApiModelProperty("合同-档案主键(管道气采购合同;自有资源为空)")
+ @TableField(updateStrategy = FieldStrategy.IGNORED)
+ private Long kpId;
+
+ /**
+ * 合同-国内采购-管道气-上载点主键
+ */
+ @ApiModelProperty("合同-国内采购-管道气-上载点主键")
+ @TableField(updateStrategy = FieldStrategy.IGNORED)
+ private Long kpppId;
+
+ /**
+ * 供应商编码
+ */
+ @ApiModelProperty("供应商编码")
+ private String suCode;
+
+ /**
+ * 上载点编码
+ */
+ @ApiModelProperty("上载点编码")
+ private String pointUpCode;
+
+ /**
+ * 有效期开始
+ */
+ @ApiModelProperty("有效期开始")
+ @TableField(updateStrategy = FieldStrategy.IGNORED)
+ private LocalDateTime dateFrom;
+
+ /**
+ * 有效期结束
+ */
+ @ApiModelProperty("有效期结束")
+ @TableField(updateStrategy = FieldStrategy.IGNORED)
+ private LocalDateTime dateTo;
+
+ /**
+ * 顺序
+ */
+ @ApiModelProperty("顺序")
+ @TableField(updateStrategy = FieldStrategy.IGNORED)
+ private Short sort;
+
+ /**
+ * 备注
+ */
+ @ApiModelProperty("备注")
+ private String note;
+
+ /**
+ * 创建人id
+ */
+ @ApiModelProperty("创建人id")
+ @TableField(fill = FieldFill.INSERT, updateStrategy = FieldStrategy.IGNORED)
+ private Long createUserId;
+
+ /**
+ * 创建时间
+ */
+ @ApiModelProperty("创建时间")
+ @TableField(fill = FieldFill.INSERT, updateStrategy = FieldStrategy.IGNORED)
+ private LocalDateTime createDate;
+
+ /**
+ * 修改人id
+ */
+ @ApiModelProperty("修改人id")
+ @TableField(fill = FieldFill.UPDATE, updateStrategy = FieldStrategy.IGNORED)
+ private Long modifyUserId;
+
+ /**
+ * 修改时间
+ */
+ @ApiModelProperty("修改时间")
+ @TableField(fill = FieldFill.UPDATE, updateStrategy = FieldStrategy.IGNORED)
+ private LocalDateTime modifyDate;
+
+ /**
+ * 租户id
+ */
+ @ApiModelProperty("租户id")
+ @TableField(updateStrategy = FieldStrategy.IGNORED)
+ private Long tenantId;
+
+ /**
+ * 部门id
+ */
+ @ApiModelProperty("部门id")
+ @TableField(fill = FieldFill.INSERT, updateStrategy = FieldStrategy.IGNORED)
+ private Long deptId;
+
+ /**
+ * 数据权限id
+ */
+ @ApiModelProperty("数据权限id")
+ @TableField(fill = FieldFill.INSERT, updateStrategy = FieldStrategy.IGNORED)
+ private Long ruleUserId;
+
+
+
+}
\ No newline at end of file
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/contract/entity/LngContractSalesPngPointTrans.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/contract/entity/LngContractSalesPngPointTrans.java
new file mode 100644
index 0000000..a098543
--- /dev/null
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/contract/entity/LngContractSalesPngPointTrans.java
@@ -0,0 +1,191 @@
+package com.xjrsoft.module.contract.entity;
+
+import com.baomidou.mybatisplus.annotation.FieldFill;
+import com.baomidou.mybatisplus.annotation.FieldStrategy;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.Version;
+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.time.LocalTime;
+import java.time.LocalDateTime;
+import java.math.BigDecimal;
+import java.util.List;
+
+
+/**
+* @title: 采运销关联
+* @Author 管理员
+* @Date: 2026-04-02
+* @Version 1.0
+*/
+@Data
+@TableName("lng_contract_sales_png_point_trans")
+@ApiModel(value = "采运销关联对象", description = "采运销关联")
+public class LngContractSalesPngPointTrans implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 主键
+ */
+ @ApiModelProperty("主键")
+ @TableId
+ @TableField(updateStrategy = FieldStrategy.IGNORED)
+ private Long id;
+
+ /**
+ * 合同-档案主键(lng_contract.id)
+ */
+ @ApiModelProperty("合同-档案主键(lng_contract.id)")
+ @TableField(updateStrategy = FieldStrategy.IGNORED)
+ private Long ksId;
+
+ /**
+ * 合同-国内销售管道气-交割点主键(lng_contract_sales_png_point.id)
+ */
+ @ApiModelProperty("合同-国内销售管道气-交割点主键(lng_contract_sales_png_point.id)")
+ @TableField(updateStrategy = FieldStrategy.IGNORED)
+ private Long ksppId;
+
+ /**
+ * 合同-国内销售管道气-交割点-上载主键(lng_contract_sales_png_point_pur.id)
+ */
+ @ApiModelProperty("合同-国内销售管道气-交割点-上载主键(lng_contract_sales_png_point_pur.id)")
+ @TableField(updateStrategy = FieldStrategy.IGNORED)
+ private Long kspppId;
+
+ /**
+ * 交割点编码(lng_contract_sales_png_point_pur.point_dely_code)
+ */
+ @ApiModelProperty("交割点编码(lng_contract_sales_png_point_pur.point_dely_code)")
+ private String pointDelyCode;
+
+ /**
+ * 资源上载点编码(lng_contract_sales_png_point_pur.point_up_code)
+ */
+ @ApiModelProperty("资源上载点编码(lng_contract_sales_png_point_pur.point_up_code)")
+ private String pointUpCode;
+
+ /**
+ * 自主托运(Y-是,N-否;缺省Y;隐藏;lng_contract_sales_png_point_pur.trans_sign)
+ */
+ @ApiModelProperty("自主托运(Y-是,N-否;缺省Y;隐藏;lng_contract_sales_png_point_pur.trans_sign)")
+ private String transSign;
+
+ /**
+ * 合同-档案主键(lng_contract.id)
+ */
+ @ApiModelProperty("合同-档案主键(lng_contract.id)")
+ @TableField(updateStrategy = FieldStrategy.IGNORED)
+ private Long ktId;
+
+ /**
+ * 合同-管输-上下载点主键(lng_contract_trans_png.id)
+ */
+ @ApiModelProperty("合同-管输-上下载点主键(lng_contract_trans_png.id)")
+ @TableField(updateStrategy = FieldStrategy.IGNORED)
+ private Long ktpId;
+
+ /**
+ * 托运商编码(从管输合同带出来;只读)
+ */
+ @ApiModelProperty("托运商编码(从管输合同带出来;只读)")
+ private String suCode;
+
+ /**
+ * 管输上载点编码(从管输合同带出来;只读)
+ */
+ @ApiModelProperty("管输上载点编码(从管输合同带出来;只读)")
+ private String pointUpTransCode;
+
+ /**
+ * 管输交割点编码(从管输合同带出来;只读)
+ */
+ @ApiModelProperty("管输交割点编码(从管输合同带出来;只读)")
+ private String pointDelyTransCode;
+
+ /**
+ * 有效期开始(从管输合同带出来;可编辑)
+ */
+ @ApiModelProperty("有效期开始(从管输合同带出来;可编辑)")
+ @TableField(updateStrategy = FieldStrategy.IGNORED)
+ private LocalDateTime dateFrom;
+
+ /**
+ * 有效期结束(从管输合同带出来;可编辑)
+ */
+ @ApiModelProperty("有效期结束(从管输合同带出来;可编辑)")
+ @TableField(updateStrategy = FieldStrategy.IGNORED)
+ private LocalDateTime dateTo;
+
+ /**
+ * 顺序
+ */
+ @ApiModelProperty("顺序")
+ @TableField(updateStrategy = FieldStrategy.IGNORED)
+ private Short sort;
+
+ /**
+ * 备注
+ */
+ @ApiModelProperty("备注")
+ private String note;
+
+ /**
+ * 创建人id
+ */
+ @ApiModelProperty("创建人id")
+ @TableField(fill = FieldFill.INSERT, updateStrategy = FieldStrategy.IGNORED)
+ private Long createUserId;
+
+ /**
+ * 创建时间
+ */
+ @ApiModelProperty("创建时间")
+ @TableField(fill = FieldFill.INSERT, updateStrategy = FieldStrategy.IGNORED)
+ private LocalDateTime createDate;
+
+ /**
+ * 修改人id
+ */
+ @ApiModelProperty("修改人id")
+ @TableField(fill = FieldFill.UPDATE, updateStrategy = FieldStrategy.IGNORED)
+ private Long modifyUserId;
+
+ /**
+ * 修改时间
+ */
+ @ApiModelProperty("修改时间")
+ @TableField(fill = FieldFill.UPDATE, updateStrategy = FieldStrategy.IGNORED)
+ private LocalDateTime modifyDate;
+
+ /**
+ * 租户id
+ */
+ @ApiModelProperty("租户id")
+ @TableField(updateStrategy = FieldStrategy.IGNORED)
+ private Long tenantId;
+
+ /**
+ * 部门id
+ */
+ @ApiModelProperty("部门id")
+ @TableField(fill = FieldFill.INSERT, updateStrategy = FieldStrategy.IGNORED)
+ private Long deptId;
+
+ /**
+ * 数据权限id
+ */
+ @ApiModelProperty("数据权限id")
+ @TableField(fill = FieldFill.INSERT, updateStrategy = FieldStrategy.IGNORED)
+ private Long ruleUserId;
+
+
+
+}
\ No newline at end of file
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/contract/mapper/LngContractSalesPngPointMapper.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/contract/mapper/LngContractSalesPngPointMapper.java
index 03d819f..d0d4225 100644
--- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/contract/mapper/LngContractSalesPngPointMapper.java
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/contract/mapper/LngContractSalesPngPointMapper.java
@@ -1,9 +1,13 @@
package com.xjrsoft.module.contract.mapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.xjrsoft.module.contract.entity.LngContractSalesPngPoint;
-import org.apache.ibatis.annotations.Mapper;
+import com.xjrsoft.module.contract.vo.LngContractSalesPngPointVo;
/**
* @title: mapper
@@ -14,4 +18,15 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface LngContractSalesPngPointMapper extends MPJBaseMapper, BaseMapper {
+ @Select("SELECT kspp.*, bspd.full_name AS point_dely_Name,ks.k_no AS ks_no, ks.k_name AS ks_name, " +
+ " NVL(com.short_name,com.name) AS com_name,cu.cu_sname AS cu_name"+
+ " FROM lng_contract_sales_png_point kspp" +
+ " JOIN lng_contract ks ON ks.id=kspp.k_id" +
+ " LEFT JOIN lng_customer cu ON cu.cu_code=ks.cp_code"+
+ " LEFT JOIN xjr_department com ON com.id=ks.com_id"+
+ " LEFT JOIN lng_b_station_png bspd ON bspd.code=kspp.point_dely_code" +
+ " WHERE kspp.id = #{ksppId}")
+ LngContractSalesPngPointVo queryLngContractSalesPngPointById(@Param("ksppId") Long ksppId);
+
+
}
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/contract/mapper/LngContractSalesPngPointPurMapper.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/contract/mapper/LngContractSalesPngPointPurMapper.java
new file mode 100644
index 0000000..fcda5ab
--- /dev/null
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/contract/mapper/LngContractSalesPngPointPurMapper.java
@@ -0,0 +1,29 @@
+package com.xjrsoft.module.contract.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.contract.entity.LngContractSalesPngPointPur;
+import com.xjrsoft.module.contract.vo.LngContractSalesPngPointPurVo;
+
+/**
+* @title: mapper
+* @Author 管理员
+* @Date: 2026-04-02
+* @Version 1.0
+*/
+@Mapper
+public interface LngContractSalesPngPointPurMapper extends MPJBaseMapper , BaseMapper {
+
+ @Select("SELECT ksppp.*, bspu.full_name AS point_up_name, kp.k_name AS kp_name " +
+ " FROM lng_contract_sales_png_point_pur ksppp" +
+ " LEFT JOIN lng_contract kp ON kp.id=ksppp.kp_id" +
+ " LEFT JOIN lng_b_station_png bspu ON bspu.code=ksppp.point_up_code" +
+ " WHERE ksppp.kspp_id = #{ksppId}")
+ List queryLngContractSalesPngPointPurList(@Param("ksppId") Long ksppId);
+}
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/contract/mapper/LngContractSalesPngPointTransMapper.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/contract/mapper/LngContractSalesPngPointTransMapper.java
new file mode 100644
index 0000000..02547bc
--- /dev/null
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/contract/mapper/LngContractSalesPngPointTransMapper.java
@@ -0,0 +1,31 @@
+package com.xjrsoft.module.contract.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.github.yulichang.base.MPJBaseMapper;
+import com.xjrsoft.module.contract.entity.LngContractSalesPngPointPur;
+import com.xjrsoft.module.contract.entity.LngContractSalesPngPointTrans;
+import com.xjrsoft.module.contract.vo.LngContractSalesPngPointTransVo;
+
+/**
+* @title: mapper
+* @Author 管理员
+* @Date: 2026-04-02
+* @Version 1.0
+*/
+@Mapper
+public interface LngContractSalesPngPointTransMapper extends MPJBaseMapper , BaseMapper {
+
+ @Select("SELECT ksppt.*, su_ys.su_sname AS su_ys_name, kt.k_name AS kt_name " +
+ " FROM lng_contract_sales_png_point_trans ksppt" +
+ " LEFT JOIN lng_contract kt ON kp.id=ksppt.kt_id" +
+ " LEFT JOIN lng_supplier su_ys ON su_ys.su_code=ksppt.su_code" +
+ " WHERE ksppt.ksppp_id = #{kspppId}")
+ List queryLngContractSalesPngPointTransList(@Param("kspppId") Long kspppId);
+
+}
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/contract/service/IContractSalesPngPointService.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/contract/service/IContractSalesPngPointService.java
new file mode 100644
index 0000000..59531d5
--- /dev/null
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/contract/service/IContractSalesPngPointService.java
@@ -0,0 +1,20 @@
+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.LngContractSalesPngPoint;
+import com.xjrsoft.module.contract.vo.LngContractSalesPngPointVo;
+
+/**
+* @title: service
+* @Author 管理员
+* @Date: 2026-04-02
+* @Version 1.0
+*/
+
+public interface IContractSalesPngPointService extends MPJBaseService, MPJDeepService, MPJRelationService {
+
+ LngContractSalesPngPointVo getInfoById(Long id);
+
+}
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/contract/service/impl/ContractSalesPngPointServiceImpl.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/contract/service/impl/ContractSalesPngPointServiceImpl.java
new file mode 100644
index 0000000..eda091d
--- /dev/null
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/contract/service/impl/ContractSalesPngPointServiceImpl.java
@@ -0,0 +1,53 @@
+package com.xjrsoft.module.contract.service.impl;
+
+import java.util.List;
+
+import org.springframework.stereotype.Service;
+
+import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.xjrsoft.common.model.result.R;
+import com.xjrsoft.module.contract.entity.LngContractSalesPngPoint;
+import com.xjrsoft.module.contract.mapper.LngContractSalesPngPointMapper;
+import com.xjrsoft.module.contract.mapper.LngContractSalesPngPointPurMapper;
+import com.xjrsoft.module.contract.mapper.LngContractSalesPngPointTransMapper;
+import com.xjrsoft.module.contract.service.IContractSalesPngPointService;
+import com.xjrsoft.module.contract.vo.LngContractSalesPngPointPurVo;
+import com.xjrsoft.module.contract.vo.LngContractSalesPngPointTransVo;
+import com.xjrsoft.module.contract.vo.LngContractSalesPngPointVo;
+
+import lombok.AllArgsConstructor;
+
+/**
+* @title: service
+* @Author 管理员
+* @Date: 2026-04-02
+* @Version 1.0
+*/
+@Service
+@AllArgsConstructor
+public class ContractSalesPngPointServiceImpl extends MPJBaseServiceImpl implements IContractSalesPngPointService {
+
+ private LngContractSalesPngPointMapper cspPointMapper;
+
+ private LngContractSalesPngPointPurMapper cspPointPurMapper;
+
+ private LngContractSalesPngPointTransMapper cspPointTransMapper;
+
+ @Override
+ public LngContractSalesPngPointVo getInfoById(Long id) {
+ LngContractSalesPngPointVo cspPointVo = cspPointMapper.queryLngContractSalesPngPointById(id);
+ if (cspPointVo == null) {
+ return null;
+ }
+ List cspPointPurVoList = cspPointPurMapper.queryLngContractSalesPngPointPurList(id);
+ if(cspPointPurVoList != null && cspPointPurVoList.size() >0) {
+ cspPointVo.setLngContractSalesPngPointPurList(cspPointPurVoList);
+ for(LngContractSalesPngPointPurVo cspPointPur:cspPointPurVoList) {
+ List cspPointTransVoList = cspPointTransMapper.queryLngContractSalesPngPointTransList(cspPointPur.getKsppId());
+ cspPointPur.setLngContractSalesPngPointTransList(cspPointTransVoList);
+ }
+ }
+ return cspPointVo;
+ }
+
+}
diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/ship/controller/MeaPurIntController.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/ship/controller/MeaPurIntController.java
index 8631c08..f08a365 100644
--- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/ship/controller/MeaPurIntController.java
+++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/ship/controller/MeaPurIntController.java
@@ -150,7 +150,7 @@ public class MeaPurIntController {
@Override
public UpdateLngMeaPurIntDto after(DataOperationContent content) {
- String sql = StringUtils.format("{? = call pc_{0}.f_save(?,?)}",
+ String sql = StringUtils.format("{? = call pc_{0}.f_save(?,?)}",
content.getTableName());
List params = Lists.newArrayList();
JdbcParam outParam = JdbcParam.ofString(null).setOut(true);