This commit is contained in:
张秉卓
2026-02-11 17:29:20 +08:00
parent 35c33406c4
commit 7d2b7cfd75
30 changed files with 3073 additions and 0 deletions

View File

@ -0,0 +1,159 @@
package com.xjrsoft.module.contract.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.google.api.client.util.Lists;
import com.pictc.datalog.DataOperationContent;
import com.pictc.datalog.DataOperationListener;
import com.pictc.enums.BusinessCode;
import com.pictc.enums.ExceptionCommonCode;
import com.pictc.jdbc.JdbcTools;
import com.pictc.jdbc.model.JdbcParam;
import com.pictc.utils.StringUtils;
import com.xjrsoft.common.exception.BusinessException;
import com.xjrsoft.common.model.result.R;
import com.xjrsoft.common.page.ConventPage;
import com.xjrsoft.common.page.PageOutput;
import com.xjrsoft.common.utils.VoToColumnUtil;
import com.xjrsoft.module.contract.dto.LngContractPageDto;
import com.xjrsoft.module.contract.dto.UpdateLngContractPDto;
import com.xjrsoft.module.contract.entity.LngContract;
import com.xjrsoft.module.contract.service.IContractProcService;
import com.xjrsoft.module.contract.vo.LngContractPageVo;
import com.xjrsoft.module.datalog.service.DatalogService;
import com.xjrsoft.module.datalog.vo.DataChangeLogVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
/**
* @title: 加工合同
* @Author 管理员
* @Date: 2026-02-10
* @Version 1.0
*/
@RestController
@RequestMapping("/contract" + "/contractProc")
@Api(value = "/contract" + "/contractProc",tags = "加工合同代码")
@AllArgsConstructor
public class ContractProcController {
private final IContractProcService contractProcService;
private final DatalogService dataService;
@GetMapping(value = "/page")
@ApiOperation(value="LngContract列表(分页)")
@SaCheckPermission("contractProc:list")
public R page(@Valid LngContractPageDto dto){
LambdaQueryWrapper<LngContract> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper
.eq(ObjectUtil.isNotNull(dto.getId()),LngContract::getId,dto.getId())
.orderByDesc(LngContract::getId)
.select(LngContract.class,x -> VoToColumnUtil.fieldsToColumns(LngContractPageVo.class).contains(x.getProperty()));
IPage<LngContract> page = contractProcService.page(ConventPage.getPage(dto), queryWrapper);
PageOutput<LngContractPageVo> pageOutput = ConventPage.getPageOutput(page, LngContractPageVo.class);
return R.ok(pageOutput);
}
@GetMapping(value = "/info")
@ApiOperation(value="根据id查询LngContract信息")
@SaCheckPermission("contractProc:detail")
public R info(@RequestParam Long id){
return R.ok(contractProcService.getInfoById(id));
}
@GetMapping(value = "/datalog")
@ApiOperation(value="根据id查询LngContract数据详细日志")
@SaCheckPermission("contractProc:datalog")
public R datalog(@RequestParam Long id){
List<DataChangeLogVo> logs = dataService.findLogsByEntityId(UpdateLngContractPDto.class,id);
return R.ok(logs);
}
@PostMapping
@ApiOperation(value = "新增LngContract")
@SaCheckPermission("contractProc:add")
public R add(@Valid @RequestBody UpdateLngContractPDto dto){
UpdateLngContractPDto res = dataService.insert(dto, new DataOperationListener<UpdateLngContractPDto>() {
@Override
public UpdateLngContractPDto before(DataOperationContent<UpdateLngContractPDto> content) {
return null;
}
@Override
public UpdateLngContractPDto after(DataOperationContent<UpdateLngContractPDto> content) {
execAfter(content.getTableName(), content.getIdValue(), "I");
return content.getObj();
}
});
return R.ok(res);
}
private void execAfter(String table, Long id, String sign) {
String sql = StringUtils.format("{? = call pc_{0}.f_save(?, ?)}", table);
List<JdbcParam> params = Lists.newArrayList();
JdbcParam outParam = JdbcParam.ofString(null).setOut(true);
params.add(outParam);
params.add(JdbcParam.ofLong(id));
params.add(JdbcParam.ofString(sign));
JdbcTools.call(sql,params);
String error = outParam.getStringValue();
if (StringUtils.isNotEmpty(error)) {
throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DB_FUNCTION_SAVE_EXEC_ERROR, error));
}
}
@PutMapping
@ApiOperation(value = "修改LngContract")
@SaCheckPermission("contractProc:edit")
public R update(@Valid @RequestBody UpdateLngContractPDto dto){
return R.ok(dataService.updateById(dto, new DataOperationListener<UpdateLngContractPDto>() {
@Override
public UpdateLngContractPDto before(DataOperationContent<UpdateLngContractPDto> content) {
return null;
}
@Override
public UpdateLngContractPDto after(DataOperationContent<UpdateLngContractPDto> content) {
execAfter(content.getTableName(), content.getIdValue(), "U");
return content.getObj();
}
}));
}
@DeleteMapping
@ApiOperation(value = "删除")
@SaCheckPermission("contractProc:delete")
public R delete(@Valid @RequestBody List<Long> ids){
return R.ok(dataService.deleteByIds(UpdateLngContractPDto.class, ids, new DataOperationListener<UpdateLngContractPDto>() {
@Override
public UpdateLngContractPDto before(DataOperationContent<UpdateLngContractPDto> content) {
String sql = StringUtils.format("{? = call pc_{0}.f_before_delete(?)}", content.getTableName());
List<JdbcParam> params = Lists.newArrayList();
JdbcParam outParam = JdbcParam.ofString(null).setOut(true);
params.add(outParam);
params.add(JdbcParam.ofLong(content.getIdValue()));
JdbcTools.call(sql,params);
String error = outParam.getStringValue();
if (StringUtils.isNotEmpty(error)) {
throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DB_FUNCTION_DELETE_EXEC_ERROR, error));
}
return content.getObj();
}
@Override
public UpdateLngContractPDto after(DataOperationContent<UpdateLngContractPDto> content) {
return null;
}
}));
}
}

View File

@ -0,0 +1,176 @@
package com.xjrsoft.module.contract.controller;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.google.api.client.util.Lists;
import com.pictc.datalog.DataOperationContent;
import com.pictc.datalog.DataOperationListener;
import com.pictc.enums.BusinessCode;
import com.pictc.enums.ExceptionCommonCode;
import com.pictc.jdbc.JdbcTools;
import com.pictc.jdbc.model.JdbcParam;
import com.pictc.utils.StringUtils;
import com.xjrsoft.common.exception.BusinessException;
import com.xjrsoft.common.model.result.R;
import com.xjrsoft.common.page.ConventPage;
import com.xjrsoft.common.page.PageOutput;
import com.xjrsoft.common.utils.VoToColumnUtil;
import com.xjrsoft.module.contract.dto.LngContractPageDto;
import com.xjrsoft.module.contract.dto.UpdateLngContractTPDto;
import com.xjrsoft.module.contract.dto.UpdateLngContractTransPngDto;
import com.xjrsoft.module.contract.entity.LngContract;
import com.xjrsoft.module.contract.service.IContractTransPngService;
import com.xjrsoft.module.contract.vo.LngContractPageVo;
import com.xjrsoft.module.datalog.service.DatalogService;
import com.xjrsoft.module.datalog.vo.DataChangeLogVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
/**
* @title: 管输合同
* @Author 管理员
* @Date: 2026-02-10
* @Version 1.0
*/
@RestController
@RequestMapping("/contract" + "/contractTransPng")
@Api(value = "/contract" + "/contractTransPng",tags = "管输合同代码")
@AllArgsConstructor
public class ContractTransPngController {
private final IContractTransPngService contractTransPngService;
private final DatalogService dataService;
@GetMapping(value = "/page")
@ApiOperation(value="LngContract列表(分页)")
@SaCheckPermission("contractTransPng:list")
public R page(@Valid LngContractPageDto dto){
LambdaQueryWrapper<LngContract> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper
.eq(ObjectUtil.isNotNull(dto.getId()),LngContract::getId,dto.getId())
.orderByDesc(LngContract::getId)
.select(LngContract.class,x -> VoToColumnUtil.fieldsToColumns(LngContractPageVo.class).contains(x.getProperty()));
IPage<LngContract> page = contractTransPngService.page(ConventPage.getPage(dto), queryWrapper);
PageOutput<LngContractPageVo> pageOutput = ConventPage.getPageOutput(page, LngContractPageVo.class);
return R.ok(pageOutput);
}
@GetMapping(value = "/info")
@ApiOperation(value="根据id查询LngContract信息")
@SaCheckPermission("contractTransPng:detail")
public R info(@RequestParam Long id){
return R.ok(contractTransPngService.getInfoById(id));
}
@GetMapping(value = "/datalog")
@ApiOperation(value="根据id查询LngContract数据详细日志")
@SaCheckPermission("contractTransPng:datalog")
public R datalog(@RequestParam Long id){
List<DataChangeLogVo> logs = dataService.findLogsByEntityId(UpdateLngContractTPDto.class,id);
return R.ok(logs);
}
@PostMapping
@ApiOperation(value = "新增LngContract")
@SaCheckPermission("contractTransPng:add")
public R add(@Valid @RequestBody UpdateLngContractTPDto dto){
UpdateLngContractTPDto res = dataService.insert(dto, new DataOperationListener<UpdateLngContractTPDto>() {
@Override
public UpdateLngContractTPDto before(DataOperationContent<UpdateLngContractTPDto> content) {
return null;
}
@Override
public UpdateLngContractTPDto after(DataOperationContent<UpdateLngContractTPDto> content) {
execAfter(content.getTableName(), content.getIdValue(), "I");
return content.getObj();
}
});
return R.ok(res);
}
private void execAfter(String table, Long id, String sign) {
String sql = StringUtils.format("{? = call pc_{0}.f_save(?, ?)}", table);
List<JdbcParam> params = Lists.newArrayList();
JdbcParam outParam = JdbcParam.ofString(null).setOut(true);
params.add(outParam);
params.add(JdbcParam.ofLong(id));
params.add(JdbcParam.ofString(sign));
JdbcTools.call(sql,params);
String error = outParam.getStringValue();
if (StringUtils.isNotEmpty(error)) {
throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DB_FUNCTION_SAVE_EXEC_ERROR, error));
}
}
@PutMapping
@ApiOperation(value = "修改LngContract")
@SaCheckPermission("contractTransPng:edit")
public R update(@Valid @RequestBody UpdateLngContractTPDto dto){
return R.ok(dataService.updateById(dto, new DataOperationListener<UpdateLngContractTPDto>() {
@Override
public UpdateLngContractTPDto before(DataOperationContent<UpdateLngContractTPDto> content) {
List<UpdateLngContractTransPngDto> list = dto.getLngContractTransPngList();
for (UpdateLngContractTransPngDto dto : list) {
if (dto.getHasDel()) {
String sql = StringUtils.format("{? = call pc_{0}.f_before_delete(?)}",
"lng_contract_trans_png");
List<JdbcParam> params = Lists.newArrayList();
JdbcParam outParam = JdbcParam.ofString(null).setOut(true);
params.add(outParam);
params.add(JdbcParam.ofLong(dto.getId()));
JdbcTools.call(sql,params);
String error = outParam.getStringValue();
if (StringUtils.isNotEmpty(error)) {
throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DB_FUNCTION_DELETE_EXEC_ERROR, error));
}
}
}
return content.getObj();
}
@Override
public UpdateLngContractTPDto after(DataOperationContent<UpdateLngContractTPDto> content) {
execAfter(content.getTableName(), content.getIdValue(), "U");
return content.getObj();
}
}));
}
@DeleteMapping
@ApiOperation(value = "删除")
@SaCheckPermission("contractTransPng:delete")
public R delete(@Valid @RequestBody List<Long> ids){
return R.ok(dataService.deleteByIds(UpdateLngContractTPDto.class, ids, new DataOperationListener<UpdateLngContractTPDto>() {
@Override
public UpdateLngContractTPDto before(DataOperationContent<UpdateLngContractTPDto> content) {
String sql = StringUtils.format("{? = call pc_{0}.f_before_delete(?)}", content.getTableName());
List<JdbcParam> params = Lists.newArrayList();
JdbcParam outParam = JdbcParam.ofString(null).setOut(true);
params.add(outParam);
params.add(JdbcParam.ofLong(content.getIdValue()));
JdbcTools.call(sql,params);
String error = outParam.getStringValue();
if (StringUtils.isNotEmpty(error)) {
throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DB_FUNCTION_DELETE_EXEC_ERROR, error));
}
return content.getObj();
}
@Override
public UpdateLngContractTPDto after(DataOperationContent<UpdateLngContractTPDto> content) {
return null;
}
}));
}
}

View File

@ -0,0 +1,113 @@
package com.xjrsoft.module.contract.entity;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* @title: 加工合同
* @Author 管理员
* @Date: 2026-02-10
* @Version 1.0
*/
@Data
@TableName("lng_contract_proc")
@ApiModel(value = "加工合同对象", description = "加工合同")
public class LngContractProc implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@ApiModelProperty("主键")
@TableId
private Long id;
/**
* 合同-档案主键(lng_contract.id)
*/
@ApiModelProperty("合同-档案主键(lng_contract.id)")
private Long kId;
/**
* 气源地
*/
@ApiModelProperty("气源地")
private String staCode;
/**
* 超期存储费说明
*/
@ApiModelProperty("超期存储费说明")
private String periodDesc;
/**
* 损耗说明
*/
@ApiModelProperty("损耗说明")
private String wasteDesc;
/**
* 备注
*/
@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,119 @@
package com.xjrsoft.module.contract.entity;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* @title: 管输合同
* @Author 管理员
* @Date: 2026-02-10
* @Version 1.0
*/
@Data
@TableName("lng_contract_trans_png")
@ApiModel(value = "管输合同对象", description = "管输合同")
public class LngContractTransPng implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@ApiModelProperty("主键")
@TableId
private Long id;
/**
* 合同-档案主键(lng_contract.id)
*/
@ApiModelProperty("合同-档案主键(lng_contract.id)")
private Long kId;
/**
* 上载点
*/
@ApiModelProperty("上载点")
private String pointUpCode;
/**
* 交割点
*/
@ApiModelProperty("交割点")
private String pointDelyCode;
/**
* 路径(隐藏)
*/
@ApiModelProperty("路径(隐藏)")
private String routing;
/**
* 计量单位(隐藏)
*/
@ApiModelProperty("计量单位(隐藏)")
private String uomCode;
/**
* 备注
*/
@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,139 @@
package com.xjrsoft.module.contract.entity;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* @title: 加工合同
* @Author 管理员
* @Date: 2026-02-10
* @Version 1.0
*/
@Data
@TableName("lng_price_proc")
@ApiModel(value = "加工合同对象", description = "加工合同")
public class LngPriceProc implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@ApiModelProperty("主键")
@TableId
private Long id;
/**
* 合同-主信息主键(lng_contract.id)
*/
@ApiModelProperty("合同-主信息主键(lng_contract.id)")
private Long kId;
/**
* 公司编码(天然气公司/惠贸)
*/
@ApiModelProperty("公司编码(天然气公司/惠贸)")
private String comCode;
/**
* 服务商编码(惠州接收站/阳江接收站)
*/
@ApiModelProperty("服务商编码(惠州接收站/阳江接收站)")
private String suCode;
/**
* 气源地
*/
@ApiModelProperty("气源地")
private String staCode;
/**
* 有效期开始
*/
@ApiModelProperty("有效期开始")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateFrom;
/**
* 结束日类型(F-固定日期Y-每年)
*/
@ApiModelProperty("结束日类型(F-固定日期Y-每年)")
private String dateToCode;
/**
* 固定结束日(date_to_code=F必须录入否则空着只读)
*/
@ApiModelProperty("固定结束日(date_to_code=F必须录入否则空着只读)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateToF;
/**
* 每年结束日(date_to_code=Y必须录入否则空着只读MM-DD格式)
*/
@ApiModelProperty("每年结束日(date_to_code=Y必须录入否则空着只读MM-DD格式)")
private String dateToY;
/**
* 备注
*/
@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,133 @@
package com.xjrsoft.module.contract.entity;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* @title: 管输合同
* @Author 管理员
* @Date: 2026-02-10
* @Version 1.0
*/
@Data
@TableName("lng_price_trans_png")
@ApiModel(value = "管输合同对象", description = "管输合同")
public class LngPriceTransPng implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@ApiModelProperty("主键")
@TableId
private Long id;
/**
* 合同-主信息主键(lng_contract.id)
*/
@ApiModelProperty("合同-主信息主键(lng_contract.id)")
private Long kId;
/**
* 公司编码(天然气公司/惠贸)
*/
@ApiModelProperty("公司编码(天然气公司/惠贸)")
private String comCode;
/**
* 托运商编码(管道公司/管网)
*/
@ApiModelProperty("托运商编码(管道公司/管网)")
private String suCode;
/**
* 有效期开始
*/
@ApiModelProperty("有效期开始")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateFrom;
/**
* 结束日类型(F-固定日期Y-每年)
*/
@ApiModelProperty("结束日类型(F-固定日期Y-每年)")
private String dateToCode;
/**
* 固定结束日(date_to_code=F必须录入否则空着只读)
*/
@ApiModelProperty("固定结束日(date_to_code=F必须录入否则空着只读)")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private LocalDateTime dateToF;
/**
* 每年结束日(date_to_code=Y必须录入否则空着只读MM-DD格式)
*/
@ApiModelProperty("每年结束日(date_to_code=Y必须录入否则空着只读MM-DD格式)")
private String dateToY;
/**
* 备注
*/
@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,17 @@
package com.xjrsoft.module.contract.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.xjrsoft.module.contract.entity.LngContractProc;
import org.apache.ibatis.annotations.Mapper;
/**
* @title: mapper
* @Author 管理员
* @Date: 2026-02-10
* @Version 1.0
*/
@Mapper
public interface LngContractProcMapper extends MPJBaseMapper<LngContractProc>, BaseMapper<LngContractProc> {
}

View File

@ -0,0 +1,17 @@
package com.xjrsoft.module.contract.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.xjrsoft.module.contract.entity.LngContractTransPng;
import org.apache.ibatis.annotations.Mapper;
/**
* @title: mapper
* @Author 管理员
* @Date: 2026-02-10
* @Version 1.0
*/
@Mapper
public interface LngContractTransPngMapper extends MPJBaseMapper<LngContractTransPng>, BaseMapper<LngContractTransPng> {
}

View File

@ -0,0 +1,17 @@
package com.xjrsoft.module.contract.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.xjrsoft.module.contract.entity.LngPriceProc;
import org.apache.ibatis.annotations.Mapper;
/**
* @title: mapper
* @Author 管理员
* @Date: 2026-02-10
* @Version 1.0
*/
@Mapper
public interface LngPriceProcMapper extends MPJBaseMapper<LngPriceProc>, BaseMapper<LngPriceProc> {
}

View File

@ -0,0 +1,17 @@
package com.xjrsoft.module.contract.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.github.yulichang.base.MPJBaseMapper;
import com.xjrsoft.module.contract.entity.LngPriceTransPng;
import org.apache.ibatis.annotations.Mapper;
/**
* @title: mapper
* @Author 管理员
* @Date: 2026-02-10
* @Version 1.0
*/
@Mapper
public interface LngPriceTransPngMapper extends MPJBaseMapper<LngPriceTransPng>, BaseMapper<LngPriceTransPng> {
}

View File

@ -0,0 +1,19 @@
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.LngContract;
import com.xjrsoft.module.contract.vo.LngContractPVo;
/**
* @title: service
* @Author 管理员
* @Date: 2026-02-10
* @Version 1.0
*/
public interface IContractProcService extends MPJBaseService<LngContract>, MPJDeepService<LngContract>, MPJRelationService<LngContract> {
LngContractPVo getInfoById(Long id);
}

View File

@ -0,0 +1,19 @@
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.LngContract;
import com.xjrsoft.module.contract.vo.LngContractTPVo;
/**
* @title: service
* @Author 管理员
* @Date: 2026-02-10
* @Version 1.0
*/
public interface IContractTransPngService extends MPJBaseService<LngContract>, MPJDeepService<LngContract>, MPJRelationService<LngContract> {
LngContractTPVo getInfoById(Long id);
}

View File

@ -0,0 +1,94 @@
package com.xjrsoft.module.contract.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.google.common.collect.Lists;
import com.pictc.enums.BusinessCode;
import com.xjrsoft.common.exception.BusinessException;
import com.xjrsoft.module.contract.entity.*;
import com.xjrsoft.module.contract.mapper.*;
import com.xjrsoft.module.contract.service.IContractProcService;
import com.xjrsoft.module.contract.vo.*;
import com.xjrsoft.module.sales.vo.LngApproVo;
import com.xjrsoft.module.system.client.IFileClient;
import com.xjrsoft.module.system.vo.LngFileUploadVo;
import lombok.AllArgsConstructor;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @title: service
* @Author 管理员
* @Date: 2026-02-10
* @Version 1.0
*/
@Service
@AllArgsConstructor
public class ContractProcServiceImpl extends MPJBaseServiceImpl<LngContractMapper, LngContract> implements IContractProcService {
private final LngContractProcMapper lngContractProcMapper;
private final LngPriceProcMapper lngPriceProcMapper;
private final LngContractFactMapper lngContractFactMapper;
private final LngContractFactRelMapper lngContractFactRelMapper;
private final LngContractApproRelMapper lngContractApproRelMapper;
private final IFileClient fileClient;
@Override
public LngContractPVo getInfoById(Long id) {
LngContract lngContract = this.getById(id);
if(lngContract == null) {
throw new BusinessException(BusinessCode.of(10500,"找不到此数据"));
}
LngContractPVo vo = BeanUtil.toBean(lngContract, LngContractPVo.class);
List<LngContractProc> lngContractProcList = lngContractProcMapper.selectList(
new LambdaQueryWrapper<LngContractProc>()
.eq(LngContractProc::getKId, lngContract.getId()));
if (CollectionUtils.isNotEmpty(lngContractProcList)) {
vo.setLngContractProcList(BeanUtil.copyToList(lngContractProcList,
LngContractProcVo.class));
}
List<LngPriceProc> lngPriceProcList = lngPriceProcMapper.selectList(
new LambdaQueryWrapper<LngPriceProc>()
.eq(LngPriceProc::getKId, lngContract.getId()));
if (CollectionUtils.isNotEmpty(lngPriceProcList)) {
vo.setLngPriceProcList(BeanUtil.copyToList(lngPriceProcList,
LngPriceProcVo.class));
}
List<LngContractFactRel> lngContractFactRelList = lngContractFactRelMapper.selectList(
new LambdaQueryWrapper<LngContractFactRel>()
.eq(LngContractFactRel::getKId, lngContract.getId()));
if (CollectionUtils.isNotEmpty(lngContractFactRelList)) {
List<LngContractFactVo> lngContractFactVoList = Lists.newArrayList();
lngContractFactRelList.forEach(x -> {
LngContractFact lngContractFact = lngContractFactMapper.selectById(x.getKFactId());
List<LngFileUploadVo> fileList = fileClient.getTableFiles("lng_contract_fact",
"lngFileUploadList", lngContractFact.getId());
LngContractFactVo lngContractFactVo = BeanUtil.toBean(lngContractFact, LngContractFactVo.class);
lngContractFactVo.setLngFileUploadList(fileList);
lngContractFactVoList.add(lngContractFactVo);
});
vo.setLngContractFactList(lngContractFactVoList);
}
List<LngContractApproRel> lngContractApproRelList = lngContractApproRelMapper.selectList(
new LambdaQueryWrapper<LngContractApproRel>()
.eq(LngContractApproRel::getTableId, lngContract.getId()));
if (CollectionUtils.isNotEmpty(lngContractApproRelList)) {
List<LngApproVo> approVoList = Lists.newArrayList();
lngContractApproRelList.forEach(x -> {
LngApproVo approVo = lngContractFactMapper.getLngApproVo(x.getApproId());
List<LngFileUploadVo> fileList = fileClient.getTableFiles("lng_appro",
"lngFileUploadList", approVo.getId());
approVo.setLngFileUploadList(fileList);
approVoList.add(approVo);
});
vo.setLngApproVoList(approVoList);
}
List<LngFileUploadVo> fileList = fileClient.getTableFiles("lng_contract",
"lngFileUploadList", vo.getId());
vo.setLngFileUploadList(fileList);
return vo;
}
}

View File

@ -0,0 +1,94 @@
package com.xjrsoft.module.contract.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.github.yulichang.base.MPJBaseServiceImpl;
import com.google.common.collect.Lists;
import com.pictc.enums.BusinessCode;
import com.xjrsoft.common.exception.BusinessException;
import com.xjrsoft.module.contract.entity.*;
import com.xjrsoft.module.contract.mapper.*;
import com.xjrsoft.module.contract.service.IContractTransPngService;
import com.xjrsoft.module.contract.vo.*;
import com.xjrsoft.module.sales.vo.LngApproVo;
import com.xjrsoft.module.system.client.IFileClient;
import com.xjrsoft.module.system.vo.LngFileUploadVo;
import lombok.AllArgsConstructor;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @title: service
* @Author 管理员
* @Date: 2026-02-10
* @Version 1.0
*/
@Service
@AllArgsConstructor
public class ContractTransPngServiceImpl extends MPJBaseServiceImpl<LngContractMapper, LngContract> implements IContractTransPngService {
private final LngContractTransPngMapper lngContractTransPngMapper;
private final LngPriceTransPngMapper lngPriceTransPngMapper;
private final LngContractFactMapper lngContractFactMapper;
private final LngContractFactRelMapper lngContractFactRelMapper;
private final LngContractApproRelMapper lngContractApproRelMapper;
private final IFileClient fileClient;
@Override
public LngContractTPVo getInfoById(Long id) {
LngContract lngContract = this.getById(id);
if(lngContract == null) {
throw new BusinessException(BusinessCode.of(10500,"找不到此数据"));
}
LngContractTPVo vo = BeanUtil.toBean(lngContract, LngContractTPVo.class);
List<LngContractTransPng> lngContractTransPngList = lngContractTransPngMapper.selectList(
new LambdaQueryWrapper<LngContractTransPng>()
.eq(LngContractTransPng::getKId, lngContract.getId()));
if (CollectionUtils.isNotEmpty(lngContractTransPngList)) {
vo.setLngContractTransPngList(BeanUtil.copyToList(lngContractTransPngList,
LngContractTransPngVo.class));
}
List<LngPriceTransPng> lngPriceTransPngList = lngPriceTransPngMapper.selectList(
new LambdaQueryWrapper<LngPriceTransPng>()
.eq(LngPriceTransPng::getKId, lngContract.getId()));
if (CollectionUtils.isNotEmpty(lngPriceTransPngList)) {
vo.setLngPriceTransPngList(BeanUtil.copyToList(lngPriceTransPngList,
LngPriceTransPngVo.class));
}
List<LngContractFactRel> lngContractFactRelList = lngContractFactRelMapper.selectList(
new LambdaQueryWrapper<LngContractFactRel>()
.eq(LngContractFactRel::getKId, lngContract.getId()));
if (CollectionUtils.isNotEmpty(lngContractFactRelList)) {
List<LngContractFactVo> lngContractFactVoList = Lists.newArrayList();
lngContractFactRelList.forEach(x -> {
LngContractFact lngContractFact = lngContractFactMapper.selectById(x.getKFactId());
List<LngFileUploadVo> fileList = fileClient.getTableFiles("lng_contract_fact",
"lngFileUploadList", lngContractFact.getId());
LngContractFactVo lngContractFactVo = BeanUtil.toBean(lngContractFact, LngContractFactVo.class);
lngContractFactVo.setLngFileUploadList(fileList);
lngContractFactVoList.add(lngContractFactVo);
});
vo.setLngContractFactList(lngContractFactVoList);
}
List<LngContractApproRel> lngContractApproRelList = lngContractApproRelMapper.selectList(
new LambdaQueryWrapper<LngContractApproRel>()
.eq(LngContractApproRel::getTableId, lngContract.getId()));
if (CollectionUtils.isNotEmpty(lngContractApproRelList)) {
List<LngApproVo> approVoList = Lists.newArrayList();
lngContractApproRelList.forEach(x -> {
LngApproVo approVo = lngContractFactMapper.getLngApproVo(x.getApproId());
List<LngFileUploadVo> fileList = fileClient.getTableFiles("lng_appro",
"lngFileUploadList", approVo.getId());
approVo.setLngFileUploadList(fileList);
approVoList.add(approVo);
});
vo.setLngApproVoList(approVoList);
}
List<LngFileUploadVo> fileList = fileClient.getTableFiles("lng_contract",
"lngFileUploadList", vo.getId());
vo.setLngFileUploadList(fileList);
return vo;
}
}