This commit is contained in:
2026-04-08 16:20:59 +08:00
67 changed files with 4617 additions and 33 deletions

View File

@ -25,6 +25,11 @@
<artifactId>itc-pcitc-dependencies-api</artifactId> <artifactId>itc-pcitc-dependencies-api</artifactId>
<version>${revision}</version> <version>${revision}</version>
</dependency> </dependency>
<dependency>
<groupId>com.geg</groupId>
<artifactId>itc-ms-common-api</artifactId>
<version>2.0.4</version>
</dependency>
</dependencies> </dependencies>

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -1,13 +1,20 @@
package com.xjrsoft.module.contract.dto; 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.LogField;
import com.pictc.annotations.datalog.LogJoin;
import com.pictc.annotations.datalog.LogJoinColumn;
import com.pictc.annotations.datalog.LogTable; import com.pictc.annotations.datalog.LogTable;
import com.pictc.annotations.datalog.ValueDirectionType;
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;
@ -66,4 +73,16 @@ public class UpdateLngContractSalesPngPointDto extends BaseModel implements Seri
private String note; private String note;
private Boolean hasDel = false; private Boolean hasDel = false;
/**
* lngContractSalesPngPointPur
*/
@ApiModelProperty("lngContractSalesPngPointPur子表")
@LogJoin(name = "lngContractSalesPngPointPur子表",
columns = {
@LogJoinColumn(field = "id",relatedField = "ksppId", valueDirection = ValueDirectionType.RIGHT)
},
caseType = JoinCaseType.FULL, target = UpdateLngContractSalesPngPointPurDto.class, type = JoinType.MANY)
private List<UpdateLngContractSalesPngPointPurDto> lngContractSalesPngPointPurList;
} }

View File

@ -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 = "id",relatedField = "kspppId", valueDirection = ValueDirectionType.RIGHT)
},
caseType = JoinCaseType.FULL, target = UpdateLngContractSalesPngPointTransDto.class, type = JoinType.MANY)
private List<UpdateLngContractSalesPngPointTransDto> lngContractSalesPngPointTransList;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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<LngContractSalesPngPointTransVo> lngContractSalesPngPointTransList;
}

View File

@ -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;
private String pointUpName;
/**
* 自主托运(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;
}

View File

@ -1,13 +1,14 @@
package com.xjrsoft.module.contract.vo; package com.xjrsoft.module.contract.vo;
import java.time.LocalDateTime;
import java.util.List;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.ToString; import lombok.ToString;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.time.LocalDateTime;
/** /**
* @title: 表单出参 * @title: 表单出参
* @Author 管理员 * @Author 管理员
@ -33,6 +34,14 @@ public class LngContractSalesPngPointVo {
@ApiModelProperty("合同-档案主键") @ApiModelProperty("合同-档案主键")
private Long kId; 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 Long ruleUserId;
private List<LngContractSalesPngPointPurVo> lngContractSalesPngPointPurList;
} }

View File

@ -0,0 +1,100 @@
package com.xjrsoft.module.dayPlan.dto;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @title: 电商-管道气销售结算
* @Author 管理员
* @Date: 2026-04-07
* @Version 1.0
*/
@Data
public class AddLngPngSettleHdrEcDto extends com.xjrsoft.common.model.base.BaseModel {
private static final long serialVersionUID = 1L;
/**
* 结算月
*/
@ApiModelProperty("结算月")
private LocalDateTime settleMonth;
/**
* 结算月开始日期
*/
@ApiModelProperty("结算月开始日期")
private LocalDateTime dateFrom;
/**
* 结算月结束日期
*/
@ApiModelProperty("结算月结束日期")
private LocalDateTime dateTo;
/**
* 结算类型(I-气费收入/C-气费成本/T-管输费/P-加工费)
*/
@ApiModelProperty("结算类型(I-气费收入/C-气费成本/T-管输费/P-加工费)")
private String settleTypeCode;
/**
* 供应商/客户(根据结算类型关联供应商/客户)
*/
@ApiModelProperty("供应商/客户(根据结算类型关联供应商/客户)")
private String cpCode;
/**
* 交易主体(天然气公司/惠贸)
*/
@ApiModelProperty("交易主体(天然气公司/惠贸)")
private Long comId;
/**
* 结算总数量(吉焦)(不包含二次结算的数量)
*/
@ApiModelProperty("结算总数量(吉焦)(不包含二次结算的数量)")
private BigDecimal qtySettleGj;
/**
* 结算总数量(方)(不包含二次结算的数量)
*/
@ApiModelProperty("结算总数量(方)(不包含二次结算的数量)")
private BigDecimal qtySettleM3;
/**
* 结算总金额
*/
@ApiModelProperty("结算总金额")
private BigDecimal amount;
/**
* 账期内含预收付款(Y-是N-否正常结算Y特殊结算N)
*/
@ApiModelProperty("账期内含预收付款(Y-是N-否正常结算Y特殊结算N)")
private String rpSign;
/**
* 对账单(不显示,挂对账单附件用)
*/
@ApiModelProperty("对账单(不显示,挂对账单附件用)")
private String billAccount;
/**
* 审批状态
*/
@ApiModelProperty("审批状态")
private String approCode;
/**
* 结算说明
*/
@ApiModelProperty("结算说明")
private String settleDesc;
/**
* 备注
*/
@ApiModelProperty("备注")
private String note;
/**
* 租户id
*/
@ApiModelProperty("租户id")
private Long tenantId;
}

View File

@ -0,0 +1,87 @@
package com.xjrsoft.module.dayPlan.dto;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import org.springframework.format.annotation.DateTimeFormat;
import com.xjrsoft.common.page.PageInput;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @title: 分页查询入参
* @Author 管理员
* @Date: 2026-04-07
* @Version 1.0
*/
@Data
public class LngPngSettleHdrEcPageDto extends PageInput {
/**
* 主键
*/
@ApiModelProperty("主键")
private Long id;
/**
* 结算月
*/
@ApiModelProperty("结算月")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime settleMonth;
/**
* 结算月开始日期
*/
@ApiModelProperty("结算月开始日期")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime dateFrom;
/**
* 结算月结束日期
*/
@ApiModelProperty("结算月结束日期")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime dateTo;
/**
* 结算说明
*/
@ApiModelProperty("结算说明")
private String settleDesc;
/**
* 结算总数量(吉焦)(不包含二次结算的数量)
*/
@ApiModelProperty("结算总数量(吉焦)(不包含二次结算的数量)")
private BigDecimal qtySettleGj;
/**
* 结算总数量(方)(不包含二次结算的数量)
*/
@ApiModelProperty("结算总数量(方)(不包含二次结算的数量)")
private BigDecimal qtySettleM3;
/**
* 结算总金额
*/
@ApiModelProperty("结算总金额")
private BigDecimal amount;
/**
* 交易主体(天然气公司/惠贸)
*/
@ApiModelProperty("交易主体(天然气公司/惠贸)")
private Long comId;
/**
* 备注
*/
@ApiModelProperty("备注")
private String note;
/**
* 修改人id
*/
@ApiModelProperty("修改人id")
private Long modifyUserId;
/**
* 审批状态
*/
@ApiModelProperty("审批状态")
private String approCode;
}

View File

@ -0,0 +1,146 @@
package com.xjrsoft.module.dayPlan.dto;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
import com.pictc.annotations.datalog.LogAttrField;
import com.pictc.annotations.datalog.LogField;
import com.pictc.annotations.datalog.LogTable;
import com.xjrsoft.module.system.vo.LngFileUploadVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @title: 电商-管道气销售结算
* @Author 管理员
* @Date: 2026-04-07
* @Version 1.0
*/
@Data
@LogTable(source="lng_png_settle_hdr",name="电商-管道气销售结算")
public class UpdateLngPngSettleHdrEcDto implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@LogField(name="主键",index=0)
@ApiModelProperty("主键")
private Long id;
/**
* 结算月
*/
@LogField(name="结算月",index=1)
@ApiModelProperty("结算月")
private LocalDateTime settleMonth;
/**
* 结算月开始日期
*/
@LogField(name="结算月开始日期",index=2)
@ApiModelProperty("结算月开始日期")
private LocalDateTime dateFrom;
/**
* 结算月结束日期
*/
@LogField(name="结算月结束日期",index=3)
@ApiModelProperty("结算月结束日期")
private LocalDateTime dateTo;
/**
* 结算类型(I-气费收入/C-气费成本/T-管输费/P-加工费)
*/
@LogField(name="结算类型",index=4)
@ApiModelProperty("结算类型(I-气费收入/C-气费成本/T-管输费/P-加工费)")
private String settleTypeCode;
/**
* 供应商/客户(根据结算类型关联供应商/客户)
*/
@LogField(name="供应商/客户",index=5)
@ApiModelProperty("供应商/客户(根据结算类型关联供应商/客户)")
private String cpCode;
/**
* 交易主体(天然气公司/惠贸)
*/
@LogField(name="交易主体",index=6)
@ApiModelProperty("交易主体(天然气公司/惠贸)")
private Long comId;
/**
* 结算总数量(吉焦)(不包含二次结算的数量)
*/
@LogField(name="结算总数量",index=7)
@ApiModelProperty("结算总数量(吉焦)(不包含二次结算的数量)")
private BigDecimal qtySettleGj;
/**
* 结算总数量(方)(不包含二次结算的数量)
*/
@LogField(name="结算总数量",index=8)
@ApiModelProperty("结算总数量(方)(不包含二次结算的数量)")
private BigDecimal qtySettleM3;
/**
* 结算总金额
*/
@LogField(name="结算总金额",index=9)
@ApiModelProperty("结算总金额")
private BigDecimal amount;
/**
* 账期内含预收付款(Y-是N-否正常结算Y特殊结算N)
*/
@LogField(name="账期内含预收付款",index=10)
@ApiModelProperty("账期内含预收付款(Y-是N-否正常结算Y特殊结算N)")
private String rpSign;
/**
* 对账单(不显示,挂对账单附件用)
*/
@LogField(name="对账单",index=11)
@ApiModelProperty("对账单(不显示,挂对账单附件用)")
private String billAccount;
/**
* 审批状态
*/
@LogField(name="审批状态",index=12)
@ApiModelProperty("审批状态")
private String approCode;
/**
* 结算说明
*/
@LogField(name="结算说明",index=13)
@ApiModelProperty("结算说明")
private String settleDesc;
/**
* 备注
*/
@LogField(name="备注",index=14)
@ApiModelProperty("备注")
private String note;
/**
* 租户id
*/
@LogField(name="租户id",index=15)
@ApiModelProperty("租户id")
private Long tenantId;
//对账单
@LogAttrField
private List<LngFileUploadVo> billList;
}

View File

@ -0,0 +1,79 @@
package com.xjrsoft.module.dayPlan.vo;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @title: 分页列表出参
* @Author 管理员
* @Date: 2026-04-07
* @Version 1.0
*/
@Data
public class LngPngSettleHdrEcPageVo {
/**
* 主键
*/
@ApiModelProperty("主键")
private String id;
/**
* 结算月
*/
@ApiModelProperty("结算月")
private LocalDateTime settleMonth;
/**
* 结算月开始日期
*/
@ApiModelProperty("结算月开始日期")
private LocalDateTime dateFrom;
/**
* 结算月结束日期
*/
@ApiModelProperty("结算月结束日期")
private LocalDateTime dateTo;
/**
* 交易主体(天然气公司/惠贸)
*/
@ApiModelProperty("交易主体(天然气公司/惠贸)")
private Long comId;
/**
* 结算总数量(吉焦)(不包含二次结算的数量)
*/
@ApiModelProperty("结算总数量(吉焦)(不包含二次结算的数量)")
private BigDecimal qtySettleGj;
/**
* 结算总数量(方)(不包含二次结算的数量)
*/
@ApiModelProperty("结算总数量(方)(不包含二次结算的数量)")
private BigDecimal qtySettleM3;
/**
* 结算总金额
*/
@ApiModelProperty("结算总金额")
private BigDecimal amount;
/**
* 审批状态
*/
@ApiModelProperty("审批状态")
private String approCode;
/**
* 结算说明
*/
@ApiModelProperty("结算说明")
private String settleDesc;
/**
* 备注
*/
@ApiModelProperty("备注")
private String note;
/**
* 修改人id
*/
@ApiModelProperty("修改人id")
private Long modifyUserId;
}

View File

@ -0,0 +1,181 @@
package com.xjrsoft.module.dayPlan.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;
import java.time.LocalTime;
import java.time.LocalDateTime;
import java.math.BigDecimal;
import java.util.List;
/**
* @title: 表单出参
* @Author 管理员
* @Date: 2026-04-07
* @Version 1.0
*/
@Data
public class LngPngSettleHdrEcVo extends com.xjrsoft.common.model.base.BaseModel{
/**
* 主键
*/
@ApiModelProperty("主键")
private Long id;
/**
* 结算月
*/
@ApiModelProperty("结算月")
private LocalDateTime settleMonth;
/**
* 结算月开始日期
*/
@ApiModelProperty("结算月开始日期")
private LocalDateTime dateFrom;
/**
* 结算月结束日期
*/
@ApiModelProperty("结算月结束日期")
private LocalDateTime dateTo;
/**
* 结算类型(I-气费收入/C-气费成本/T-管输费/P-加工费)
*/
@ApiModelProperty("结算类型(I-气费收入/C-气费成本/T-管输费/P-加工费)")
private String settleTypeCode;
/**
* 供应商/客户(根据结算类型关联供应商/客户)
*/
@ApiModelProperty("供应商/客户(根据结算类型关联供应商/客户)")
private String cpCode;
/**
* 交易主体(天然气公司/惠贸)
*/
@ApiModelProperty("交易主体(天然气公司/惠贸)")
private Long comId;
/**
* 结算总数量(吉焦)(不包含二次结算的数量)
*/
@ApiModelProperty("结算总数量(吉焦)(不包含二次结算的数量)")
private BigDecimal qtySettleGj;
/**
* 结算总数量(方)(不包含二次结算的数量)
*/
@ApiModelProperty("结算总数量(方)(不包含二次结算的数量)")
private BigDecimal qtySettleM3;
/**
* 结算总金额
*/
@ApiModelProperty("结算总金额")
private BigDecimal amount;
/**
* 账期内含预收付款(Y-是N-否正常结算Y特殊结算N)
*/
@ApiModelProperty("账期内含预收付款(Y-是N-否正常结算Y特殊结算N)")
private String rpSign;
/**
* 对账单(不显示,挂对账单附件用)
*/
@ApiModelProperty("对账单(不显示,挂对账单附件用)")
private String billAccount;
/**
* 审批状态
*/
@ApiModelProperty("审批状态")
private String approCode;
/**
* 结算说明
*/
@ApiModelProperty("结算说明")
private String settleDesc;
/**
* 备注
*/
@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,16 @@
package com.xjrsoft.module.externalApi.callback;
/**
* FsspCallback接口定义了一个回调方法的规范
* 该接口用于实现回调机制,允许在特定事件发生时执行预定义的操作
*/
public interface FsspCallback<Resp> {
/**
* 执行回调方法
* 当触发回调条件时,此方法将被调用
* 不接收任何参数,也不返回任何值
*/
void execute(Resp resp);
}

View File

@ -0,0 +1,196 @@
package com.xjrsoft.module.externalApi.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 应用令牌响应类,用于封装应用令牌接口返回的数据
*/
@Data
public class LngJkRpBillDto {
/**
* 电子回单id
*/
private String id;
/**
* 单据编号
*/
private String billno;
/**
* 资金组织编码, 公司三字码
*/
private String orgNumber;
/**
* 资金组织名称
*/
private String orgName;
/**
* 交易日期
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDateTime bizdate;
/**
* 币别代码
*/
private String currencyNumber;
/**
* 币别名称
*/
private String currency;
/**
* 银行账号
*/
private String accountbankNumber;
/**
* 银行账户名称
*/
private String accountbank;
/**
* 明细交易时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime detaildatetime;
/**
* 摘要
*/
private String description;
/**
* 业务类型, 1普通 2上划 3下拨
*/
private String biztype;
/**
* 业务参考号
*/
private String bizrefno;
/**
* 付款金额
*/
private BigDecimal debitamount;
/**
* 收款金额
*/
private BigDecimal creditamount;
/**
* 对方单位
*/
private String oppunit;
/**
* 对方账号
*/
private String oppbanknumber;
/**
* 对方开户行
*/
private String oppbank;
/**
* 明细流水号
*/
private String detailid;
/**
* 电子回单号
*/
private String receiptno;
/**
* 对账标识码
*/
private String bankcheckflag;
/**
* 回单路径文件名
*/
private String filepath;
/**
* 处理状态(N-未处理;E-错误;S-成功)
*/
private String statusProc;
/**
* 处理日志
*/
private String msgProc;
/**
* 处理时间
*/
private LocalDateTime dateProc;
/**
* 供应链回单路径文件名
*/
private String filepathAttr;
/**
* 附件处理状态(N-未处理;E-错误;S-成功)
*/
private String statusProcAttr;
/**
* 附件处理日志
*/
private String msgProcAttr;
/**
* 附件处理时间
*/
private LocalDateTime dateProcAttr;
/**
* 创建人id
*/
private Long createUserId;
/**
* 创建时间
*/
private LocalDateTime createDate;
/**
* 修改人id
*/
private Long modifyUserId;
/**
* 修改时间
*/
private LocalDateTime modifyDate;
/**
* 租户id
*/
private Long tenantId;
/**
* 部门id
*/
private Long deptId;
/**
* 数据权限id
*/
private Long ruleUserId;
}

View File

@ -0,0 +1,182 @@
package com.xjrsoft.module.externalApi.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 应用令牌响应类,用于封装应用令牌接口返回的数据
*/
@Data
public class LngJkRpDto {
/**
* 交易明细id
*/
private String id;
/**
* 交易明细编号
*/
private String billno;
/**
* 资金组织编码, 公司三字码
*/
private String orgNumber;
/**
* 资金组织名称
*/
private String orgName;
/**
* 交易日期
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDateTime bizdate;
/**
* 记账日期
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDateTime transdate;
/**
* 币别代码
*/
private String currencyNumber;
/**
* 币别名称
*/
private String currency;
/**
* 银行账号
*/
private String accountbankNumber;
/**
* 银行账户名称
*/
private String accountbank;
/**
* 交易时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime biztime;
/**
* 摘要
*/
private String description;
/**
* 业务类型, 1普通 2上划 3下拨
*/
private String biztype;
/**
* 业务参考号
*/
private String bizrefno;
/**
* 付款金额
*/
private BigDecimal debitamount;
/**
* 收款金额
*/
private BigDecimal creditamount;
/**
* 余额
*/
private BigDecimal transbalance;
/**
* 对方户名
*/
private String oppunit;
/**
* 对方账号
*/
private String oppbanknumber;
/**
* 对方开户行
*/
private String oppbank;
/**
* 对账标识码
*/
private String bankcheckflag;
/**
* 电子回单号
*/
private String receiptno;
/**
* 明细流水号
*/
private String detailid;
/**
* 处理状态(N-未处理;E-错误;S-成功)
*/
private String statusProc;
/**
* 处理日志
*/
private String msgProc;
/**
* 处理时间
*/
private LocalDateTime dateProc;
/**
* 创建人id
*/
private Long createUserId;
/**
* 创建时间
*/
private LocalDateTime createDate;
/**
* 修改人id
*/
private Long modifyUserId;
/**
* 修改时间
*/
private LocalDateTime modifyDate;
/**
* 租户id
*/
private Long tenantId;
/**
* 部门id
*/
private Long deptId;
/**
* 数据权限id
*/
private Long ruleUserId;
}

View File

@ -0,0 +1,41 @@
package com.xjrsoft.module.externalApi.request;
import lombok.Data;
/**
* 登录API接口请求的参数信息
*/
@Data
public class AccessTokenReq {
/**
* 用户工号
*/
private String user;
/**
* 应用令牌
*/
private String apptoken;
/**
* 租户ID
*/
private String tenantid;
/**
* 数据中心ID如果不输入默认会选取租户下的缺省数据中心
*/
private String accountId;
/**
* 用户类型,默认值WorkerNumber
*/
private String usertype;
/**
* 语言,默认值zh_CN
*/
private String language;
}

View File

@ -0,0 +1,36 @@
package com.xjrsoft.module.externalApi.request;
import lombok.Data;
/**
* 获取应用令牌请求的参数信息
*/
@Data
public class AppTokenReq {
/**
* 第三方appId
*/
private String appId;
/**
* 第三方app的密码
*/
private String appSecuret;
/**
* 租户ID
*/
private String tenantid;
/**
* 数据中心ID如果不输入默认会选取租户下的缺省数据中心
*/
private String accountId;
/**
* 语言,默认值zh_CN
*/
private String language;
}

View File

@ -0,0 +1,16 @@
package com.xjrsoft.module.externalApi.request;
import lombok.Data;
/**
* 获取电子回单附件请求的参数信息
*/
@Data
public class FsspDzhdfjReq {
// 路径文件名
private String path;
// API访问标识
private String accesstoken;
}

View File

@ -0,0 +1,36 @@
package com.xjrsoft.module.externalApi.request;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 获取电子回单信息请求的参数信息
*/
@Data
public class FsspDzhdxxReq {
// 资金组织
private String orgNumber;
// 银行账号
private String accountbank;
// 电子回单号
private String receiptno;
// 交易开始时间
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDateTime beginDate;
// 交易结束时间
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDateTime endDate;
// 请求数据大小
private Integer pageSize;
// 分页页码
private Integer pageNo;
}

View File

@ -0,0 +1,36 @@
package com.xjrsoft.module.externalApi.request;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 获取电子回单信息请求的参数信息
*/
@Data
public class FsspPzReq {
// 核算组织
private String orgNumber;
// 凭证号
private String billno;
// 交易开始时间
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDateTime beginDate;
// 交易结束时间
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDateTime endDate;
// 源单id
private String sourcebill;
// 请求数据大小
private Integer pageSize;
// 分页页码
private Integer pageNo;
}

View File

@ -0,0 +1,36 @@
package com.xjrsoft.module.externalApi.request;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.time.LocalDateTime;
/**
* 获取银行交易明细请求的参数信息
*/
@Data
public class FsspYhjymxReq {
// 资金组织
private String orgNumber;
// 银行账号
private String accountbank;
// 对账标识码
private String bankcheckflag;
// 交易开始时间
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime beginDate;
// 交易结束时间
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime endDate;
// 请求数据大小
private Integer pageSize;
// 分页页码
private Integer pageNo;
}

View File

@ -0,0 +1,25 @@
package com.xjrsoft.module.externalApi.response;
import lombok.Data;
/**
* 应用令牌响应类,用于封装应用令牌接口返回的数据
*/
@Data
public class AccessTokenResponse {
// 请求是否成功的标识true或false
private String success;
// 错误代码0是成功其他为错误
private String errorCode;
// 错误消息
private String errorDesc;
// API访问标识后续其他API访问需要使用。在用access_token访问的过程中如果response error code的值为1表示该access_token已经超时。
private String accessToken;
// Token过期时间
private Long expireTime;
}

View File

@ -0,0 +1,25 @@
package com.xjrsoft.module.externalApi.response;
import lombok.Data;
/**
* 应用令牌响应类,用于封装应用令牌接口返回的数据
*/
@Data
public class AppTokenResponse {
// 请求是否成功的标识true或false
private String success;
// 错误代码0是成功其他为错误
private String errorCode;
// 错误消息
private String errorDesc;
// 应用令牌
private String appToken;
// Token过期时间
private Long expireTime;
}

View File

@ -0,0 +1,18 @@
package com.xjrsoft.module.externalApi.response;
import lombok.Data;
/**
* 应用令牌响应类,用于封装应用令牌接口返回的数据
*/
@Data
public class AsstactentryResp {
private String flexfield;
private String number;
private String ebsnumber;
private String name;
}

View File

@ -0,0 +1,14 @@
package com.xjrsoft.module.externalApi.response;
/**
* FsspResponse 接口,用于定义从联邦服务安全平台(FSSP)获取响应的基本结构
* 该接口提供了一个方法来判断请求是否成功执行
*/
public interface BaseResponse {
/**
* 判断请求是否成功执行
* @return 如果请求成功返回true否则返回false
*/
boolean isSuccess();
}

View File

@ -0,0 +1,28 @@
package com.xjrsoft.module.externalApi.response;
import lombok.Data;
import java.util.List;
/**
* FsspDataResponse类是一个泛型类用于封装分页数据响应结果
* @param <T> 泛型类型,表示分页数据中列表元素的类型
*/
@Data
public class FsspDataResponse<T> {
// 是否最后一页
private Boolean lastPage;
// 请求数据大小,即每页显示的记录数
private Integer pageSize;
// 分页页码从1开始计数
private Integer pageNo;
// 总记录数,即所有数据中的总条目数
private Integer totalCount;
// 明细列表,包含当前页的所有数据记录
private List<T> rows;
}

View File

@ -0,0 +1,28 @@
package com.xjrsoft.module.externalApi.response;
import lombok.Data;
/**
* FsspResponse 接口,用于定义从联邦服务安全平台(FSSP)获取响应的基本结构
* 该接口提供了一个方法来判断请求是否成功执行
*/
@Data
public class FsspResponse implements BaseResponse {
// 响应状态,true、false
private String success;
// 错误代码
private String errorCode;
// 返回消息
private String message;
// 响应数据,泛型类型
private FsspDataResponse data;
@Override
public boolean isSuccess() {
return "true".equals(success);
}
}

View File

@ -0,0 +1,128 @@
package com.xjrsoft.module.externalApi.response;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
/**
* 应用令牌响应类,用于封装应用令牌接口返回的数据
*/
@Data
public class ListgridviewapResp {
/**
* 摘要
*/
private String tallyabstract;
/**
* 会计科目编码
*/
private String account;
/**
* 计量单位编码
*/
private String unit;
/**
* 数量
*/
private BigDecimal quantities;
/**
* 单价
*/
private BigDecimal price;
/**
* 币别编码
*/
private String cuscurrency;
/**
* 汇率
*/
private BigDecimal exrate;
/**
* 原币金额
*/
private BigDecimal oriamount;
/**
* 原币借方
*/
private BigDecimal tallyamount;
/**
* 借方金额(本位币)
*/
private BigDecimal standardamount;
/**
* 原币贷方
*/
private BigDecimal loanamount;
/**
* 贷方金额(本位币)
*/
private BigDecimal loanstanamount;
/**
* 帐户
*/
private String assgrpnum;
/**
* 帐户说明
*/
private String assgrpname;
/**
* 船名
*/
private String shipsname;
/**
* 航次
*/
private String cruises;
/**
* 列次
*/
private String trains;
/**
* 备用1
*/
private String remark1;
/**
* 备用2
*/
private String remark2;
/**
* 备用3
*/
private String remark3;
/**
* 同步ebs单价
*/
private BigDecimal newquantity;
/**
* 同步ebs数量
*/
private BigDecimal newprice;
/**
* 核算维度
*/
List<AsstactentryResp> asstactentry;
}

View File

@ -0,0 +1,149 @@
package com.xjrsoft.module.externalApi.response;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.List;
/**
* 应用令牌响应类,用于封装应用令牌接口返回的数据
*/
@Data
public class PzResp {
/**
* 凭证号
*/
private String billno;
/**
* 核算组织编码, 公司三字码
*/
private String orgNumber;
/**
* 核算组织名称
*/
private String orgName;
/**
* 期间
*/
private String period;
/**
* 附件数
*/
private Integer attachment;
/**
* 账簿类型,默认100001
*/
private String accountbook;
/**
* 业务日期
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDateTime bizdate;
/**
* 记账日期
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDateTime bookdate;
/**
* 凭证类型
*/
private String vouchertype;
/**
* 账簿类型
*/
private String booktype;
/**
* 参考消息
*/
private String description;
/**
* 状态A暂存 B已提交 C已审核 D已作废
*/
private String billstatus;
/**
* 是否过账
*/
private Boolean ispost;
/**
* 复核状态a无需复核 b待复核 c已复核
*/
private String ischeck;
/**
* 创建人工号
*/
private String creatorNumber;
/**
* 创建人
*/
private String creator;
/**
* 创建时间
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDateTime createtime;
/**
* 制单人工号
*/
private String submitterNumber;
/**
* 制单人
*/
private String submitter;
/**
* 审核人工号
*/
private String auditorNumber;
/**
* 审核人
*/
private String auditor;
/**
* 审核时间
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDateTime auditdate;
/**
* 过账人工号
*/
private String posterNumber;
/**
* 过账人
*/
private String poster;
/**
* 过账时间
*/
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDateTime posttime;
/**
* 记账明细
*/
List<ListgridviewapResp> listgridviewap;
}

View File

@ -0,0 +1,35 @@
package com.xjrsoft.module.externalApi.response;
import lombok.Data;
/**
* FsspResponse类是一个泛型类用于封装Fssp接口的响应数据
* @param <T> 泛型类型,表示响应数据的具体类型
*/
@Data
public class TokenResponse<T> implements BaseResponse {
// 响应状态
private String state;
// 错误代码
private String errorCode;
// 错误信息
private String errorMsg;
// 响应消息
private String message;
// 响应数据,泛型类型
private T data;
/**
* 判断响应是否成功
* @return 如果状态为"success"则返回true否则返回false
*/
public boolean isSuccess() {
return state != null && "success".equals(state);
}
}

View File

@ -104,7 +104,7 @@ public class ContractPurPngController {
@ApiOperation(value = "修改LngContract") @ApiOperation(value = "修改LngContract")
@SaCheckPermission("contractPurPng:edit") @SaCheckPermission("contractPurPng:edit")
public R update(@Valid @RequestBody UpdateLngContractPurDto dto){ public R update(@Valid @RequestBody UpdateLngContractPurDto dto){
//return R.ok(dataService.updateById(dto));
boolean res = dataService.updateById(dto, new DataOperationListener<UpdateLngContractPurDto>() { boolean res = dataService.updateById(dto, new DataOperationListener<UpdateLngContractPurDto>() {
@Override @Override
public UpdateLngContractPurDto before(DataOperationContent<UpdateLngContractPurDto> content) { public UpdateLngContractPurDto before(DataOperationContent<UpdateLngContractPurDto> content) {

View File

@ -1,6 +1,18 @@
package com.xjrsoft.module.contract.controller; 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.google.api.client.util.Lists;
import com.pictc.datalog.DataOperationContent; import com.pictc.datalog.DataOperationContent;
import com.pictc.datalog.DataOperationListener; 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.contract.service.IContractSalesService;
import com.xjrsoft.module.datalog.service.DatalogService; import com.xjrsoft.module.datalog.service.DatalogService;
import com.xjrsoft.module.datalog.vo.DataChangeLogVo; import com.xjrsoft.module.datalog.vo.DataChangeLogVo;
import cn.dev33.satoken.annotation.SaCheckPermission;
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;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
/** /**
* @title: 国内管道气销售 * @title: 国内管道气销售

View File

@ -0,0 +1,126 @@
package com.xjrsoft.module.contract.controller;
import java.util.List;
import javax.validation.Valid;
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<LngContractSalesPngPoint> 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<LngContractSalesPngPoint> page = contractSalesPngPointService.page(ConventPage.getPage(dto), queryWrapper);
PageOutput<LngContractSalesPngPointPageVo> 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<DataChangeLogVo> 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<UpdateLngContractSalesPngPointDto>() {
@Override
public UpdateLngContractSalesPngPointDto before(DataOperationContent<UpdateLngContractSalesPngPointDto> content) {
return null;
}
@Override
public UpdateLngContractSalesPngPointDto after(DataOperationContent<UpdateLngContractSalesPngPointDto> 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<UpdateLngContractSalesPngPointDto>() {
@Override
public UpdateLngContractSalesPngPointDto before(DataOperationContent<UpdateLngContractSalesPngPointDto> content) {
return null;
}
@Override
public UpdateLngContractSalesPngPointDto after(DataOperationContent<UpdateLngContractSalesPngPointDto> content) {
return null;
}
}));
}
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -1,9 +1,13 @@
package com.xjrsoft.module.contract.mapper; 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.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.yulichang.base.MPJBaseMapper; import com.github.yulichang.base.MPJBaseMapper;
import com.xjrsoft.module.contract.entity.LngContractSalesPngPoint; import com.xjrsoft.module.contract.entity.LngContractSalesPngPoint;
import org.apache.ibatis.annotations.Mapper; import com.xjrsoft.module.contract.vo.LngContractSalesPngPointVo;
/** /**
* @title: mapper * @title: mapper
@ -14,4 +18,15 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper @Mapper
public interface LngContractSalesPngPointMapper extends MPJBaseMapper<LngContractSalesPngPoint>, BaseMapper<LngContractSalesPngPoint> { public interface LngContractSalesPngPointMapper extends MPJBaseMapper<LngContractSalesPngPoint>, BaseMapper<LngContractSalesPngPoint> {
@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);
} }

View File

@ -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.vo.LngContractSalesPngPointPurVo;
/**
* @title: mapper
* @Author 管理员
* @Date: 2026-04-02
* @Version 1.0
*/
@Mapper
public interface LngContractSalesPngPointPurMapper extends MPJBaseMapper<LngContractSalesPngPointPur> , BaseMapper<LngContractSalesPngPointPur> {
@Select("SELECT ksppp.*, bspu.full_name AS point_up_name, kp.k_name AS kp_name, " +
" su.su_sname AS su_name"+
" FROM lng_contract_sales_png_point_pur ksppp" +
" LEFT JOIN lng_contract kp ON kp.id=ksppp.kp_id" +
" LEFT JOIN lng_supplier su ON su.su_code=ksppp.su_code"+
" LEFT JOIN lng_b_station_png bspu ON bspu.code=ksppp.point_up_code" +
" WHERE ksppp.kspp_id = #{ksppId} order by ksppp.sort asc")
List<LngContractSalesPngPointPurVo> queryLngContractSalesPngPointPurList(@Param("ksppId") Long ksppId);
}

View File

@ -0,0 +1,37 @@
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<LngContractSalesPngPointTrans> , BaseMapper<LngContractSalesPngPointTrans> {
@Select("SELECT ksppt.*, su_ys.su_sname AS su_ys_name, kt.k_name AS kt_name, " +
" bspd.full_name AS point_dely_name,bspu.full_name AS point_up_name, " +
" bput.full_name AS point_up_trans_name,bpdt.full_name AS point_dely_trans_name " +
" FROM lng_contract_sales_png_point_trans ksppt" +
" LEFT JOIN lng_contract kt ON kt.id=ksppt.kt_id" +
" LEFT JOIN lng_b_station_png bspd ON bspd.code=ksppt.point_dely_code"+
" LEFT JOIN lng_b_station_png bspu ON bspu.code=ksppt.point_up_code"+
" LEFT JOIN lng_b_station_png bput ON bput.code=ksppt.point_up_trans_code"+
" LEFT JOIN lng_b_station_png bpdt ON bpdt.code=ksppt.point_dely_trans_code"+
" LEFT JOIN lng_supplier su_ys ON su_ys.su_code=ksppt.su_code" +
" WHERE ksppt.ksppp_id = #{kspppId} order by ksppt.sort asc ")
List<LngContractSalesPngPointTransVo> queryLngContractSalesPngPointTransList(@Param("kspppId") Long kspppId);
}

View File

@ -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<LngContractSalesPngPoint>, MPJDeepService<LngContractSalesPngPoint>, MPJRelationService<LngContractSalesPngPoint> {
LngContractSalesPngPointVo getInfoById(Long id);
}

View File

@ -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<LngContractSalesPngPointMapper, LngContractSalesPngPoint> 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<LngContractSalesPngPointPurVo> cspPointPurVoList = cspPointPurMapper.queryLngContractSalesPngPointPurList(id);
if(cspPointPurVoList != null && cspPointPurVoList.size() >0) {
cspPointVo.setLngContractSalesPngPointPurList(cspPointPurVoList);
for(LngContractSalesPngPointPurVo cspPointPur:cspPointPurVoList) {
List<LngContractSalesPngPointTransVo> cspPointTransVoList = cspPointTransMapper.queryLngContractSalesPngPointTransList(cspPointPur.getId());
cspPointPur.setLngContractSalesPngPointTransList(cspPointTransVoList);
}
}
return cspPointVo;
}
}

View File

@ -0,0 +1,114 @@
package com.xjrsoft.module.dayPlan.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.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.datalog.service.DatalogService;
import com.xjrsoft.module.datalog.vo.DataChangeLogVo;
import com.xjrsoft.module.dayPlan.dto.LngPngSettleHdrEcPageDto;
import com.xjrsoft.module.dayPlan.dto.LngPngSettleHdrPageDto;
import com.xjrsoft.module.dayPlan.dto.UpdateLngPngSettleHdrDto;
import com.xjrsoft.module.dayPlan.dto.UpdateLngPngSettleHdrEcDto;
import com.xjrsoft.module.dayPlan.entity.LngPngSettleHdr;
import com.xjrsoft.module.dayPlan.entity.LngPngSettleHdrEc;
import com.xjrsoft.module.dayPlan.service.IPngSettleHdrEcService;
import com.xjrsoft.module.dayPlan.vo.LngPngSettleHdrEcPageVo;
import com.xjrsoft.module.dayPlan.vo.LngPngSettleHdrEcVo;
import com.xjrsoft.module.dayPlan.vo.LngPngSettleHdrPageVo;
import com.xjrsoft.module.dayPlan.vo.LngPngSettleHdrPurVo;
import com.xjrsoft.module.dayPlan.vo.LngPngSettleHdrVo;
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 io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
/**
* @title: 电商-管道气销售结算
* @Author 管理员
* @Date: 2026-04-07
* @Version 1.0
*/
@RestController
@RequestMapping("/dayPlan/pngSettleHdrEc")
@Api(value = "/dayPlan" + "/pngSettleHdrEc",tags = "电商-管道气销售结算代码")
@AllArgsConstructor
public class PngSettleHdrEcController {
private final IPngSettleHdrEcService pngSettleHdrEcService;
private final DatalogService dataService;
@GetMapping(value = "/page")
@ApiOperation(value="LngPngSettleHdr列表(分页)")
@SaCheckPermission("pngSettleHdrEc:list")
public R page(@Valid LngPngSettleHdrEcPageDto dto){
LambdaQueryWrapper<LngPngSettleHdrEc> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper
.eq(ObjectUtil.isNotNull(dto.getId()),LngPngSettleHdrEc::getId,dto.getId())
//.between(ObjectUtil.isNotNull(dto.getSettleMonthStart()) && ObjectUtil.isNotNull(dto.getSettleMonthEnd()),LngPngSettleHdr::getSettleMonth,dto.getSettleMonthStart(),dto.getSettleMonthEnd())
//.between(ObjectUtil.isNotNull(dto.getDateFromStart()) && ObjectUtil.isNotNull(dto.getDateFromEnd()),LngPngSettleHdr::getDateFrom,dto.getDateFromStart(),dto.getDateFromEnd())
//.between(ObjectUtil.isNotNull(dto.getDateToStart()) && ObjectUtil.isNotNull(dto.getDateToEnd()),LngPngSettleHdr::getDateTo,dto.getDateToStart(),dto.getDateToEnd())
.eq(ObjectUtil.isNotNull(dto.getComId()),LngPngSettleHdrEc::getComId,dto.getComId())
.like(StrUtil.isNotBlank(dto.getApproCode()),LngPngSettleHdrEc::getApproCode,dto.getApproCode())
.orderByDesc(LngPngSettleHdrEc::getId)
.select(LngPngSettleHdrEc.class,x -> VoToColumnUtil.fieldsToColumns(LngPngSettleHdrEcPageVo.class).contains(x.getProperty()));
IPage<LngPngSettleHdrEc> page = pngSettleHdrEcService.page(ConventPage.getPage(dto), queryWrapper);
PageOutput<LngPngSettleHdrEcPageVo> pageOutput = ConventPage.getPageOutput(page, LngPngSettleHdrEcPageVo.class);
return R.ok(pageOutput);
}
@GetMapping(value = "/info")
@ApiOperation(value="根据id查询LngPngSettleHdr信息")
@SaCheckPermission("pngSettleHdrEc:detail")
public R info(@RequestParam Long id){
LngPngSettleHdrEcVo lngPngSettleHdrEcVo = pngSettleHdrEcService.getInfoById(id);
return R.ok(lngPngSettleHdrEcVo);
}
@GetMapping(value = "/datalog")
@ApiOperation(value="根据id查询LngPngSettleHdr数据详细日志")
@SaCheckPermission("pngSettleHdrEc:datalog")
public R datalog(@RequestParam Long id){
List<DataChangeLogVo> logs = dataService.findLogsByEntityId(UpdateLngPngSettleHdrEcDto.class,id);
return R.ok(logs);
}
@PutMapping
@ApiOperation(value = "修改LngPngSettleHdr")
@SaCheckPermission("pngSettleHdrEc:edit")
public R update(@Valid @RequestBody UpdateLngPngSettleHdrEcDto dto){
return R.ok(dataService.updateById(dto));
}
@PostMapping("/uploadBill")
@ApiOperation(value = "上传修改LngPngSettleHdr对账单")
//@SaCheckPermission("pngSettleHdrEc:uploadBill")
public R uploadBill(@Valid @RequestBody UpdateLngPngSettleHdrEcDto dto){
pngSettleHdrEcService.uploadBill(dto);
return R.ok();
}
}

View File

@ -20,21 +20,17 @@ import com.pictc.datalog.DataOperationListener;
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;
import com.xjrsoft.common.utils.VoToColumnUtil;
import com.xjrsoft.module.datalog.service.DatalogService; import com.xjrsoft.module.datalog.service.DatalogService;
import com.xjrsoft.module.datalog.vo.DataChangeLogVo; import com.xjrsoft.module.datalog.vo.DataChangeLogVo;
import com.xjrsoft.module.dayPlan.dto.LngPngSettleHdrPageDto; import com.xjrsoft.module.dayPlan.dto.LngPngSettleHdrPageDto;
import com.xjrsoft.module.dayPlan.dto.UpdateLngPngSettleHdrDto; import com.xjrsoft.module.dayPlan.dto.UpdateLngPngSettleHdrDto;
import com.xjrsoft.module.dayPlan.dto.UpdateLngPngSettleHdrPurDto; import com.xjrsoft.module.dayPlan.dto.UpdateLngPngSettleHdrPurDto;
import com.xjrsoft.module.dayPlan.entity.LngPngSettleHdr;
import com.xjrsoft.module.dayPlan.entity.LngPngSettleHdrPur; import com.xjrsoft.module.dayPlan.entity.LngPngSettleHdrPur;
import com.xjrsoft.module.dayPlan.service.IPngSettleHdrPurService; import com.xjrsoft.module.dayPlan.service.IPngSettleHdrPurService;
import com.xjrsoft.module.dayPlan.vo.LngPngSettleHdrPageVo; import com.xjrsoft.module.dayPlan.vo.LngPngSettleHdrPageVo;
import com.xjrsoft.module.dayPlan.vo.LngPngSettleHdrPurVo; import com.xjrsoft.module.dayPlan.vo.LngPngSettleHdrPurVo;
import com.xjrsoft.module.dayPlan.vo.LngPngSettleHdrVo;
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 io.swagger.annotations.Api; import io.swagger.annotations.Api;

View File

@ -0,0 +1,181 @@
package com.xjrsoft.module.dayPlan.entity;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
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;
/**
* @title: 电商-管道气销售结算
* @Author 管理员
* @Date: 2026-04-07
* @Version 1.0
*/
@Data
@TableName("lng_png_settle_hdr")
@ApiModel(value = "电商-管道气销售结算对象", description = "电商-管道气销售结算")
public class LngPngSettleHdrEc implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@ApiModelProperty("主键")
@TableId
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long id;
/**
* 结算月
*/
@ApiModelProperty("结算月")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime settleMonth;
/**
* 结算月开始日期
*/
@ApiModelProperty("结算月开始日期")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateFrom;
/**
* 结算月结束日期
*/
@ApiModelProperty("结算月结束日期")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateTo;
/**
* 结算类型(I-气费收入/C-气费成本/T-管输费/P-加工费)
*/
@ApiModelProperty("结算类型(I-气费收入/C-气费成本/T-管输费/P-加工费)")
private String settleTypeCode;
/**
* 供应商/客户(根据结算类型关联供应商/客户)
*/
@ApiModelProperty("供应商/客户(根据结算类型关联供应商/客户)")
private String cpCode;
/**
* 交易主体(天然气公司/惠贸)
*/
@ApiModelProperty("交易主体(天然气公司/惠贸)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private Long comId;
/**
* 结算总数量(吉焦)(不包含二次结算的数量)
*/
@ApiModelProperty("结算总数量(吉焦)(不包含二次结算的数量)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal qtySettleGj;
/**
* 结算总数量(方)(不包含二次结算的数量)
*/
@ApiModelProperty("结算总数量(方)(不包含二次结算的数量)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal qtySettleM3;
/**
* 结算总金额
*/
@ApiModelProperty("结算总金额")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private BigDecimal amount;
/**
* 账期内含预收付款(Y-是N-否正常结算Y特殊结算N)
*/
@ApiModelProperty("账期内含预收付款(Y-是N-否正常结算Y特殊结算N)")
private String rpSign;
/**
* 对账单(不显示,挂对账单附件用)
*/
@ApiModelProperty("对账单(不显示,挂对账单附件用)")
private String billAccount;
/**
* 审批状态
*/
@ApiModelProperty("审批状态")
private String approCode;
/**
* 结算说明
*/
@ApiModelProperty("结算说明")
private String settleDesc;
/**
* 备注
*/
@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;
}

View File

@ -0,0 +1,18 @@
package com.xjrsoft.module.dayPlan.mapper;
import org.apache.ibatis.annotations.Mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xjrsoft.module.dayPlan.entity.LngPngSettleHdr;
import com.xjrsoft.module.dayPlan.entity.LngPngSettleHdrEc;
/**
* @title: mapper
* @Author 管理员
* @Date: 2026-04-07
* @Version 1.0
*/
@Mapper
public interface LngPngSettleHdrEcMapper extends BaseMapper<LngPngSettleHdrEc> {
}

View File

@ -0,0 +1,22 @@
package com.xjrsoft.module.dayPlan.service;
import javax.validation.Valid;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xjrsoft.module.dayPlan.dto.UpdateLngPngSettleHdrEcDto;
import com.xjrsoft.module.dayPlan.entity.LngPngSettleHdrEc;
import com.xjrsoft.module.dayPlan.vo.LngPngSettleHdrEcVo;
/**
* @title: service
* @Author 管理员
* @Date: 2026-04-07
* @Version 1.0
*/
public interface IPngSettleHdrEcService extends IService<LngPngSettleHdrEc> {
LngPngSettleHdrEcVo getInfoById(Long id);
void uploadBill(@Valid UpdateLngPngSettleHdrEcDto dto);
}

View File

@ -9,11 +9,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.pictc.enums.BusinessCode; import com.pictc.enums.BusinessCode;
import com.xjrsoft.common.exception.BusinessException; import com.xjrsoft.common.exception.BusinessException;
import com.xjrsoft.module.dayPlan.entity.LngLngMeasurePur; import com.xjrsoft.module.dayPlan.entity.LngLngMeasurePur;
import com.xjrsoft.module.dayPlan.entity.LngPngMeasureSalesPur;
import com.xjrsoft.module.dayPlan.mapper.LngLngMeasurePurMapper; import com.xjrsoft.module.dayPlan.mapper.LngLngMeasurePurMapper;
import com.xjrsoft.module.dayPlan.service.ILngMeasurePurService; import com.xjrsoft.module.dayPlan.service.ILngMeasurePurService;
import com.xjrsoft.module.dayPlan.vo.LngLngMeasurePurVo; import com.xjrsoft.module.dayPlan.vo.LngLngMeasurePurVo;
import com.xjrsoft.module.dayPlan.vo.LngPngMeasureSalesPurVo;
import com.xjrsoft.module.system.client.IFileClient; import com.xjrsoft.module.system.client.IFileClient;
import com.xjrsoft.module.system.vo.LngFileUploadVo; import com.xjrsoft.module.system.vo.LngFileUploadVo;

View File

@ -9,13 +9,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.pictc.enums.BusinessCode; import com.pictc.enums.BusinessCode;
import com.xjrsoft.common.exception.BusinessException; import com.xjrsoft.common.exception.BusinessException;
import com.xjrsoft.module.dayPlan.entity.LngLngMeasure; import com.xjrsoft.module.dayPlan.entity.LngLngMeasure;
import com.xjrsoft.module.dayPlan.entity.LngPngMeasureSalesPur;
import com.xjrsoft.module.dayPlan.mapper.LngLngMeasureMapper; import com.xjrsoft.module.dayPlan.mapper.LngLngMeasureMapper;
import com.xjrsoft.module.dayPlan.service.ILngMeasureSalesService; import com.xjrsoft.module.dayPlan.service.ILngMeasureSalesService;
import com.xjrsoft.module.dayPlan.vo.LngLngMeasurePurVo;
import com.xjrsoft.module.dayPlan.vo.LngLngMeasureVo; import com.xjrsoft.module.dayPlan.vo.LngLngMeasureVo;
import com.xjrsoft.module.dayPlan.vo.LngPngMeasurePurVo;
import com.xjrsoft.module.dayPlan.vo.LngPngMeasureSalesPurVo;
import com.xjrsoft.module.system.client.IFileClient; import com.xjrsoft.module.system.client.IFileClient;
import com.xjrsoft.module.system.vo.LngFileUploadVo; import com.xjrsoft.module.system.vo.LngFileUploadVo;

View File

@ -0,0 +1,63 @@
package com.xjrsoft.module.dayPlan.service.impl;
import javax.validation.Valid;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.pictc.datalog.DataOperationContent;
import com.pictc.datalog.DataOperationListener;
import com.xjrsoft.module.datalog.service.DatalogService;
import com.xjrsoft.module.dayPlan.dto.UpdateLngPngSettleHdrEcDto;
import com.xjrsoft.module.dayPlan.entity.LngPngSettleHdrEc;
import com.xjrsoft.module.dayPlan.mapper.LngPngSettleHdrEcMapper;
import com.xjrsoft.module.dayPlan.service.IPngSettleHdrEcService;
import com.xjrsoft.module.dayPlan.vo.LngPngSettleHdrEcVo;
import com.xjrsoft.module.system.client.IFileClient;
import cn.hutool.core.bean.BeanUtil;
import lombok.AllArgsConstructor;
/**
* @title: service
* @Author 管理员
* @Date: 2026-04-07
* @Version 1.0
*/
@Service
@AllArgsConstructor
public class PngSettleHdrEcServiceImpl extends ServiceImpl<LngPngSettleHdrEcMapper, LngPngSettleHdrEc> implements IPngSettleHdrEcService {
private final IFileClient fileClient;
private final DatalogService dataService;
@Override
public LngPngSettleHdrEcVo getInfoById(Long id) {
return null;
}
@Override
public void uploadBill(@Valid UpdateLngPngSettleHdrEcDto dto) {
LngPngSettleHdrEc temp = this.getById(dto.getId());
UpdateLngPngSettleHdrEcDto tempDto = BeanUtil.copyProperties(temp, UpdateLngPngSettleHdrEcDto.class);
//List<LngFileUploadVo> billFileList = fileClient.getTableFiles("lng_png_settle_hdr", "billList", dto.getId());
tempDto.setBillList(dto.getBillList());
dataService.updateById(tempDto,new DataOperationListener<UpdateLngPngSettleHdrEcDto>() {
@Override
public UpdateLngPngSettleHdrEcDto before(DataOperationContent<UpdateLngPngSettleHdrEcDto> content) {
return null;
}
@Override
public UpdateLngPngSettleHdrEcDto after(DataOperationContent<UpdateLngPngSettleHdrEcDto> content) {
return null;
}
});
}
}

View File

@ -6,7 +6,6 @@ import javax.validation.Valid;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.yulichang.base.MPJBaseServiceImpl; import com.github.yulichang.base.MPJBaseServiceImpl;
import com.pictc.datalog.DataOperationContent; import com.pictc.datalog.DataOperationContent;
import com.pictc.datalog.DataOperationListener; import com.pictc.datalog.DataOperationListener;
@ -19,10 +18,7 @@ import com.pictc.utils.CollectionUtils;
import com.pictc.utils.StringUtils; import com.pictc.utils.StringUtils;
import com.xjrsoft.common.exception.BusinessException; import com.xjrsoft.common.exception.BusinessException;
import com.xjrsoft.module.datalog.service.DatalogService; import com.xjrsoft.module.datalog.service.DatalogService;
import com.xjrsoft.module.dayPlan.dto.UpdateLngPngSettleHdrPurDto;
import com.xjrsoft.module.dayPlan.entity.LngPngSettleHdrPur; import com.xjrsoft.module.dayPlan.entity.LngPngSettleHdrPur;
import com.xjrsoft.module.dayPlan.entity.LngPngSettlePur;
import com.xjrsoft.module.dayPlan.entity.LngPngSettlePurDtl;
import com.xjrsoft.module.dayPlan.mapper.LngPngSettleHdrPurMapper; import com.xjrsoft.module.dayPlan.mapper.LngPngSettleHdrPurMapper;
import com.xjrsoft.module.dayPlan.mapper.LngPngSettlePurDtlMapper; import com.xjrsoft.module.dayPlan.mapper.LngPngSettlePurDtlMapper;
import com.xjrsoft.module.dayPlan.mapper.LngPngSettlePurMapper; import com.xjrsoft.module.dayPlan.mapper.LngPngSettlePurMapper;

View File

@ -6,7 +6,6 @@ import javax.validation.Valid;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.yulichang.base.MPJBaseServiceImpl; import com.github.yulichang.base.MPJBaseServiceImpl;
import com.pictc.datalog.DataOperationContent; import com.pictc.datalog.DataOperationContent;
import com.pictc.datalog.DataOperationListener; import com.pictc.datalog.DataOperationListener;
@ -19,10 +18,7 @@ import com.pictc.utils.CollectionUtils;
import com.pictc.utils.StringUtils; import com.pictc.utils.StringUtils;
import com.xjrsoft.common.exception.BusinessException; import com.xjrsoft.common.exception.BusinessException;
import com.xjrsoft.module.datalog.service.DatalogService; import com.xjrsoft.module.datalog.service.DatalogService;
import com.xjrsoft.module.dayPlan.dto.UpdateLngPngSettleHdrDto;
import com.xjrsoft.module.dayPlan.entity.LngPngSettleHdr; import com.xjrsoft.module.dayPlan.entity.LngPngSettleHdr;
import com.xjrsoft.module.dayPlan.entity.LngPngSettleSales;
import com.xjrsoft.module.dayPlan.entity.LngPngSettleSalesDtl;
import com.xjrsoft.module.dayPlan.mapper.LngPngSettleHdrMapper; import com.xjrsoft.module.dayPlan.mapper.LngPngSettleHdrMapper;
import com.xjrsoft.module.dayPlan.mapper.LngPngSettleSalesDtlMapper; import com.xjrsoft.module.dayPlan.mapper.LngPngSettleSalesDtlMapper;
import com.xjrsoft.module.dayPlan.mapper.LngPngSettleSalesMapper; import com.xjrsoft.module.dayPlan.mapper.LngPngSettleSalesMapper;

View File

@ -0,0 +1,77 @@
package com.xjrsoft.module.externalApi.client;
import com.pictc.enums.BusinessCode;
import com.xjrsoft.common.exception.BusinessException;
import com.xjrsoft.module.externalApi.callback.FsspCallback;
import com.xjrsoft.module.externalApi.response.BaseResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.*;
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestTemplate;
import java.net.URI;
import java.util.Collections;
import java.util.Map;
@Slf4j
@Component
public class FsspHttpClient {
private static RestTemplate rest = new RestTemplate();
public static <Req, Resp extends BaseResponse> void post(Req req,
String url,
Class<Resp> clz,
FsspCallback<Resp> callback) {
post(req, url, clz, null, callback);
}
public static <Req, Resp extends BaseResponse> void post(Req req,
String url,
Class<Resp> clz,
Map<String, String> headerMap,
FsspCallback<Resp> callback) {
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
if (headerMap != null) {
for (Map.Entry<String, String> entry : headerMap.entrySet()) {
headers.add(entry.getKey(), entry.getValue());
}
}
RequestEntity<Req> request = new RequestEntity<Req>(req, headers, HttpMethod.POST, URI.create(url));
ResponseEntity<Resp> responseEntity = rest.exchange(request, clz);
if(!responseEntity.hasBody()) {
throw new BusinessException(BusinessCode.of(10901,"接口请求失败"));
}
Resp response = responseEntity.getBody();
if(response != null && response.isSuccess()) {
callback.execute(response);
}else {
throw new BusinessException(BusinessCode.of(10902,"接口响应失败"));
}
}
public static byte[] downloadFile(String path, String accessToken, String url) {
StringBuilder builder = new StringBuilder();
builder.append(url);
builder.append("?path=");
builder.append(path);
builder.append("&accesstoken=");
builder.append(accessToken);
HttpHeaders headers = new HttpHeaders();
headers.setAccept(Collections.singletonList(MediaType.APPLICATION_OCTET_STREAM));
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
HttpEntity<String> entity = new HttpEntity<>(headers);
ResponseEntity<byte[]> response = rest.exchange(
url,
HttpMethod.GET,
entity,
byte[].class
);
if (response.getStatusCode() == HttpStatus.OK) {
return response.getBody();
} else {
throw new BusinessException(BusinessCode.of(10902,"下载失败HTTP状态码: " + response.getStatusCode()));
}
}
}

View File

@ -0,0 +1,44 @@
package com.xjrsoft.module.externalApi.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Component;
@Data
@Component
@RefreshScope
@ConfigurationProperties("xjrsoft.fssp")
public class FsspConfig {
private String appTokenUrl;
private String appId;
private String appSecuret;
private String tenantid;
private String accountId;
private String language;
private String loginUrl;
private String user;
private String usertype;
private String yhjymxUrl;
private String orgNumber;
private String accountbank;
private String dzhdxxUrl;
private String dzhdfjUrl;
private String pzUrl;
}

View File

@ -0,0 +1,233 @@
package com.xjrsoft.module.externalApi.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.math.BigDecimal;
import java.time.LocalDateTime;
/**
* @title: 接口-收付款
* @Author 管理员
* @Date: 2025-12-24
* @Version 1.0
*/
@Data
@TableName("lng_jk_rp")
@ApiModel(value = "接口-收付款对象", description = "接口-收付款")
public class LngJkRp implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 交易明细id
*/
@ApiModelProperty("交易明细id")
@TableId
private Long id;
/**
* 交易明细编号
*/
@ApiModelProperty("交易明细编号")
private String billno;
/**
* 资金组织编码, 公司三字码
*/
@ApiModelProperty("资金组织编码(公司三字码)")
private String orgNumber;
/**
* 资金组织名称
*/
@ApiModelProperty("资金组织名称")
private String orgName;
/**
* 交易日期
*/
@ApiModelProperty("交易日期(格式yyyy-MM-dd)")
private LocalDateTime bizdate;
/**
* 记账日期
*/
@ApiModelProperty("记账日期(格式yyyy-MM-dd)")
private LocalDateTime transdate;
/**
* 币别代码
*/
@ApiModelProperty("币别代码")
private String currencyNumber;
/**
* 币别名称
*/
@ApiModelProperty("币别名称")
private String currency;
/**
* 银行账号
*/
@ApiModelProperty("银行账号")
private String accountbankNumber;
/**
* 银行账户名称
*/
@ApiModelProperty("银行账户名称")
private String accountbank;
/**
* 交易时间
*/
@ApiModelProperty("交易时间(格式yyyy-MM-dd HH:mm:ss)")
private LocalDateTime biztime;
/**
* 摘要
*/
@ApiModelProperty("摘要")
private String description;
/**
* 业务类型, 1普通 2上划 3下拨
*/
@ApiModelProperty("业务类型(1普通2上划3下拨)")
private String biztype;
/**
* 业务参考号
*/
@ApiModelProperty("业务参考号")
private String bizrefno;
/**
* 付款金额
*/
@ApiModelProperty("付款金额")
private BigDecimal debitamount;
/**
* 收款金额
*/
@ApiModelProperty("收款金额")
private BigDecimal creditamount;
/**
* 余额
*/
@ApiModelProperty("余额")
private BigDecimal transbalance;
/**
* 对方户名
*/
@ApiModelProperty("对方户名")
private String oppunit;
/**
* 对方账号
*/
@ApiModelProperty("对方账号")
private String oppbanknumber;
/**
* 对方开户行
*/
@ApiModelProperty("对方开户行")
private String oppbank;
/**
* 对账标识码
*/
@ApiModelProperty("对账标识码(可用于匹配付款单)")
private String bankcheckflag;
/**
* 电子回单号
*/
@ApiModelProperty("电子回单号(可用于匹配电子回单)")
private String receiptno;
/**
* 明细流水号
*/
@ApiModelProperty("明细流水号")
private String detailid;
/**
* 处理状态(N-未处理;E-错误;S-成功)
*/
@ApiModelProperty("处理状态(N-未处理;E-错误;S-成功)")
private String statusProc;
/**
* 处理日志
*/
@ApiModelProperty("处理日志")
private String msgProc;
/**
* 处理时间
*/
@ApiModelProperty("处理时间")
private LocalDateTime dateProc;
/**
* 创建人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,247 @@
package com.xjrsoft.module.externalApi.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.math.BigDecimal;
import java.time.LocalDateTime;
/**
* @title: 接口-收付款-电子回单
* @Author 管理员
* @Date: 2025-12-24
* @Version 1.0
*/
@Data
@TableName("lng_jk_rp_bill")
@ApiModel(value = "接口-收付款-电子回单对象", description = "接口-收付款-电子回单")
public class LngJkRpBill {
/**
* 电子回单id
*/
@ApiModelProperty("电子回单id")
@TableId
private String id;
/**
* 单据编号
*/
@ApiModelProperty("单据编号")
private String billno;
/**
* 资金组织编码(公司三字码)
*/
@ApiModelProperty("资金组织编码(公司三字码)")
private String orgNumber;
/**
* 资金组织名称
*/
@ApiModelProperty("资金组织名称")
private String orgName;
/**
* 交易日期(格式yyyy-MM-dd)
*/
@ApiModelProperty("交易日期(格式yyyy-MM-dd)")
private LocalDateTime bizdate;
/**
* 币别代码
*/
@ApiModelProperty("币别代码")
private String currencyNumber;
/**
* 币别名称
*/
@ApiModelProperty("币别名称")
private String currency;
/**
* 银行账号
*/
@ApiModelProperty("银行账号")
private String accountbankNumber;
/**
* 银行账户名称
*/
@ApiModelProperty("银行账户名称")
private String accountbank;
/**
* 明细交易时间(格式yyyy-MM-dd HH:mm:ss)
*/
@ApiModelProperty("明细交易时间(格式yyyy-MM-dd HH:mm:ss)")
private LocalDateTime detaildatetime;
/**
* 摘要
*/
@ApiModelProperty("摘要")
private String description;
/**
* 业务类型(1普通2上划3下拨)
*/
@ApiModelProperty("业务类型(1普通2上划3下拨)")
private String biztype;
/**
* 业务参考号
*/
@ApiModelProperty("业务参考号")
private String bizrefno;
/**
* 付款金额
*/
@ApiModelProperty("付款金额")
private BigDecimal debitamount;
/**
* 收款金额
*/
@ApiModelProperty("收款金额")
private BigDecimal creditamount;
/**
* 对方单位
*/
@ApiModelProperty("对方单位")
private String oppunit;
/**
* 对方账号
*/
@ApiModelProperty("对方账号")
private String oppbanknumber;
/**
* 对方开户行
*/
@ApiModelProperty("对方开户行")
private String oppbank;
/**
* 明细流水号
*/
@ApiModelProperty("明细流水号")
private String detailid;
/**
* 电子回单号(可用于匹配银行交易明细)
*/
@ApiModelProperty("电子回单号(可用于匹配银行交易明细)")
private String receiptno;
/**
* 对账标识码
*/
@ApiModelProperty("对账标识码")
private String bankcheckflag;
/**
* 回单路径文件名
*/
@ApiModelProperty("回单路径文件名")
private String filepath;
/**
* 处理状态(N-未处理;E-错误;S-成功)
*/
@ApiModelProperty("处理状态(N-未处理;E-错误;S-成功)")
private String statusProc;
/**
* 处理日志
*/
@ApiModelProperty("处理日志")
private String msgProc;
/**
* 处理时间
*/
@ApiModelProperty("处理时间")
private LocalDateTime dateProc;
/**
* 供应链回单路径文件名
*/
@ApiModelProperty("供应链回单路径文件名")
private String filepathAttr;
/**
* 附件处理状态(N-未处理;E-错误;S-成功)
*/
@ApiModelProperty("附件处理状态(N-未处理;E-错误;S-成功)")
private String statusProcAttr;
/**
* 附件处理日志
*/
@ApiModelProperty("附件处理日志")
private String msgProcAttr;
/**
* 附件处理时间
*/
@ApiModelProperty("附件处理时间")
private LocalDateTime dateProcAttr;
/**
* 创建人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,244 @@
package com.xjrsoft.module.externalApi.handler;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.google.api.client.util.Lists;
import com.google.api.client.util.Maps;
import com.pictc.enums.BusinessCode;
import com.xjrsoft.common.exception.BusinessException;
import com.xjrsoft.common.utils.CollectionUtils;
import com.xjrsoft.common.utils.RedisUtil;
import com.xjrsoft.module.externalApi.client.FsspHttpClient;
import com.xjrsoft.module.externalApi.config.FsspConfig;
import com.xjrsoft.module.externalApi.dto.LngJkRpBillDto;
import com.xjrsoft.module.externalApi.dto.LngJkRpDto;
import com.xjrsoft.module.externalApi.entity.LngJkRp;
import com.xjrsoft.module.externalApi.entity.LngJkRpBill;
import com.xjrsoft.module.externalApi.request.*;
import com.xjrsoft.module.externalApi.response.*;
import com.xjrsoft.module.externalApi.service.LngJkRpBillService;
import com.xjrsoft.module.externalApi.service.LngJkRpService;
import com.xjrsoft.module.system.client.IFileClient;
import com.xjrsoft.module.system.dto.FileUploadDto;
import com.xjrsoft.module.system.vo.LngFileUploadVo;
import com.xxl.job.core.handler.annotation.XxlJob;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
import java.util.concurrent.atomic.AtomicReference;
@Slf4j
@Component
public class FsspJobHandler {
private FsspConfig config;
private RedisUtil redisUtil;
private LngJkRpService lngJkRpService;
private LngJkRpBillService lngJkRpBillService;
private IFileClient iFileClient;
private static final String FSSP_APP_TOKEN = "fssp_app_token";
private static final String FSSP_ACCESS_TOKEN = "fssp_access_token";
private static final String ACCESSTOKEN = "accesstoken";
public FsspJobHandler(FsspConfig config,
RedisUtil redisUtil,
LngJkRpService lngJkRpService,
LngJkRpBillService lngJkRpBillService,
IFileClient iFileClient) {
this.config = config;
this.redisUtil = redisUtil;
this.lngJkRpService = lngJkRpService;
this.lngJkRpBillService = lngJkRpBillService;
this.iFileClient = iFileClient;
}
private String getAppToken() {
AppTokenReq appTokenReq = new AppTokenReq();
appTokenReq.setAppId(config.getAppId());
appTokenReq.setAppSecuret(config.getAppSecuret());
appTokenReq.setTenantid(config.getTenantid());
appTokenReq.setAccountId(config.getAccountId());
appTokenReq.setLanguage(config.getLanguage());
AtomicReference<String> appToken = new AtomicReference<>();
FsspHttpClient.post(appTokenReq, config.getAppTokenUrl(), TokenResponse.class, resp -> {
AppTokenResponse data = (AppTokenResponse) resp.getData();
if ("0".equals(data.getErrorCode())) {
appToken.set(data.getAppToken());
redisUtil.set(FSSP_APP_TOKEN, data.getAppToken(), data.getExpireTime());
} else {
throw new BusinessException(BusinessCode.of(10903,"AppToken已过期"));
}
});
return appToken.toString();
}
private String getAccessToken() {
AccessTokenReq accessTokenReq = new AccessTokenReq();
accessTokenReq.setUser(config.getUser());
String appToken = redisUtil.get(FSSP_APP_TOKEN);
accessTokenReq.setApptoken(StringUtils.isNotBlank(appToken) ? appToken : this.getAppToken());
accessTokenReq.setTenantid(config.getTenantid());
accessTokenReq.setAccountId(config.getAccountId());
accessTokenReq.setUsertype(config.getUsertype());
accessTokenReq.setLanguage(config.getLanguage());
AtomicReference<String> accessToken = new AtomicReference<>();
FsspHttpClient.post(accessTokenReq, config.getLoginUrl(), TokenResponse.class, resp -> {
AccessTokenResponse data = (AccessTokenResponse) resp.getData();
if ("0".equals(data.getErrorCode())) {
accessToken.set(data.getAccessToken());
redisUtil.set(FSSP_ACCESS_TOKEN, data.getAccessToken(), data.getExpireTime());
} else {
throw new BusinessException(BusinessCode.of(10903,"AccessToken已过期"));
}
});
return accessToken.toString();
}
@XxlJob("yhjymxJobHandler")
public void yhjymxJobHandler(Integer pageNo) {
log.info("定时任务---银行交易明细查询---开始");
FsspYhjymxReq fsspYhjymxReq = new FsspYhjymxReq();
fsspYhjymxReq.setOrgNumber(config.getOrgNumber());
fsspYhjymxReq.setAccountbank(config.getAccountbank());
fsspYhjymxReq.setBankcheckflag(null);
// 开始时间必须小于等于结束时间且开始时间和结束时间不可相差60天以上
fsspYhjymxReq.setBeginDate(LocalDateTime.now());
fsspYhjymxReq.setEndDate(LocalDateTime.now());
fsspYhjymxReq.setPageSize(100);
fsspYhjymxReq.setPageNo(pageNo == null ? 1 : pageNo);
List<LngJkRpDto> dtoList = Lists.newArrayList();
Map<String, String> headers = Maps.newHashMap();
String accesstoken = redisUtil.get(FSSP_ACCESS_TOKEN);
headers.put(ACCESSTOKEN, StringUtils.isNotBlank(accesstoken) ? accesstoken : this.getAccessToken());
FsspHttpClient.post(fsspYhjymxReq, config.getYhjymxUrl(), FsspResponse.class, headers, resp -> {
FsspDataResponse data = resp.getData();
if (data != null) {
data.getRows().forEach(row -> {
LngJkRpDto lngJkRpDto = (LngJkRpDto) row;
lngJkRpDto.setStatusProc("N");
lngJkRpDto.setMsgProc("接收成功");
lngJkRpDto.setDateProc(LocalDateTime.now());
dtoList.add(lngJkRpDto);
});
List<LngJkRp> list = BeanUtil.copyToList(dtoList, LngJkRp.class);
lngJkRpService.saveOrUpdateBatch(list);
if (!data.getLastPage()) {
yhjymxJobHandler(fsspYhjymxReq.getPageNo() + 1);
}
}
});
log.info("定时任务---电子回单信息查询---结束");
}
@XxlJob("dzhdxxJobHandler")
public void dzhdxxJobHandler(Integer pageNo) {
log.info("定时任务---电子回单信息查询---开始");
FsspDzhdxxReq fsspDzhdxxReq = new FsspDzhdxxReq();
fsspDzhdxxReq.setOrgNumber(config.getOrgNumber());
fsspDzhdxxReq.setAccountbank(config.getAccountbank());
fsspDzhdxxReq.setReceiptno(null);
// 开始时间必须小于等于结束时间且开始时间和结束时间不可相差60天以上
fsspDzhdxxReq.setBeginDate(LocalDateTime.now());
fsspDzhdxxReq.setEndDate(LocalDateTime.now());
fsspDzhdxxReq.setPageSize(100);
fsspDzhdxxReq.setPageNo(pageNo == null ? 1 : pageNo);
List<LngJkRpBillDto> dtoList = Lists.newArrayList();
Map<String, String> headers = Maps.newHashMap();
String accesstoken = redisUtil.get(FSSP_ACCESS_TOKEN);
headers.put(ACCESSTOKEN, StringUtils.isNotBlank(accesstoken) ? accesstoken : this.getAccessToken());
FsspHttpClient.post(fsspDzhdxxReq, config.getDzhdxxUrl(), FsspResponse.class, headers, resp -> {
FsspDataResponse data = resp.getData();
if (data != null) {
data.getRows().forEach(row -> {
LngJkRpBillDto lngJkRpBillDto = (LngJkRpBillDto) row;
lngJkRpBillDto.setStatusProc("N");
lngJkRpBillDto.setMsgProc("接收成功");
lngJkRpBillDto.setDateProc(LocalDateTime.now());
lngJkRpBillDto.setStatusProcAttr("N");
dtoList.add(lngJkRpBillDto);
});
List<LngJkRpBill> list = BeanUtil.copyToList(dtoList, LngJkRpBill.class);
lngJkRpBillService.saveOrUpdateBatch(list);
if (!data.getLastPage()) {
dzhdxxJobHandler(fsspDzhdxxReq.getPageNo() + 1);
}
}
});
log.info("定时任务---电子回单信息查询---结束");
}
@XxlJob("dzhdfjJobHandler")
public void dzhdfjJobHandler() {
log.info("定时任务---电子回单附件下载---开始");
List<String> statusList = Lists.newArrayList();
statusList.add("N");
statusList.add("E");
List<LngJkRpBill> list = lngJkRpBillService.list(new LambdaQueryWrapper<LngJkRpBill>()
.in(LngJkRpBill::getStatusProc, statusList));
if (CollectionUtils.isNotEmpty(list)) {
list.forEach(x -> {
downloadFile(x);
});
}
log.info("定时任务---批量下载电子回单附件---结束");
}
private void downloadFile(LngJkRpBill lngJkRpBill) {
String accesstoken = redisUtil.get(FSSP_ACCESS_TOKEN);
if (StringUtils.isBlank(accesstoken)) {
accesstoken = this.getAccessToken();
}
byte[] fileByte = FsspHttpClient.downloadFile(lngJkRpBill.getFilepath(), accesstoken, config.getDzhdfjUrl());
FileUploadDto uploadDto = new FileUploadDto();
uploadDto.setBuffer(fileByte);
uploadDto.setTableName("lng_jk_rp_bill");
try {
LngFileUploadVo vo = iFileClient.upload(uploadDto);
lngJkRpBill.setFilepathAttr(vo.getFilePath());
lngJkRpBill.setStatusProcAttr("S");
lngJkRpBill.setDateProcAttr(LocalDateTime.now());
} catch (Exception e) {
lngJkRpBill.setStatusProcAttr("E");
lngJkRpBill.setMsgProcAttr(e.getMessage());
lngJkRpBill.setDateProcAttr(LocalDateTime.now());
}
}
@XxlJob("pzJobHandler")
public void pzJobHandler(Integer pageNo) {
FsspPzReq fsspPzReq = new FsspPzReq();
fsspPzReq.setOrgNumber(config.getOrgNumber());
fsspPzReq.setBillno(null);
// 开始时间必须小于等于结束时间且开始时间和结束时间不可相差60天以上
fsspPzReq.setBeginDate(LocalDateTime.now());
fsspPzReq.setEndDate(LocalDateTime.now());
fsspPzReq.setSourcebill(null);
fsspPzReq.setPageSize(100);
fsspPzReq.setPageNo(pageNo == null ? 1 : pageNo);
List<Object> list = Lists.newArrayList();
Map<String, String> headers = Maps.newHashMap();
String accesstoken = redisUtil.get(FSSP_ACCESS_TOKEN);
headers.put(ACCESSTOKEN, StringUtils.isNotBlank(accesstoken) ? accesstoken : this.getAccessToken());
FsspHttpClient.post(fsspPzReq, config.getPzUrl(), FsspResponse.class, headers, resp -> {
FsspDataResponse data = resp.getData();
data.getRows().forEach(row -> {
PzResp pzResp = (PzResp) row;
list.add(pzResp);
});
if (!data.getLastPage()) {
pzJobHandler(fsspPzReq.getPageNo() + 1);
}
});
}
}

View File

@ -0,0 +1,17 @@
package com.xjrsoft.module.externalApi.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.xjrsoft.module.externalApi.entity.LngJkRpBill;
import org.apache.ibatis.annotations.Mapper;
/**
* @title: mapper
* @Author 管理员
* @Date: 2025-12-24
* @Version 1.0
*/
@Mapper
public interface LngJkRpBillMapper extends MPJBaseMapper<LngJkRpBill>, BaseMapper<LngJkRpBill> {
}

View File

@ -0,0 +1,17 @@
package com.xjrsoft.module.externalApi.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.xjrsoft.module.externalApi.entity.LngJkRp;
import org.apache.ibatis.annotations.Mapper;
/**
* @title: mapper
* @Author 管理员
* @Date: 2025-12-24
* @Version 1.0
*/
@Mapper
public interface LngJkRpMapper extends MPJBaseMapper<LngJkRp>, BaseMapper<LngJkRp> {
}

View File

@ -0,0 +1,17 @@
package com.xjrsoft.module.externalApi.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.externalApi.entity.LngJkRpBill;
/**
* @title: service
* @Author 管理员
* @Date: 2025-12-24
* @Version 1.0
*/
public interface LngJkRpBillService extends MPJBaseService<LngJkRpBill>, MPJDeepService<LngJkRpBill>, MPJRelationService<LngJkRpBill> {
}

View File

@ -0,0 +1,17 @@
package com.xjrsoft.module.externalApi.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.externalApi.entity.LngJkRp;
/**
* @title: service
* @Author 管理员
* @Date: 2025-12-24
* @Version 1.0
*/
public interface LngJkRpService extends MPJBaseService<LngJkRp>, MPJDeepService<LngJkRp>, MPJRelationService<LngJkRp> {
}

View File

@ -0,0 +1,20 @@
package com.xjrsoft.module.externalApi.service.impl;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.xjrsoft.module.externalApi.entity.LngJkRpBill;
import com.xjrsoft.module.externalApi.mapper.LngJkRpBillMapper;
import com.xjrsoft.module.externalApi.service.LngJkRpBillService;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
/**
* @title: service
* @Author 管理员
* @Date: 2025-12-24
* @Version 1.0
*/
@Service
@AllArgsConstructor
public class LngJkRpBillServiceImpl extends MPJBaseServiceImpl<LngJkRpBillMapper, LngJkRpBill> implements LngJkRpBillService {
}

View File

@ -0,0 +1,20 @@
package com.xjrsoft.module.externalApi.service.impl;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.xjrsoft.module.externalApi.entity.LngJkRp;
import com.xjrsoft.module.externalApi.mapper.LngJkRpMapper;
import com.xjrsoft.module.externalApi.service.LngJkRpService;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
/**
* @title: service
* @Author 管理员
* @Date: 2025-12-24
* @Version 1.0
*/
@Service
@AllArgsConstructor
public class LngJkRpServiceImpl extends MPJBaseServiceImpl<LngJkRpMapper, LngJkRp> implements LngJkRpService {
}

View File

@ -150,7 +150,7 @@ public class MeaPurIntController {
@Override @Override
public UpdateLngMeaPurIntDto after(DataOperationContent<UpdateLngMeaPurIntDto> content) { public UpdateLngMeaPurIntDto after(DataOperationContent<UpdateLngMeaPurIntDto> content) {
String sql = StringUtils.format("{? = call pc_{0}.f_save(?,?)}", String sql = StringUtils.format("{? = call pc_{0}.f_save(?,?)}",
content.getTableName()); content.getTableName());
List<JdbcParam> params = Lists.newArrayList(); List<JdbcParam> params = Lists.newArrayList();
JdbcParam outParam = JdbcParam.ofString(null).setOut(true); JdbcParam outParam = JdbcParam.ofString(null).setOut(true);

View File

@ -54,6 +54,20 @@ xjrsoft:
javaPath: F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-service javaPath: F:\ges-scm\code\dev\geg-gas-pcitc\itc-pcitc-demo\itc-pcitc-demo-service
webPath: F:\ges-scm\code\dev\geg-gas-web webPath: F:\ges-scm\code\dev\geg-gas-web
appPath: D:\pm\yfxm-newgit\uniapp\xjrsoft-uni #前端app appPath: D:\pm\yfxm-newgit\uniapp\xjrsoft-uni #前端app
fssp:
app-token-url: https://esb-test.geg.com.cn:8443/gw/query-uat-service/ierp/api/getAppToken.do
app-id: CWT
app-securet: @pK9WM85TTweSnlckk1uJ80rX8cuzDegk
tenantid: ierpuat
accountId: 2372076203864489984
language: zh_CN
login-url: https://esb-test.geg.com.cn:8443/gw/query-uat-service/ierp/api/login.do
user: 111
usertype: 111
yhjymx-url: https://esb-test.geg.com.cn:8443/gw/待注册后补充
org-number: 111
accountbank: 111
dzhdxx-url: https://esb-test.geg.com.cn:8443/gw/cas-uat-service/ierp/kapi/v2/dlkf/bei/bei_elecreceipt/getList
dzhdfj-url: https://esb-test.geg.com.cn:8443/gw/cas-uat-service/ierp/attachment/download.do
pz-url: https://esb-test.geg.com.cn:8443/gw/cas-uat-service/ierp/kapi/v2/dlkf/gl/gl_voucher/batchquery