修改
This commit is contained in:
@ -0,0 +1,124 @@
|
||||
package com.xjrsoft.module.contract.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.xjrsoft.common.model.result.R;
|
||||
import com.xjrsoft.common.page.ConventPage;
|
||||
import com.xjrsoft.common.page.PageOutput;
|
||||
import com.xjrsoft.common.utils.VoToColumnUtil;
|
||||
import com.xjrsoft.module.contract.dto.LngContractFactPageDto;
|
||||
import com.xjrsoft.module.contract.dto.UpdateLngContractFactDto;
|
||||
import com.xjrsoft.module.contract.entity.LngContractFact;
|
||||
import com.xjrsoft.module.contract.service.IContractFactService;
|
||||
import com.xjrsoft.module.contract.vo.LngContractFactPageVo;
|
||||
import com.xjrsoft.module.contract.vo.LngContractFactVo;
|
||||
import com.xjrsoft.module.datalog.service.DatalogService;
|
||||
import com.xjrsoft.module.datalog.vo.DataChangeLogVo;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @title: 合同要素
|
||||
* @Author 管理员
|
||||
* @Date: 2025-12-24
|
||||
* @Version 1.0
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/contract" + "/contractFact")
|
||||
@Api(value = "/contract" + "/contractFact",tags = "合同要素代码")
|
||||
@AllArgsConstructor
|
||||
public class ContractFactController {
|
||||
|
||||
|
||||
private final IContractFactService contractFactService;
|
||||
private final DatalogService dataService;
|
||||
|
||||
@GetMapping(value = "/page")
|
||||
@ApiOperation(value="LngContractFact列表(分页)")
|
||||
@SaCheckPermission("contractFact:list")
|
||||
public R page(@Valid LngContractFactPageDto dto){
|
||||
|
||||
LambdaQueryWrapper<LngContractFact> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper
|
||||
.like(StrUtil.isNotBlank(dto.getKNo()),LngContractFact::getKNo,dto.getKNo())
|
||||
.like(StrUtil.isNotBlank(dto.getKName()),LngContractFact::getKName,dto.getKName())
|
||||
.like(StrUtil.isNotBlank(dto.getKTypeCode1()),LngContractFact::getKTypeCode1,dto.getKTypeCode1())
|
||||
.eq(ObjectUtil.isNotNull(dto.getComId()),LngContractFact::getComId,dto.getComId())
|
||||
.between(ObjectUtil.isNotNull(dto.getDateDraftStart()) && ObjectUtil.isNotNull(dto.getDateDraftEnd()),LngContractFact::getDateDraft,dto.getDateDraftStart(),dto.getDateDraftEnd())
|
||||
.like(StrUtil.isNotBlank(dto.getPeriodTypeCode()),LngContractFact::getPeriodTypeCode,dto.getPeriodTypeCode())
|
||||
.between(ObjectUtil.isNotNull(dto.getDateFromStart()) && ObjectUtil.isNotNull(dto.getDateFromEnd()),LngContractFact::getDateFrom,dto.getDateFromStart(),dto.getDateFromEnd())
|
||||
.between(ObjectUtil.isNotNull(dto.getDateToStart()) && ObjectUtil.isNotNull(dto.getDateToEnd()),LngContractFact::getDateTo,dto.getDateToStart(),dto.getDateToEnd())
|
||||
.like(StrUtil.isNotBlank(dto.getCurCode()),LngContractFact::getCurCode,dto.getCurCode())
|
||||
.eq(ObjectUtil.isNotNull(dto.getAmount()),LngContractFact::getAmount,dto.getAmount())
|
||||
.eq(ObjectUtil.isNotNull(dto.getEmpId()),LngContractFact::getEmpId,dto.getEmpId())
|
||||
.like(StrUtil.isNotBlank(dto.getTel()),LngContractFact::getTel,dto.getTel())
|
||||
.eq(ObjectUtil.isNotNull(dto.getBDeptId()),LngContractFact::getBDeptId,dto.getBDeptId())
|
||||
.like(StrUtil.isNotBlank(dto.getBidSign()),LngContractFact::getBidSign,dto.getBidSign())
|
||||
.like(StrUtil.isNotBlank(dto.getPreApproSign()),LngContractFact::getPreApproSign,dto.getPreApproSign())
|
||||
.like(StrUtil.isNotBlank(dto.getAheadSign()),LngContractFact::getAheadSign,dto.getAheadSign())
|
||||
.like(StrUtil.isNotBlank(dto.getTempSign()),LngContractFact::getTempSign,dto.getTempSign())
|
||||
.like(StrUtil.isNotBlank(dto.getImpSign()),LngContractFact::getImpSign,dto.getImpSign())
|
||||
.like(StrUtil.isNotBlank(dto.getApproCode()),LngContractFact::getApproCode,dto.getApproCode())
|
||||
.like(StrUtil.isNotBlank(dto.getKDesc()),LngContractFact::getKDesc,dto.getKDesc())
|
||||
.like(StrUtil.isNotBlank(dto.getNote()),LngContractFact::getNote,dto.getNote())
|
||||
.orderByDesc(LngContractFact::getId)
|
||||
.select(LngContractFact.class,x -> VoToColumnUtil.fieldsToColumns(LngContractFactPageVo.class).contains(x.getProperty()));
|
||||
IPage<LngContractFact> page = contractFactService.page(ConventPage.getPage(dto), queryWrapper);
|
||||
PageOutput<LngContractFactPageVo> pageOutput = ConventPage.getPageOutput(page, LngContractFactPageVo.class);
|
||||
return R.ok(pageOutput);
|
||||
}
|
||||
|
||||
@GetMapping(value = "/info")
|
||||
@ApiOperation(value="根据id查询LngContractFact信息")
|
||||
@SaCheckPermission("contractFact:detail")
|
||||
public R info(@RequestParam Long id){
|
||||
LngContractFact lngContractFact = contractFactService.getByIdDeep(id);
|
||||
if (lngContractFact == null) {
|
||||
return R.error("找不到此数据!");
|
||||
}
|
||||
return R.ok(BeanUtil.toBean(lngContractFact, LngContractFactVo.class));
|
||||
}
|
||||
|
||||
@GetMapping(value = "/datalog")
|
||||
@ApiOperation(value="根据id查询LngContractFact数据详细日志")
|
||||
@SaCheckPermission("contractFact:datalog")
|
||||
public R datalog(@RequestParam Long id){
|
||||
List<DataChangeLogVo> logs = dataService.findLogsByEntityId(UpdateLngContractFactDto.class,id);
|
||||
return R.ok(logs);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping
|
||||
@ApiOperation(value = "新增LngContractFact")
|
||||
@SaCheckPermission("contractFact:add")
|
||||
public R add(@Valid @RequestBody UpdateLngContractFactDto dto){
|
||||
UpdateLngContractFactDto res = dataService.insert(dto);
|
||||
return R.ok(res.getId());
|
||||
}
|
||||
|
||||
@PutMapping
|
||||
@ApiOperation(value = "修改LngContractFact")
|
||||
@SaCheckPermission("contractFact:edit")
|
||||
public R update(@Valid @RequestBody UpdateLngContractFactDto dto){
|
||||
return R.ok(dataService.updateById(dto));
|
||||
}
|
||||
|
||||
@DeleteMapping
|
||||
@ApiOperation(value = "删除")
|
||||
@SaCheckPermission("contractFact:delete")
|
||||
public R delete(@Valid @RequestBody List<Long> ids){
|
||||
return R.ok(dataService.deleteByIds(UpdateLngContractFactDto.class, ids));
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,109 @@
|
||||
package com.xjrsoft.module.contract.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
|
||||
/**
|
||||
* @title: 合同要素
|
||||
* @Author 管理员
|
||||
* @Date: 2025-12-24
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("lng_contract_appro_rel")
|
||||
@ApiModel(value = "合同要素对象", description = "合同要素")
|
||||
public class LngContractApproRel implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@ApiModelProperty("主键")
|
||||
@TableId
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 合同档案/要素表名(lng_contract/lng_contract_fact)
|
||||
*/
|
||||
@ApiModelProperty("合同档案/要素表名(lng_contract/lng_contract_fact)")
|
||||
private String tableName;
|
||||
|
||||
/**
|
||||
* 合同档案/要素主键
|
||||
*/
|
||||
@ApiModelProperty("合同档案/要素主键")
|
||||
private Long tableId;
|
||||
|
||||
/**
|
||||
* 合同-签报主键
|
||||
*/
|
||||
@ApiModelProperty("合同-签报主键")
|
||||
private Long approId;
|
||||
|
||||
/**
|
||||
* 显示顺序
|
||||
*/
|
||||
@ApiModelProperty("显示顺序")
|
||||
private Short sort;
|
||||
|
||||
/**
|
||||
* 创建人id
|
||||
*/
|
||||
@ApiModelProperty("创建人id")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Long createUserId;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@ApiModelProperty("创建时间")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private LocalDateTime createDate;
|
||||
|
||||
/**
|
||||
* 修改人id
|
||||
*/
|
||||
@ApiModelProperty("修改人id")
|
||||
@TableField(fill = FieldFill.UPDATE)
|
||||
private Long modifyUserId;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
@ApiModelProperty("修改时间")
|
||||
@TableField(fill = FieldFill.UPDATE)
|
||||
private LocalDateTime modifyDate;
|
||||
|
||||
/**
|
||||
* 租户id
|
||||
*/
|
||||
@ApiModelProperty("租户id")
|
||||
private Long tenantId;
|
||||
|
||||
/**
|
||||
* 部门id
|
||||
*/
|
||||
@ApiModelProperty("部门id")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
* 数据权限id
|
||||
*/
|
||||
@ApiModelProperty("数据权限id")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Long ruleUserId;
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,270 @@
|
||||
package com.xjrsoft.module.contract.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.github.yulichang.annotation.EntityMapping;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* @title: 合同要素
|
||||
* @Author 管理员
|
||||
* @Date: 2025-12-24
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("lng_contract_fact")
|
||||
@ApiModel(value = "合同要素对象", description = "合同要素")
|
||||
public class LngContractFact implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@ApiModelProperty("主键")
|
||||
@TableId
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 合同主体ID(天然气公司/惠贸)
|
||||
*/
|
||||
@ApiModelProperty("合同主体ID(天然气公司/惠贸)")
|
||||
private Long comId;
|
||||
|
||||
/**
|
||||
* 合同号
|
||||
*/
|
||||
@ApiModelProperty("合同号")
|
||||
private String kNo;
|
||||
|
||||
/**
|
||||
* 合同名称
|
||||
*/
|
||||
@ApiModelProperty("合同名称")
|
||||
private String kName;
|
||||
|
||||
/**
|
||||
* 关联类别(M-主合同/U-合同变更/C-确认函/A-补充协议/F-框架协议/R-续签合同/I-同一事项关联合同;以下不要:无/原合同补充协议/原合同续签合同/同一事项关联合同)
|
||||
*/
|
||||
@ApiModelProperty("关联类别(M-主合同/U-合同变更/C-确认函/A-补充协议/F-框架协议/R-续签合同/I-同一事项关联合同;以下不要:无/原合同补充协议/原合同续签合同/同一事项关联合同)")
|
||||
private String relTypeCode;
|
||||
|
||||
/**
|
||||
* 合同类别(日常采购/工程建设/人力资源/投资管理/金融保险/租赁/信息管理/咨询服务/综合服务/生产运营/天然气公司业务合同)
|
||||
*/
|
||||
@ApiModelProperty("合同类别(日常采购/工程建设/人力资源/投资管理/金融保险/租赁/信息管理/咨询服务/综合服务/生产运营/天然气公司业务合同)")
|
||||
private String kTypeCode1;
|
||||
|
||||
/**
|
||||
* 二级类别(天然气购入/天然气销售/接收站加工/管道代输/槽车运输/船舶运输/其他;合同类别为天然气公司业务合同时,其他类别还有很多选项)
|
||||
*/
|
||||
@ApiModelProperty("二级类别(天然气购入/天然气销售/接收站加工/管道代输/槽车运输/船舶运输/其他;合同类别为天然气公司业务合同时,其他类别还有很多选项)")
|
||||
private String kTypeCode2;
|
||||
|
||||
/**
|
||||
* 相对方数量
|
||||
*/
|
||||
@ApiModelProperty("相对方数量")
|
||||
private Byte cpCount;
|
||||
|
||||
/**
|
||||
* 合同期限类型编码(Y-有固定期限/N-无固定期限)
|
||||
*/
|
||||
@ApiModelProperty("合同期限类型编码(Y-有固定期限/N-无固定期限)")
|
||||
private String periodTypeCode;
|
||||
|
||||
/**
|
||||
* 有效期开始(有固定期限时录入)
|
||||
*/
|
||||
@ApiModelProperty("有效期开始(有固定期限时录入)")
|
||||
private LocalDateTime dateFrom;
|
||||
|
||||
/**
|
||||
* 有效期结束(有固定期限时录入)
|
||||
*/
|
||||
@ApiModelProperty("有效期结束(有固定期限时录入)")
|
||||
private LocalDateTime dateTo;
|
||||
|
||||
/**
|
||||
* 币种编码
|
||||
*/
|
||||
@ApiModelProperty("币种编码")
|
||||
private String curCode;
|
||||
|
||||
/**
|
||||
* 合同金额类型(Y-固定总价/N-非固定金额/U-无金额)
|
||||
*/
|
||||
@ApiModelProperty("合同金额类型(Y-固定总价/N-非固定金额/U-无金额)")
|
||||
private String amountTypeCode;
|
||||
|
||||
/**
|
||||
* 合同金额(万元)(固定总价/非固定金额时必须录入)
|
||||
*/
|
||||
@ApiModelProperty("合同金额(万元)(固定总价/非固定金额时必须录入)")
|
||||
private BigDecimal amount;
|
||||
|
||||
/**
|
||||
* 合同金额大写(自动转换amount)
|
||||
*/
|
||||
@ApiModelProperty("合同金额大写(自动转换amount)")
|
||||
private String amountCn;
|
||||
|
||||
/**
|
||||
* 合同金额说明
|
||||
*/
|
||||
@ApiModelProperty("合同金额说明")
|
||||
private String amountDesc;
|
||||
|
||||
/**
|
||||
* 结算类别(收款合同/付款合同/无金额)
|
||||
*/
|
||||
@ApiModelProperty("结算类别(收款合同/付款合同/无金额)")
|
||||
private String settleTypeCode;
|
||||
|
||||
/**
|
||||
* 是否招投标(Y-是/N-否/U-不适用)
|
||||
*/
|
||||
@ApiModelProperty("是否招投标(Y-是/N-否/U-不适用)")
|
||||
private String bidSign;
|
||||
|
||||
/**
|
||||
* 是否已获前置审批(Y-是/N-否/U-不适用)
|
||||
*/
|
||||
@ApiModelProperty("是否已获前置审批(Y-是/N-否/U-不适用)")
|
||||
private String preApproSign;
|
||||
|
||||
/**
|
||||
* 先行履行(Y-是/N-否/U-不适用)
|
||||
*/
|
||||
@ApiModelProperty("先行履行(Y-是/N-否/U-不适用)")
|
||||
private String aheadSign;
|
||||
|
||||
/**
|
||||
* 采用范本(Y-是/N-否/R-参考)
|
||||
*/
|
||||
@ApiModelProperty("采用范本(Y-是/N-否/R-参考)")
|
||||
private String tempSign;
|
||||
|
||||
/**
|
||||
* 是否属于重大事项所涉合同(Y-是,N-否)
|
||||
*/
|
||||
@ApiModelProperty("是否属于重大事项所涉合同(Y-是,N-否)")
|
||||
private String impSign;
|
||||
|
||||
/**
|
||||
* 我方联系人ID
|
||||
*/
|
||||
@ApiModelProperty("我方联系人ID")
|
||||
private Long empId;
|
||||
|
||||
/**
|
||||
* 联系电话
|
||||
*/
|
||||
@ApiModelProperty("联系电话")
|
||||
private String tel;
|
||||
|
||||
/**
|
||||
* 业务部门ID
|
||||
*/
|
||||
@ApiModelProperty("业务部门ID")
|
||||
private Long bDeptId;
|
||||
|
||||
/**
|
||||
* 起草日期
|
||||
*/
|
||||
@ApiModelProperty("起草日期")
|
||||
private LocalDateTime dateDraft;
|
||||
|
||||
/**
|
||||
* 状态(未提交/审批中/已审批/已驳回)
|
||||
*/
|
||||
@ApiModelProperty("状态(未提交/审批中/已审批/已驳回)")
|
||||
private String approCode;
|
||||
|
||||
/**
|
||||
* 合同说明
|
||||
*/
|
||||
@ApiModelProperty("合同说明")
|
||||
private String kDesc;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty("备注")
|
||||
private String note;
|
||||
|
||||
/**
|
||||
* 创建人id
|
||||
*/
|
||||
@ApiModelProperty("创建人id")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Long createUserId;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@ApiModelProperty("创建时间")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private LocalDateTime createDate;
|
||||
|
||||
/**
|
||||
* 修改人id
|
||||
*/
|
||||
@ApiModelProperty("修改人id")
|
||||
@TableField(fill = FieldFill.UPDATE)
|
||||
private Long modifyUserId;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
@ApiModelProperty("修改时间")
|
||||
@TableField(fill = FieldFill.UPDATE)
|
||||
private LocalDateTime modifyDate;
|
||||
|
||||
/**
|
||||
* 租户id
|
||||
*/
|
||||
@ApiModelProperty("租户id")
|
||||
private Long tenantId;
|
||||
|
||||
/**
|
||||
* 部门id
|
||||
*/
|
||||
@ApiModelProperty("部门id")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
* 数据权限id
|
||||
*/
|
||||
@ApiModelProperty("数据权限id")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Long ruleUserId;
|
||||
|
||||
|
||||
/**
|
||||
* lngContractFactCp
|
||||
*/
|
||||
@ApiModelProperty("lngContractFactCp子表")
|
||||
@TableField(exist = false)
|
||||
@EntityMapping(thisField = "id", joinField = "kFactId")
|
||||
private List<LngContractFactCp> lngContractFactCpList;
|
||||
/**
|
||||
* lngContractApproRel
|
||||
*/
|
||||
@ApiModelProperty("lngContractApproRel子表")
|
||||
@TableField(exist = false)
|
||||
@EntityMapping(thisField = "id", joinField = "tableId")
|
||||
private List<LngContractApproRel> lngContractApproRelList;
|
||||
|
||||
}
|
||||
@ -0,0 +1,169 @@
|
||||
package com.xjrsoft.module.contract.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
|
||||
/**
|
||||
* @title: 合同要素
|
||||
* @Author 管理员
|
||||
* @Date: 2025-12-24
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("lng_contract_fact_cp")
|
||||
@ApiModel(value = "合同要素对象", description = "合同要素")
|
||||
public class LngContractFactCp implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@ApiModelProperty("主键")
|
||||
@TableId
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 合同-合同要素主键
|
||||
*/
|
||||
@ApiModelProperty("合同-合同要素主键")
|
||||
private Long kFactId;
|
||||
|
||||
/**
|
||||
* 相对方类型(供应商/客户;不显示)
|
||||
*/
|
||||
@ApiModelProperty("相对方类型(供应商/客户;不显示)")
|
||||
private String cpTableName;
|
||||
|
||||
/**
|
||||
* 相对方编码
|
||||
*/
|
||||
@ApiModelProperty("相对方编码")
|
||||
private String cpCode;
|
||||
|
||||
/**
|
||||
* 相对方名称
|
||||
*/
|
||||
@ApiModelProperty("相对方名称")
|
||||
private String cpName;
|
||||
|
||||
/**
|
||||
* 相对方顺序
|
||||
*/
|
||||
@ApiModelProperty("相对方顺序")
|
||||
private Byte sort;
|
||||
|
||||
/**
|
||||
* 对方银行编码
|
||||
*/
|
||||
@ApiModelProperty("对方银行编码")
|
||||
private String cpBankCode;
|
||||
|
||||
/**
|
||||
* 对方银行名称
|
||||
*/
|
||||
@ApiModelProperty("对方银行名称")
|
||||
private String cpBankName;
|
||||
|
||||
/**
|
||||
* 对方银行开户名
|
||||
*/
|
||||
@ApiModelProperty("对方银行开户名")
|
||||
private String cpBankAccountName;
|
||||
|
||||
/**
|
||||
* 对方银行账号
|
||||
*/
|
||||
@ApiModelProperty("对方银行账号")
|
||||
private String cpBankAccount;
|
||||
|
||||
/**
|
||||
* 对方联系人姓名
|
||||
*/
|
||||
@ApiModelProperty("对方联系人姓名")
|
||||
private String contactName;
|
||||
|
||||
/**
|
||||
* 对方联系人电话
|
||||
*/
|
||||
@ApiModelProperty("对方联系人电话")
|
||||
private String contactTel;
|
||||
|
||||
/**
|
||||
* 对方联系人邮箱
|
||||
*/
|
||||
@ApiModelProperty("对方联系人邮箱")
|
||||
private String contactEmail;
|
||||
|
||||
/**
|
||||
* 对方通讯地址
|
||||
*/
|
||||
@ApiModelProperty("对方通讯地址")
|
||||
private String contactAddress;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty("备注")
|
||||
private String note;
|
||||
|
||||
/**
|
||||
* 创建人id
|
||||
*/
|
||||
@ApiModelProperty("创建人id")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Long createUserId;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@ApiModelProperty("创建时间")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private LocalDateTime createDate;
|
||||
|
||||
/**
|
||||
* 修改人id
|
||||
*/
|
||||
@ApiModelProperty("修改人id")
|
||||
@TableField(fill = FieldFill.UPDATE)
|
||||
private Long modifyUserId;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
@ApiModelProperty("修改时间")
|
||||
@TableField(fill = FieldFill.UPDATE)
|
||||
private LocalDateTime modifyDate;
|
||||
|
||||
/**
|
||||
* 租户id
|
||||
*/
|
||||
@ApiModelProperty("租户id")
|
||||
private Long tenantId;
|
||||
|
||||
/**
|
||||
* 部门id
|
||||
*/
|
||||
@ApiModelProperty("部门id")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
* 数据权限id
|
||||
*/
|
||||
@ApiModelProperty("数据权限id")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Long ruleUserId;
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,16 @@
|
||||
package com.xjrsoft.module.contract.mapper;
|
||||
|
||||
import com.github.yulichang.base.MPJBaseMapper;
|
||||
import com.xjrsoft.module.contract.entity.LngContractApproRel;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* @title: mapper
|
||||
* @Author 管理员
|
||||
* @Date: 2025-12-24
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface LngContractApproRelMapper extends MPJBaseMapper<LngContractApproRel> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,16 @@
|
||||
package com.xjrsoft.module.contract.mapper;
|
||||
|
||||
import com.github.yulichang.base.MPJBaseMapper;
|
||||
import com.xjrsoft.module.contract.entity.LngContractFactCp;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* @title: mapper
|
||||
* @Author 管理员
|
||||
* @Date: 2025-12-24
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface LngContractFactCpMapper extends MPJBaseMapper<LngContractFactCp> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,16 @@
|
||||
package com.xjrsoft.module.contract.mapper;
|
||||
|
||||
import com.github.yulichang.base.MPJBaseMapper;
|
||||
import com.xjrsoft.module.contract.entity.LngContractFact;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* @title: mapper
|
||||
* @Author 管理员
|
||||
* @Date: 2025-12-24
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface LngContractFactMapper extends MPJBaseMapper<LngContractFact> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,41 @@
|
||||
package com.xjrsoft.module.contract.service;
|
||||
|
||||
import com.github.yulichang.base.MPJBaseService;
|
||||
import com.github.yulichang.extension.mapping.base.MPJDeepService;
|
||||
import com.github.yulichang.extension.mapping.base.MPJRelationService;
|
||||
import com.xjrsoft.module.contract.entity.LngContractFact;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @title: service
|
||||
* @Author 管理员
|
||||
* @Date: 2025-12-24
|
||||
* @Version 1.0
|
||||
*/
|
||||
|
||||
public interface IContractFactService extends MPJBaseService<LngContractFact>, MPJDeepService<LngContractFact>, MPJRelationService<LngContractFact> {
|
||||
/**
|
||||
* 新增
|
||||
*
|
||||
* @param lngContractFact
|
||||
* @return
|
||||
*/
|
||||
Boolean add(LngContractFact lngContractFact);
|
||||
|
||||
/**
|
||||
* 更新
|
||||
*
|
||||
* @param lngContractFact
|
||||
* @return
|
||||
*/
|
||||
Boolean update(LngContractFact lngContractFact);
|
||||
|
||||
/**
|
||||
* 删除
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
Boolean delete(List<Long> ids);
|
||||
}
|
||||
@ -0,0 +1,125 @@
|
||||
package com.xjrsoft.module.contract.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.github.yulichang.base.MPJBaseServiceImpl;
|
||||
import com.xjrsoft.module.contract.entity.LngContractApproRel;
|
||||
import com.xjrsoft.module.contract.entity.LngContractFact;
|
||||
import com.xjrsoft.module.contract.entity.LngContractFactCp;
|
||||
import com.xjrsoft.module.contract.mapper.LngContractApproRelMapper;
|
||||
import com.xjrsoft.module.contract.mapper.LngContractFactCpMapper;
|
||||
import com.xjrsoft.module.contract.mapper.LngContractFactMapper;
|
||||
import com.xjrsoft.module.contract.service.IContractFactService;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* @title: service
|
||||
* @Author 管理员
|
||||
* @Date: 2025-12-24
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class ContractFactServiceImpl extends MPJBaseServiceImpl<LngContractFactMapper, LngContractFact> implements IContractFactService {
|
||||
private final LngContractFactMapper contractFactLngContractFactMapper;
|
||||
|
||||
private final LngContractFactCpMapper contractFactLngContractFactCpMapper;
|
||||
private final LngContractApproRelMapper contractFactLngContractApproRelMapper;
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean add(LngContractFact lngContractFact) {
|
||||
contractFactLngContractFactMapper.insert(lngContractFact);
|
||||
for (LngContractFactCp lngContractFactCp : lngContractFact.getLngContractFactCpList()) {
|
||||
lngContractFactCp.setKFactId(lngContractFact.getId());
|
||||
contractFactLngContractFactCpMapper.insert(lngContractFactCp);
|
||||
}
|
||||
for (LngContractApproRel lngContractApproRel : lngContractFact.getLngContractApproRelList()) {
|
||||
lngContractApproRel.setTableId(lngContractFact.getId());
|
||||
contractFactLngContractApproRelMapper.insert(lngContractApproRel);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean update(LngContractFact lngContractFact) {
|
||||
contractFactLngContractFactMapper.updateById(lngContractFact);
|
||||
//********************************* LngContractFactCp 增删改 开始 *******************************************/
|
||||
{
|
||||
// 查出所有子级的id
|
||||
List<LngContractFactCp> lngContractFactCpList = contractFactLngContractFactCpMapper.selectList(Wrappers.lambdaQuery(LngContractFactCp.class).eq(LngContractFactCp::getKFactId, lngContractFact.getId()).select(LngContractFactCp::getId));
|
||||
List<Long> lngContractFactCpIds = lngContractFactCpList.stream().map(LngContractFactCp::getId).collect(Collectors.toList());
|
||||
//原有子表单 没有被删除的主键
|
||||
List<Long> lngContractFactCpOldIds = lngContractFact.getLngContractFactCpList().stream().map(LngContractFactCp::getId).filter(Objects::nonNull).collect(Collectors.toList());
|
||||
//找到需要删除的id
|
||||
List<Long> lngContractFactCpRemoveIds = lngContractFactCpIds.stream().filter(item -> !lngContractFactCpOldIds.contains(item)).collect(Collectors.toList());
|
||||
|
||||
for (LngContractFactCp lngContractFactCp : lngContractFact.getLngContractFactCpList()) {
|
||||
//如果不等于空则修改
|
||||
if (lngContractFactCp.getId() != null) {
|
||||
contractFactLngContractFactCpMapper.updateById(lngContractFactCp);
|
||||
}
|
||||
//如果等于空 则新增
|
||||
else {
|
||||
//已经不存在的id 删除
|
||||
lngContractFactCp.setKFactId(lngContractFact.getId());
|
||||
contractFactLngContractFactCpMapper.insert(lngContractFactCp);
|
||||
}
|
||||
}
|
||||
//已经不存在的id 删除
|
||||
if(lngContractFactCpRemoveIds.size() > 0){
|
||||
contractFactLngContractFactCpMapper.deleteBatchIds(lngContractFactCpRemoveIds);
|
||||
}
|
||||
}
|
||||
//********************************* LngContractFactCp 增删改 结束 *******************************************/
|
||||
|
||||
//********************************* LngContractApproRel 增删改 开始 *******************************************/
|
||||
{
|
||||
// 查出所有子级的id
|
||||
List<LngContractApproRel> lngContractApproRelList = contractFactLngContractApproRelMapper.selectList(Wrappers.lambdaQuery(LngContractApproRel.class).eq(LngContractApproRel::getTableId, lngContractFact.getId()).select(LngContractApproRel::getId));
|
||||
List<Long> lngContractApproRelIds = lngContractApproRelList.stream().map(LngContractApproRel::getId).collect(Collectors.toList());
|
||||
//原有子表单 没有被删除的主键
|
||||
List<Long> lngContractApproRelOldIds = lngContractFact.getLngContractApproRelList().stream().map(LngContractApproRel::getId).filter(Objects::nonNull).collect(Collectors.toList());
|
||||
//找到需要删除的id
|
||||
List<Long> lngContractApproRelRemoveIds = lngContractApproRelIds.stream().filter(item -> !lngContractApproRelOldIds.contains(item)).collect(Collectors.toList());
|
||||
|
||||
for (LngContractApproRel lngContractApproRel : lngContractFact.getLngContractApproRelList()) {
|
||||
//如果不等于空则修改
|
||||
if (lngContractApproRel.getId() != null) {
|
||||
contractFactLngContractApproRelMapper.updateById(lngContractApproRel);
|
||||
}
|
||||
//如果等于空 则新增
|
||||
else {
|
||||
//已经不存在的id 删除
|
||||
lngContractApproRel.setTableId(lngContractFact.getId());
|
||||
contractFactLngContractApproRelMapper.insert(lngContractApproRel);
|
||||
}
|
||||
}
|
||||
//已经不存在的id 删除
|
||||
if(lngContractApproRelRemoveIds.size() > 0){
|
||||
contractFactLngContractApproRelMapper.deleteBatchIds(lngContractApproRelRemoveIds);
|
||||
}
|
||||
}
|
||||
//********************************* LngContractApproRel 增删改 结束 *******************************************/
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean delete(List<Long> ids) {
|
||||
contractFactLngContractFactMapper.deleteBatchIds(ids);
|
||||
contractFactLngContractFactCpMapper.delete(Wrappers.lambdaQuery(LngContractFactCp.class).in(LngContractFactCp::getKFactId, ids));
|
||||
contractFactLngContractApproRelMapper.delete(Wrappers.lambdaQuery(LngContractApproRel.class).in(LngContractApproRel::getTableId, ids));
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@ -1,11 +1,19 @@
|
||||
package com.xjrsoft.module.sales.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.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;
|
||||
@ -17,7 +25,6 @@ import com.xjrsoft.module.sales.dto.UpdateLngApproDto;
|
||||
import com.xjrsoft.module.sales.entity.LngAppro;
|
||||
import com.xjrsoft.module.sales.service.IApproService;
|
||||
import com.xjrsoft.module.sales.vo.LngApproPageVo;
|
||||
import com.xjrsoft.module.sales.vo.LngApproVo;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
@ -69,11 +76,7 @@ public class ApproController {
|
||||
@ApiOperation(value="根据id查询LngAppro信息")
|
||||
@SaCheckPermission("appro:detail")
|
||||
public R info(@RequestParam Long id){
|
||||
LngAppro lngAppro = approService.getById(id);
|
||||
if (lngAppro == null) {
|
||||
return R.error("找不到此数据!");
|
||||
}
|
||||
return R.ok(BeanUtil.toBean(lngAppro, LngApproVo.class));
|
||||
return R.ok(approService.getInfoById(id));
|
||||
}
|
||||
|
||||
@GetMapping(value = "/datalog")
|
||||
@ -89,23 +92,63 @@ public class ApproController {
|
||||
@ApiOperation(value = "新增LngAppro")
|
||||
@SaCheckPermission("appro:add")
|
||||
public R add(@Valid @RequestBody UpdateLngApproDto dto){
|
||||
UpdateLngApproDto res = dataService.insert(dto);
|
||||
return R.ok(res.getId());
|
||||
dto.setCode(approService.getCode(dto.getDateAppro()));
|
||||
UpdateLngApproDto res = dataService.insert(dto, new DataOperationListener<UpdateLngApproDto>() {
|
||||
@Override
|
||||
public UpdateLngApproDto before(DataOperationContent<UpdateLngApproDto> content) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public UpdateLngApproDto after(DataOperationContent<UpdateLngApproDto> content) {
|
||||
return null;
|
||||
}
|
||||
});
|
||||
return R.ok(res);
|
||||
}
|
||||
|
||||
@PutMapping
|
||||
@ApiOperation(value = "修改LngAppro")
|
||||
@SaCheckPermission("appro:edit")
|
||||
public R update(@Valid @RequestBody UpdateLngApproDto dto){
|
||||
return R.ok(dataService.updateById(dto));
|
||||
return R.ok(dataService.updateById(dto, new DataOperationListener<UpdateLngApproDto>() {
|
||||
@Override
|
||||
public UpdateLngApproDto before(DataOperationContent<UpdateLngApproDto> content) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public UpdateLngApproDto after(DataOperationContent<UpdateLngApproDto> content) {
|
||||
return null;
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
@DeleteMapping
|
||||
@ApiOperation(value = "删除")
|
||||
@SaCheckPermission("appro:delete")
|
||||
public R delete(@Valid @RequestBody List<Long> ids){
|
||||
return R.ok(dataService.deleteByIds(UpdateLngApproDto.class, ids));
|
||||
return R.ok(dataService.deleteByIds(UpdateLngApproDto.class, ids, new DataOperationListener<UpdateLngApproDto>() {
|
||||
@Override
|
||||
public UpdateLngApproDto before(DataOperationContent<UpdateLngApproDto> content) {
|
||||
String sql = StringUtils.format("{? = call pc_{0}.f_before_delete(?)}", content.getTableName());
|
||||
List<JdbcParam> params = Lists.newArrayList();
|
||||
JdbcParam outParam = JdbcParam.ofString(null).setOut(true);
|
||||
params.add(outParam);
|
||||
params.add(JdbcParam.ofLong(content.getIdValue()));
|
||||
JdbcTools.call(sql,params);
|
||||
String error = outParam.getStringValue();
|
||||
if (StringUtils.isNotEmpty(error)) {
|
||||
throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DB_FUNCTION_DELETE_EXEC_ERROR, error));
|
||||
}
|
||||
return content.getObj();
|
||||
}
|
||||
|
||||
@Override
|
||||
public UpdateLngApproDto after(DataOperationContent<UpdateLngApproDto> content) {
|
||||
return null;
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -2,6 +2,9 @@ package com.xjrsoft.module.sales.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.xjrsoft.module.sales.entity.LngAppro;
|
||||
import com.xjrsoft.module.sales.vo.LngApproVo;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @title: service
|
||||
@ -11,4 +14,8 @@ import com.xjrsoft.module.sales.entity.LngAppro;
|
||||
*/
|
||||
|
||||
public interface IApproService extends IService<LngAppro> {
|
||||
|
||||
LngApproVo getInfoById(Long id);
|
||||
|
||||
String getCode(LocalDateTime dateAppro);
|
||||
}
|
||||
|
||||
@ -1,12 +1,24 @@
|
||||
package com.xjrsoft.module.sales.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.pictc.enums.BusinessCode;
|
||||
import com.xjrsoft.common.exception.BusinessException;
|
||||
import com.xjrsoft.module.sales.entity.LngAppro;
|
||||
import com.xjrsoft.module.sales.mapper.LngApproMapper;
|
||||
import com.xjrsoft.module.sales.service.IApproService;
|
||||
import com.xjrsoft.module.sales.vo.LngApproVo;
|
||||
import com.xjrsoft.module.system.client.IFileClient;
|
||||
import com.xjrsoft.module.system.vo.LngFileUploadVo;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @title: service
|
||||
* @Author 管理员
|
||||
@ -16,4 +28,35 @@ import org.springframework.stereotype.Service;
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class ApproServiceImpl extends ServiceImpl<LngApproMapper, LngAppro> implements IApproService {
|
||||
|
||||
private final IFileClient fileClient;
|
||||
|
||||
@Override
|
||||
public LngApproVo getInfoById(Long id) {
|
||||
LngAppro lngAppro = this.getById(id);
|
||||
if(lngAppro == null) {
|
||||
new BusinessException(BusinessCode.of(10500,"找不到此数据"));
|
||||
|
||||
}
|
||||
LngApproVo vo = BeanUtil.toBean(lngAppro, LngApproVo.class);
|
||||
List<LngFileUploadVo> fileList = fileClient.getTableFiles("lng_appro", "lngFileUploadList", vo.getId());
|
||||
vo.setLngFileUploadList(fileList);
|
||||
return vo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getCode(LocalDateTime dateAppro) {
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy");
|
||||
String year = dateAppro.format(formatter) + "-";
|
||||
LngAppro lngAppro = this.baseMapper.selectOne(new LambdaQueryWrapper<LngAppro>()
|
||||
.like(LngAppro::getCode, year)
|
||||
.orderByDesc(LngAppro::getCode)
|
||||
.last("LIMIT 1"));
|
||||
if (Objects.isNull(lngAppro)) {
|
||||
return year + String.format("%04d", 1);
|
||||
} else {
|
||||
Integer codeNum = Integer.valueOf(lngAppro.getCode().substring(5));
|
||||
return year + String.format("%04d", codeNum + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user