Compare commits
3 Commits
31aa56d34b
...
f9d9785536
| Author | SHA1 | Date | |
|---|---|---|---|
| f9d9785536 | |||
| a06511e0bf | |||
| 9561ee9323 |
@ -77,7 +77,7 @@ public class RedisUtils {
|
||||
public static <T> void publish(String channelKey, T msg, Consumer<T> consumer) {
|
||||
RTopic topic = CLIENT.getTopic(channelKey);
|
||||
topic.publish(msg);
|
||||
System.out.println("发布通道消息---------"+msg.toString());
|
||||
// System.out.println("发布通道消息---------"+msg.toString());
|
||||
consumer.accept(msg);
|
||||
}
|
||||
|
||||
|
||||
@ -69,8 +69,8 @@ public class WebSocketUtils {
|
||||
broadcastMessage.setMessage(webSocketMessage.getMessage());
|
||||
broadcastMessage.setSessionKeys(unsentSessionKeys);
|
||||
RedisUtils.publish(WEB_SOCKET_TOPIC, broadcastMessage, consumer -> {
|
||||
log.info(" WebSocket发送主题订阅消息topic:{} session keys:{} message:{}",
|
||||
WEB_SOCKET_TOPIC, unsentSessionKeys, webSocketMessage.getMessage());
|
||||
// log.info(" WebSocket发送主题订阅消息topic:{} session keys:{} message:{}",
|
||||
// WEB_SOCKET_TOPIC, unsentSessionKeys, webSocketMessage.getMessage());
|
||||
});
|
||||
}
|
||||
}
|
||||
@ -84,7 +84,7 @@ public class WebSocketUtils {
|
||||
WebSocketMessageDto broadcastMessage = new WebSocketMessageDto();
|
||||
broadcastMessage.setMessage(message);
|
||||
RedisUtils.publish(WEB_SOCKET_TOPIC, broadcastMessage, consumer -> {
|
||||
log.info("WebSocket发送主题订阅消息topic:{} message:{}", WEB_SOCKET_TOPIC, message);
|
||||
// log.info("WebSocket发送主题订阅消息topic:{} message:{}", WEB_SOCKET_TOPIC, message);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@ -74,6 +74,11 @@ public class XzdSfkFukuan extends BaseEntity {
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 数据来源
|
||||
*/
|
||||
private String sjly;
|
||||
|
||||
/**
|
||||
* 单据引用
|
||||
*/
|
||||
|
||||
@ -76,6 +76,11 @@ public class XzdSfkFukuanBo extends BaseEntity {
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 数据来源
|
||||
*/
|
||||
private String sjly;
|
||||
|
||||
/**
|
||||
* 单据引用
|
||||
*/
|
||||
|
||||
@ -94,6 +94,12 @@ public class XzdSfkFukuanVo implements Serializable {
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 数据来源
|
||||
*/
|
||||
@ExcelProperty(value = "数据来源")
|
||||
private String sjly;
|
||||
|
||||
/**
|
||||
* 单据引用
|
||||
*/
|
||||
|
||||
@ -216,10 +216,11 @@ public class XzdContractChangeServiceImpl extends ServiceImpl<XzdContractChangeM
|
||||
* @param bo 承包合同变更
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
@Transactional
|
||||
@Override
|
||||
public Boolean updateByBo(XzdContractChangeBo bo) {
|
||||
|
||||
XzdContractChangeVo old = baseMapper.selectVoById(bo.getId());
|
||||
XzdContractChangeVo old = queryById(bo.getId());
|
||||
|
||||
XzdContractChange update = MapstructUtils.convert(bo, XzdContractChange.class);
|
||||
validEntityBeforeSave(update);
|
||||
@ -228,20 +229,6 @@ public class XzdContractChangeServiceImpl extends ServiceImpl<XzdContractChangeM
|
||||
String tableName = XzdClassEnum.XZD_CONTRACT_CHANGE.getClassName();
|
||||
|
||||
//合同文本-预收款项
|
||||
// if (bo.getYsyfkx() != null && !bo.getYsyfkx().isEmpty()) {
|
||||
// for (XzdContractAdvanceInfo advanceInfo : bo.getYsyfkx()) {
|
||||
// if (old.getYsyfkx() != null && !old.getYsyfkx().isEmpty())
|
||||
// if (!old.getYsyfkx().contains(advanceInfo)) {
|
||||
// xzdContractAdvanceInfoService.removeById(advanceInfo);
|
||||
// }
|
||||
// advanceInfo.setContractDetailsId(update.getId());
|
||||
// advanceInfo.setTableName(tableName);
|
||||
// }
|
||||
// xzdContractAdvanceInfoService.saveOrUpdateBatch(bo.getYsyfkx());
|
||||
// }else if (old.getYsyfkx() != null && !old.getYsyfkx().isEmpty()){
|
||||
// xzdContractAdvanceInfoService.removeByIds(old.getYsyfkx());
|
||||
// }
|
||||
|
||||
if (bo.getYsyfkx() != null && !bo.getYsyfkx().isEmpty()){
|
||||
if (old.getYsyfkx() != null && !old.getYsyfkx().isEmpty()){
|
||||
xzdContractAdvanceInfoService.removeByIds(old.getYsyfkx());
|
||||
|
||||
@ -232,11 +232,11 @@ public class XzdContractDetailsServiceImpl extends ServiceImpl<XzdContractDetail
|
||||
|
||||
XzdContractDetails update = MapstructUtils.convert(bo, XzdContractDetails.class);
|
||||
|
||||
XzdContractDetailsVo old = baseMapper.selectVoById(update.getId());
|
||||
XzdContractDetailsVo old = queryById(update.getId());
|
||||
|
||||
List<XzdContractDetailsVo> old1 = List.of(old);
|
||||
setValue(old1);
|
||||
old = old1.getFirst();
|
||||
// List<XzdContractDetailsVo> old1 = List.of(old);
|
||||
// setValue(old1);
|
||||
// old = old1.getFirst();
|
||||
|
||||
// if (bo.getSealInfo() != null && !bo.getSealInfo().isEmpty()){
|
||||
// if (old.getSealInfo() != null && !old.getSealInfo().isEmpty()){
|
||||
@ -440,6 +440,7 @@ public class XzdContractDetailsServiceImpl extends ServiceImpl<XzdContractDetail
|
||||
XzdProjectVo projectVo = xzdProjectService.queryById(info.getProject());
|
||||
if (projectVo != null) {
|
||||
info.setProjectName(projectVo.getProjectName());
|
||||
info.setProjectType(projectVo.getProjectTypeName());
|
||||
}
|
||||
}
|
||||
//甲方单位(客户信息列表)
|
||||
|
||||
@ -509,7 +509,7 @@ public class XzdProjectServiceImpl extends ServiceImpl<XzdProjectMapper, XzdProj
|
||||
return xzdProject != null ? xzdProject.getProjectName() : "";
|
||||
}
|
||||
|
||||
private void setValue(XzdProjectVo entity){
|
||||
public void setValue(XzdProjectVo entity){
|
||||
|
||||
//项目概况
|
||||
LambdaQueryWrapper<XzdProjectProfile> profileLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
|
||||
@ -1,9 +1,12 @@
|
||||
package org.dromara.xzd.skyfk.fbhtfk.domain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import java.io.Serial;
|
||||
@ -46,6 +49,8 @@ public class XzdSkyfkFbhtfk extends BaseEntity {
|
||||
/**
|
||||
* 单据日期
|
||||
*/
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date documentDate;
|
||||
|
||||
/**
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package org.dromara.xzd.skyfk.fbhtfk.domain.bo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.dromara.xzd.paymentsReceipts.domain.XzdSfkFapiao;
|
||||
import org.dromara.xzd.paymentsReceipts.domain.XzdSfkFukuan;
|
||||
import org.dromara.xzd.paymentsReceipts.domain.bo.XzdSfkFapiaoBo;
|
||||
@ -12,6 +13,8 @@ import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import jakarta.validation.constraints.*;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@ -52,6 +55,8 @@ public class XzdSkyfkFbhtfkBo extends BaseEntity {
|
||||
* 单据日期
|
||||
*/
|
||||
@NotNull(message = "单据日期不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date documentDate;
|
||||
|
||||
/**
|
||||
|
||||
@ -2,6 +2,7 @@ package org.dromara.xzd.skyfk.fbhtfk.domain.vo;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.dromara.xzd.contractManagement.fenbaohetongxinxi.domain.vo.XzdSubcontractVo;
|
||||
import org.dromara.xzd.domain.vo.XzdContractDetailsVo;
|
||||
import org.dromara.xzd.paymentsReceipts.domain.bo.XzdSfkFapiaoBo;
|
||||
@ -13,6 +14,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
@ -61,6 +63,8 @@ public class XzdSkyfkFbhtfkVo implements Serializable {
|
||||
* 单据日期
|
||||
*/
|
||||
@ExcelProperty(value = "单据日期")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date documentDate;
|
||||
|
||||
/**
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package org.dromara.xzd.skyfk.fbhtfk.service.impl;
|
||||
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.checkerframework.checker.units.qual.A;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
@ -21,6 +22,7 @@ import org.dromara.xzd.paymentsReceipts.domain.XzdSfkFukuan;
|
||||
import org.dromara.xzd.paymentsReceipts.domain.bo.XzdSfkFapiaoBo;
|
||||
import org.dromara.xzd.paymentsReceipts.domain.bo.XzdSfkFukuanBo;
|
||||
import org.dromara.xzd.paymentsReceipts.domain.vo.XzdSfkFapiaoVo;
|
||||
import org.dromara.xzd.paymentsReceipts.domain.vo.XzdSfkFukuanVo;
|
||||
import org.dromara.xzd.paymentsReceipts.service.impl.XzdSfkFapiaoServiceImpl;
|
||||
import org.dromara.xzd.paymentsReceipts.service.impl.XzdSfkFukuanServiceImpl;
|
||||
import org.dromara.xzd.service.impl.*;
|
||||
@ -74,7 +76,10 @@ public class XzdSkyfkFbhtfkServiceImpl extends ServiceImpl<XzdSkyfkFbhtfkMapper,
|
||||
*/
|
||||
@Override
|
||||
public XzdSkyfkFbhtfkVo queryById(Long id){
|
||||
return baseMapper.selectVoById(id);
|
||||
XzdSkyfkFbhtfkVo fbhtfkVo = baseMapper.selectVoById(id);
|
||||
List<XzdSkyfkFbhtfkVo> fbhtfkVo1 = List.of(fbhtfkVo);
|
||||
setValue(fbhtfkVo1);
|
||||
return fbhtfkVo1.getFirst();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -167,6 +172,7 @@ public class XzdSkyfkFbhtfkServiceImpl extends ServiceImpl<XzdSkyfkFbhtfkMapper,
|
||||
public Boolean insertByBo(XzdSkyfkFbhtfkBo bo) {
|
||||
XzdSkyfkFbhtfk add = MapstructUtils.convert(bo, XzdSkyfkFbhtfk.class);
|
||||
validEntityBeforeSave(add);
|
||||
add.setDocumentCode(IdUtil.getSnowflakeNextIdStr());
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setId(add.getId());
|
||||
@ -356,6 +362,20 @@ public class XzdSkyfkFbhtfkServiceImpl extends ServiceImpl<XzdSkyfkFbhtfkMapper,
|
||||
vo.setXmdl(bigType.getTypeName());
|
||||
}
|
||||
}
|
||||
//付款信息
|
||||
XzdSfkFukuanBo bo = new XzdSfkFukuanBo();
|
||||
bo.setMainDocumentId(vo.getId());
|
||||
List<XzdSfkFukuanVo> xzdSfkFukuanVos = xzdSfkFukuanService.queryList(bo);
|
||||
if (xzdSfkFukuanVos != null && !xzdSfkFukuanVos.isEmpty()){
|
||||
vo.setFkxx(xzdSfkFukuanVos);
|
||||
}
|
||||
//发票信息
|
||||
XzdSfkFapiaoBo bo1 = new XzdSfkFapiaoBo();
|
||||
bo1.setMainDocumentId(vo.getId());
|
||||
List<XzdSfkFapiaoVo> xzdSfkFapiaoVos = xzdSfkFapiaoService.queryList(bo1);
|
||||
if (xzdSfkFapiaoVos != null && !xzdSfkFapiaoVos.isEmpty()){
|
||||
vo.setFpxx(xzdSfkFapiaoVos);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -0,0 +1,105 @@
|
||||
package org.dromara.xzd.spykp.kpsq.controller;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||
import org.dromara.common.log.annotation.Log;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.common.log.enums.BusinessType;
|
||||
import org.dromara.common.excel.utils.ExcelUtil;
|
||||
import org.dromara.xzd.spykp.kpsq.domain.vo.XzdSpykpKpsqVo;
|
||||
import org.dromara.xzd.spykp.kpsq.domain.bo.XzdSpykpKpsqBo;
|
||||
import org.dromara.xzd.spykp.kpsq.service.IXzdSpykpKpsqService;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 收票与开票-开票申请
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-17
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/kpsq/kpsq")
|
||||
public class XzdSpykpKpsqController extends BaseController {
|
||||
|
||||
private final IXzdSpykpKpsqService xzdSpykpKpsqService;
|
||||
|
||||
/**
|
||||
* 查询收票与开票-开票申请列表
|
||||
*/
|
||||
@SaCheckPermission("kpsq:kpsq:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<XzdSpykpKpsqVo> list(XzdSpykpKpsqBo bo, PageQuery pageQuery) {
|
||||
return xzdSpykpKpsqService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出收票与开票-开票申请列表
|
||||
*/
|
||||
@SaCheckPermission("kpsq:kpsq:export")
|
||||
@Log(title = "收票与开票-开票申请", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(XzdSpykpKpsqBo bo, HttpServletResponse response) {
|
||||
List<XzdSpykpKpsqVo> list = xzdSpykpKpsqService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "收票与开票-开票申请", XzdSpykpKpsqVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取收票与开票-开票申请详细信息
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("kpsq:kpsq:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<XzdSpykpKpsqVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long id) {
|
||||
return R.ok(xzdSpykpKpsqService.queryById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增收票与开票-开票申请
|
||||
*/
|
||||
@SaCheckPermission("kpsq:kpsq:add")
|
||||
@Log(title = "收票与开票-开票申请", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody XzdSpykpKpsqBo bo) {
|
||||
return toAjax(xzdSpykpKpsqService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改收票与开票-开票申请
|
||||
*/
|
||||
@SaCheckPermission("kpsq:kpsq:edit")
|
||||
@Log(title = "收票与开票-开票申请", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody XzdSpykpKpsqBo bo) {
|
||||
return toAjax(xzdSpykpKpsqService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除收票与开票-开票申请
|
||||
*
|
||||
* @param ids 主键串
|
||||
*/
|
||||
@SaCheckPermission("kpsq:kpsq:remove")
|
||||
@Log(title = "收票与开票-开票申请", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] ids) {
|
||||
return toAjax(xzdSpykpKpsqService.deleteWithValidByIds(List.of(ids), true));
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,452 @@
|
||||
package org.dromara.xzd.spykp.kpsq.domain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
/**
|
||||
* 收票与开票-开票申请对象 xzd_spykp_kpsq
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-17
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("xzd_spykp_kpsq")
|
||||
public class XzdSpykpKpsq extends BaseEntity {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 类型
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 部门id
|
||||
*/
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
* 单据编码
|
||||
*/
|
||||
private String djbm;
|
||||
|
||||
/**
|
||||
* 申请日期
|
||||
*/
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date sqrq;
|
||||
|
||||
/**
|
||||
* 申请人
|
||||
*/
|
||||
private String sqr;
|
||||
|
||||
/**
|
||||
* 申请部门(仅部门)
|
||||
*/
|
||||
private Long sqbm;
|
||||
|
||||
/**
|
||||
* 部门名称
|
||||
*/
|
||||
private String sqbmmc;
|
||||
|
||||
/**
|
||||
* 发票类型(字典)
|
||||
*/
|
||||
private String fplx;
|
||||
|
||||
/**
|
||||
* 申请总额
|
||||
*/
|
||||
private Long sqze;
|
||||
|
||||
/**
|
||||
* 所属组织
|
||||
*/
|
||||
private String sszz;
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 项目
|
||||
*/
|
||||
private String projectName;
|
||||
|
||||
/**
|
||||
* 计征方式
|
||||
*/
|
||||
private String jzfs;
|
||||
|
||||
/**
|
||||
* 项目金额
|
||||
*/
|
||||
private BigDecimal xmje;
|
||||
|
||||
/**
|
||||
* 合同id
|
||||
*/
|
||||
private Long contractId;
|
||||
|
||||
/**
|
||||
* 合同编码
|
||||
*/
|
||||
private String contractCode;
|
||||
|
||||
/**
|
||||
* 合同金额
|
||||
*/
|
||||
private BigDecimal htje;
|
||||
|
||||
/**
|
||||
* 跨区涉税证号
|
||||
*/
|
||||
private String kqsszh;
|
||||
|
||||
/**
|
||||
* 开票状态
|
||||
*/
|
||||
private String kpzt;
|
||||
|
||||
/**
|
||||
* 差票开额0否1是
|
||||
*/
|
||||
private String cekp;
|
||||
|
||||
/**
|
||||
* 差额扣除
|
||||
*/
|
||||
private BigDecimal cekc;
|
||||
|
||||
/**
|
||||
* 是否预收款0否1是
|
||||
*/
|
||||
private String ysk;
|
||||
|
||||
/**
|
||||
* 数据来源
|
||||
*/
|
||||
private String sjly;
|
||||
|
||||
/**
|
||||
* 本次结算金额
|
||||
*/
|
||||
private BigDecimal bcjsje;
|
||||
|
||||
/**
|
||||
* 开票说明
|
||||
*/
|
||||
private String kpje;
|
||||
|
||||
/**
|
||||
* 开票分机号
|
||||
*/
|
||||
private String kpfjh;
|
||||
|
||||
/**
|
||||
* 终止状态
|
||||
*/
|
||||
private String zzzt;
|
||||
|
||||
/**
|
||||
* 扣押金比例
|
||||
*/
|
||||
private BigDecimal kyjbl;
|
||||
|
||||
/**
|
||||
* 扣押金额度
|
||||
*/
|
||||
private BigDecimal kyjed;
|
||||
|
||||
/**
|
||||
* 实时刷新0否1是
|
||||
*/
|
||||
private String sssx;
|
||||
|
||||
/**
|
||||
* 项目累计申请总额
|
||||
*/
|
||||
private BigDecimal xmljsqze;
|
||||
|
||||
/**
|
||||
* 项目累计开票总额
|
||||
*/
|
||||
private BigDecimal xmljkpze;
|
||||
|
||||
/**
|
||||
* 合同累计申请总额
|
||||
*/
|
||||
private BigDecimal htljsqze;
|
||||
|
||||
/**
|
||||
* 合同累计开票总额
|
||||
*/
|
||||
private BigDecimal htljkpze;
|
||||
|
||||
/**
|
||||
* 累计结算金额
|
||||
*/
|
||||
private BigDecimal ljjsje;
|
||||
|
||||
/**
|
||||
* 红蓝类型
|
||||
*/
|
||||
private String hllx;
|
||||
|
||||
/**
|
||||
* 蓝字发票代码
|
||||
*/
|
||||
private String lzfpdm;
|
||||
|
||||
/**
|
||||
* 蓝字发票号码
|
||||
*/
|
||||
private String lzfphm;
|
||||
|
||||
/**
|
||||
* 红字信息编号
|
||||
*/
|
||||
private String hzxxbh;
|
||||
|
||||
/**
|
||||
* 通知单编号
|
||||
*/
|
||||
private String tzdbh;
|
||||
|
||||
/**
|
||||
* 拆分类型
|
||||
*/
|
||||
private String cflx;
|
||||
|
||||
/**
|
||||
* 销项类型(字典)
|
||||
*/
|
||||
private String xxlx;
|
||||
|
||||
/**
|
||||
* 复核人
|
||||
*/
|
||||
private Long fhr;
|
||||
|
||||
/**
|
||||
* 复核人姓名
|
||||
*/
|
||||
private String fhrxm;
|
||||
|
||||
/**
|
||||
* 收款人
|
||||
*/
|
||||
private Long skr;
|
||||
|
||||
/**
|
||||
* 收款人姓名
|
||||
*/
|
||||
private String skrxm;
|
||||
|
||||
/**
|
||||
* 开票人
|
||||
*/
|
||||
private Long kpr;
|
||||
|
||||
/**
|
||||
* 开票人姓名
|
||||
*/
|
||||
private String kprxm;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 特定业务
|
||||
*/
|
||||
private String tdyw;
|
||||
|
||||
/**
|
||||
* 土地增值税项目编号
|
||||
*/
|
||||
private String tdzzsxmbh;
|
||||
|
||||
/**
|
||||
* 不动产权证号
|
||||
*/
|
||||
private String bdcqzh;
|
||||
|
||||
/**
|
||||
* 租赁开始日期
|
||||
*/
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date zlksrq;
|
||||
|
||||
/**
|
||||
* 租赁结束日期
|
||||
*/
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date zljsrq;
|
||||
|
||||
/**
|
||||
* 红冲原因
|
||||
*/
|
||||
private String hcyy;
|
||||
|
||||
/**
|
||||
* 销方id(供应商)
|
||||
*/
|
||||
private Long xfId;
|
||||
|
||||
/**
|
||||
* 销方名称
|
||||
*/
|
||||
private String xfmc;
|
||||
|
||||
/**
|
||||
* 销方税号(社会信用代码)
|
||||
*/
|
||||
private String xfsh;
|
||||
|
||||
/**
|
||||
* 销方地址
|
||||
*/
|
||||
private String xfdz;
|
||||
|
||||
/**
|
||||
* 销方电话
|
||||
*/
|
||||
private String xfdh;
|
||||
|
||||
/**
|
||||
* 销方银行id
|
||||
*/
|
||||
private Long xfyhId;
|
||||
|
||||
/**
|
||||
* 销方银行行号
|
||||
*/
|
||||
private String xfyhhh;
|
||||
|
||||
/**
|
||||
* 销方银行
|
||||
*/
|
||||
private String xfyh;
|
||||
|
||||
/**
|
||||
* 销方银行账号
|
||||
*/
|
||||
private String xfyhzh;
|
||||
|
||||
/**
|
||||
* 显示销方开户行及账号0否1是
|
||||
*/
|
||||
private String xsxfkhhjzh;
|
||||
|
||||
/**
|
||||
* 购方id(客户)
|
||||
*/
|
||||
private Long gfId;
|
||||
|
||||
/**
|
||||
* 购方名称
|
||||
*/
|
||||
private String gfmc;
|
||||
|
||||
/**
|
||||
* 购方税号(社会信用代码)
|
||||
*/
|
||||
private String gfsh;
|
||||
|
||||
/**
|
||||
* 购方地址
|
||||
*/
|
||||
private String gfdz;
|
||||
|
||||
/**
|
||||
* 购方电话
|
||||
*/
|
||||
private String gfdh;
|
||||
|
||||
/**
|
||||
* 购方银行id
|
||||
*/
|
||||
private Long gfyhId;
|
||||
|
||||
/**
|
||||
* 购方银行行号
|
||||
*/
|
||||
private String gfyhhh;
|
||||
|
||||
/**
|
||||
* 购方银行
|
||||
*/
|
||||
private String gfyh;
|
||||
|
||||
/**
|
||||
* 购方银行账号
|
||||
*/
|
||||
private String gfyhzh;
|
||||
|
||||
/**
|
||||
* 购方邮箱
|
||||
*/
|
||||
private String gfyx;
|
||||
|
||||
/**
|
||||
* 购方手机
|
||||
*/
|
||||
private String gfsj;
|
||||
|
||||
/**
|
||||
* 显示购方开户行及账号0否1是
|
||||
*/
|
||||
private String xsgfkhhjzh;
|
||||
|
||||
/**
|
||||
* 购方经办人姓名
|
||||
*/
|
||||
private String gfjbrxm;
|
||||
|
||||
/**
|
||||
* 证件类型
|
||||
*/
|
||||
private String zjlx;
|
||||
|
||||
/**
|
||||
* 证件号码
|
||||
*/
|
||||
private String zjhm;
|
||||
|
||||
/**
|
||||
* 场景模板
|
||||
*/
|
||||
private String cjmb;
|
||||
|
||||
/**
|
||||
* 附件(逗号分隔)
|
||||
*/
|
||||
private String fileId;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,136 @@
|
||||
package org.dromara.xzd.spykp.kpsq.domain;
|
||||
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
/**
|
||||
* 收票与开票-开票申请-发票明细对象 xzd_spykp_kpsq_kpmx
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-17
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("xzd_spykp_kpsq_kpmx")
|
||||
public class XzdSpykpKpsqKpmx extends BaseEntity {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 关联id
|
||||
*/
|
||||
private Long mainId;
|
||||
|
||||
/**
|
||||
* 发票序号
|
||||
*/
|
||||
private Long fpxh;
|
||||
|
||||
/**
|
||||
* 商品名称
|
||||
*/
|
||||
private String spmc;
|
||||
|
||||
/**
|
||||
* 规格型号
|
||||
*/
|
||||
private String spxh;
|
||||
|
||||
/**
|
||||
* 税收分类编码
|
||||
*/
|
||||
private String ssflbm;
|
||||
|
||||
/**
|
||||
* 税收分类名称
|
||||
*/
|
||||
private String ssflmc;
|
||||
|
||||
/**
|
||||
* 征税项目
|
||||
*/
|
||||
private String zsxm;
|
||||
|
||||
/**
|
||||
* 数量
|
||||
*/
|
||||
private Long sl;
|
||||
|
||||
/**
|
||||
* 单位(字典)
|
||||
*/
|
||||
private String dw;
|
||||
|
||||
/**
|
||||
* 含税单价
|
||||
*/
|
||||
private Long hsdj;
|
||||
|
||||
/**
|
||||
* 价税合计
|
||||
*/
|
||||
private Long jshj;
|
||||
|
||||
/**
|
||||
* 税率(%)
|
||||
*/
|
||||
private Long shuilv;
|
||||
|
||||
/**
|
||||
* 金额
|
||||
*/
|
||||
private Long je;
|
||||
|
||||
/**
|
||||
* 税额
|
||||
*/
|
||||
private Long se;
|
||||
|
||||
/**
|
||||
* 享受优惠政策0否1是
|
||||
*/
|
||||
private String xsyhzc;
|
||||
|
||||
/**
|
||||
* 优惠政策类型(字典)
|
||||
*/
|
||||
private String yhzclx;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 编码
|
||||
*/
|
||||
private String bm;
|
||||
|
||||
/**
|
||||
* 资源/合同清单名称
|
||||
*/
|
||||
private String zyhtqdmc;
|
||||
|
||||
/**
|
||||
* 即征即退类型(字典)
|
||||
*/
|
||||
private String jzjtlx;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private Long updateBy;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,458 @@
|
||||
package org.dromara.xzd.spykp.kpsq.domain.bo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.dromara.xzd.spykp.kpsq.domain.XzdSpykpKpsq;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import jakarta.validation.constraints.*;
|
||||
import org.dromara.xzd.spykp.kpsq.domain.XzdSpykpKpsqKpmx;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 收票与开票-开票申请业务对象 xzd_spykp_kpsq
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-17
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@AutoMapper(target = XzdSpykpKpsq.class, reverseConvertGenerate = false)
|
||||
public class XzdSpykpKpsqBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 类型
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 部门id
|
||||
*/
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
* 单据编码
|
||||
*/
|
||||
private String djbm;
|
||||
|
||||
/**
|
||||
* 申请日期
|
||||
*/
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date sqrq;
|
||||
|
||||
/**
|
||||
* 申请人
|
||||
*/
|
||||
private String sqr;
|
||||
|
||||
/**
|
||||
* 申请部门(仅部门)
|
||||
*/
|
||||
private Long sqbm;
|
||||
|
||||
/**
|
||||
* 部门名称
|
||||
*/
|
||||
private String sqbmmc;
|
||||
|
||||
/**
|
||||
* 发票类型(字典)
|
||||
*/
|
||||
private String fplx;
|
||||
|
||||
/**
|
||||
* 申请总额
|
||||
*/
|
||||
private Long sqze;
|
||||
|
||||
/**
|
||||
* 所属组织
|
||||
*/
|
||||
private String sszz;
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 项目
|
||||
*/
|
||||
private String projectName;
|
||||
|
||||
/**
|
||||
* 计征方式
|
||||
*/
|
||||
private String jzfs;
|
||||
|
||||
/**
|
||||
* 项目金额
|
||||
*/
|
||||
private BigDecimal xmje;
|
||||
|
||||
/**
|
||||
* 合同id
|
||||
*/
|
||||
@NotNull(message = "合同id不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long contractId;
|
||||
|
||||
/**
|
||||
* 合同编码
|
||||
*/
|
||||
@NotBlank(message = "合同编码不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String contractCode;
|
||||
|
||||
/**
|
||||
* 合同金额
|
||||
*/
|
||||
private BigDecimal htje;
|
||||
|
||||
/**
|
||||
* 跨区涉税证号
|
||||
*/
|
||||
private String kqsszh;
|
||||
|
||||
/**
|
||||
* 开票状态
|
||||
*/
|
||||
private String kpzt;
|
||||
|
||||
/**
|
||||
* 差票开额0否1是
|
||||
*/
|
||||
private String cekp;
|
||||
|
||||
/**
|
||||
* 差额扣除
|
||||
*/
|
||||
private BigDecimal cekc;
|
||||
|
||||
/**
|
||||
* 是否预收款0否1是
|
||||
*/
|
||||
private String ysk;
|
||||
|
||||
/**
|
||||
* 数据来源
|
||||
*/
|
||||
private String sjly;
|
||||
|
||||
/**
|
||||
* 本次结算金额
|
||||
*/
|
||||
private BigDecimal bcjsje;
|
||||
|
||||
/**
|
||||
* 开票说明
|
||||
*/
|
||||
private String kpje;
|
||||
|
||||
/**
|
||||
* 开票分机号
|
||||
*/
|
||||
private String kpfjh;
|
||||
|
||||
/**
|
||||
* 终止状态
|
||||
*/
|
||||
private String zzzt;
|
||||
|
||||
/**
|
||||
* 扣押金比例
|
||||
*/
|
||||
private BigDecimal kyjbl;
|
||||
|
||||
/**
|
||||
* 扣押金额度
|
||||
*/
|
||||
private BigDecimal kyjed;
|
||||
|
||||
/**
|
||||
* 实时刷新0否1是
|
||||
*/
|
||||
private String sssx;
|
||||
|
||||
/**
|
||||
* 项目累计申请总额
|
||||
*/
|
||||
private BigDecimal xmljsqze;
|
||||
|
||||
/**
|
||||
* 项目累计开票总额
|
||||
*/
|
||||
private BigDecimal xmljkpze;
|
||||
|
||||
/**
|
||||
* 合同累计申请总额
|
||||
*/
|
||||
private BigDecimal htljsqze;
|
||||
|
||||
/**
|
||||
* 合同累计开票总额
|
||||
*/
|
||||
private BigDecimal htljkpze;
|
||||
|
||||
/**
|
||||
* 累计结算金额
|
||||
*/
|
||||
private BigDecimal ljjsje;
|
||||
|
||||
/**
|
||||
* 红蓝类型
|
||||
*/
|
||||
private String hllx;
|
||||
|
||||
/**
|
||||
* 蓝字发票代码
|
||||
*/
|
||||
private String lzfpdm;
|
||||
|
||||
/**
|
||||
* 蓝字发票号码
|
||||
*/
|
||||
private String lzfphm;
|
||||
|
||||
/**
|
||||
* 红字信息编号
|
||||
*/
|
||||
private String hzxxbh;
|
||||
|
||||
/**
|
||||
* 通知单编号
|
||||
*/
|
||||
private String tzdbh;
|
||||
|
||||
/**
|
||||
* 拆分类型
|
||||
*/
|
||||
private String cflx;
|
||||
|
||||
/**
|
||||
* 销项类型(字典)
|
||||
*/
|
||||
private String xxlx;
|
||||
|
||||
/**
|
||||
* 复核人
|
||||
*/
|
||||
private Long fhr;
|
||||
|
||||
/**
|
||||
* 复核人姓名
|
||||
*/
|
||||
private String fhrxm;
|
||||
|
||||
/**
|
||||
* 收款人
|
||||
*/
|
||||
private Long skr;
|
||||
|
||||
/**
|
||||
* 收款人姓名
|
||||
*/
|
||||
private String skrxm;
|
||||
|
||||
/**
|
||||
* 开票人
|
||||
*/
|
||||
private Long kpr;
|
||||
|
||||
/**
|
||||
* 开票人姓名
|
||||
*/
|
||||
private String kprxm;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 特定业务
|
||||
*/
|
||||
private String tdyw;
|
||||
|
||||
/**
|
||||
* 土地增值税项目编号
|
||||
*/
|
||||
private String tdzzsxmbh;
|
||||
|
||||
/**
|
||||
* 不动产权证号
|
||||
*/
|
||||
private String bdcqzh;
|
||||
|
||||
/**
|
||||
* 租赁开始日期
|
||||
*/
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date zlksrq;
|
||||
|
||||
/**
|
||||
* 租赁结束日期
|
||||
*/
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date zljsrq;
|
||||
|
||||
/**
|
||||
* 红冲原因
|
||||
*/
|
||||
private String hcyy;
|
||||
|
||||
/**
|
||||
* 销方id(供应商)
|
||||
*/
|
||||
private Long xfId;
|
||||
|
||||
/**
|
||||
* 销方名称
|
||||
*/
|
||||
private String xfmc;
|
||||
|
||||
/**
|
||||
* 销方税号(社会信用代码)
|
||||
*/
|
||||
private String xfsh;
|
||||
|
||||
/**
|
||||
* 销方地址
|
||||
*/
|
||||
private String xfdz;
|
||||
|
||||
/**
|
||||
* 销方电话
|
||||
*/
|
||||
private String xfdh;
|
||||
|
||||
/**
|
||||
* 销方银行id
|
||||
*/
|
||||
private Long xfyhId;
|
||||
|
||||
/**
|
||||
* 销方银行行号
|
||||
*/
|
||||
private String xfyhhh;
|
||||
|
||||
/**
|
||||
* 销方银行
|
||||
*/
|
||||
private String xfyh;
|
||||
|
||||
/**
|
||||
* 销方银行账号
|
||||
*/
|
||||
private String xfyhzh;
|
||||
|
||||
/**
|
||||
* 显示销方开户行及账号0否1是
|
||||
*/
|
||||
private String xsxfkhhjzh;
|
||||
|
||||
/**
|
||||
* 购方id(客户)
|
||||
*/
|
||||
private Long gfId;
|
||||
|
||||
/**
|
||||
* 购方名称
|
||||
*/
|
||||
private String gfmc;
|
||||
|
||||
/**
|
||||
* 购方税号(社会信用代码)
|
||||
*/
|
||||
private String gfsh;
|
||||
|
||||
/**
|
||||
* 购方地址
|
||||
*/
|
||||
private String gfdz;
|
||||
|
||||
/**
|
||||
* 购方电话
|
||||
*/
|
||||
private String gfdh;
|
||||
|
||||
/**
|
||||
* 购方银行id
|
||||
*/
|
||||
private Long gfyhId;
|
||||
|
||||
/**
|
||||
* 购方银行行号
|
||||
*/
|
||||
private String gfyhhh;
|
||||
|
||||
/**
|
||||
* 购方银行
|
||||
*/
|
||||
private String gfyh;
|
||||
|
||||
/**
|
||||
* 购方银行账号
|
||||
*/
|
||||
private String gfyhzh;
|
||||
|
||||
/**
|
||||
* 购方邮箱
|
||||
*/
|
||||
private String gfyx;
|
||||
|
||||
/**
|
||||
* 购方手机
|
||||
*/
|
||||
private String gfsj;
|
||||
|
||||
/**
|
||||
* 显示购方开户行及账号0否1是
|
||||
*/
|
||||
private String xsgfkhhjzh;
|
||||
|
||||
/**
|
||||
* 购方经办人姓名
|
||||
*/
|
||||
private String gfjbrxm;
|
||||
|
||||
/**
|
||||
* 证件类型
|
||||
*/
|
||||
private String zjlx;
|
||||
|
||||
/**
|
||||
* 证件号码
|
||||
*/
|
||||
private String zjhm;
|
||||
|
||||
/**
|
||||
* 场景模板
|
||||
*/
|
||||
private String cjmb;
|
||||
|
||||
/**
|
||||
* 附件(逗号分隔)
|
||||
*/
|
||||
private String fileId;
|
||||
|
||||
/**
|
||||
* 开票明细
|
||||
*/
|
||||
List<XzdSpykpKpsqKpmx> kpmx;
|
||||
|
||||
}
|
||||
@ -0,0 +1,134 @@
|
||||
package org.dromara.xzd.spykp.kpsq.domain.bo;
|
||||
|
||||
import org.dromara.xzd.spykp.kpsq.domain.XzdSpykpKpsqKpmx;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import jakarta.validation.constraints.*;
|
||||
|
||||
/**
|
||||
* 收票与开票-开票申请-发票明细业务对象 xzd_spykp_kpsq_kpmx
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-17
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@AutoMapper(target = XzdSpykpKpsqKpmx.class, reverseConvertGenerate = false)
|
||||
public class XzdSpykpKpsqKpmxBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@NotNull(message = "id不能为空", groups = { EditGroup.class })
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 关联id
|
||||
*/
|
||||
private Long mainId;
|
||||
|
||||
/**
|
||||
* 发票序号
|
||||
*/
|
||||
private Long fpxh;
|
||||
|
||||
/**
|
||||
* 商品名称
|
||||
*/
|
||||
private String spmc;
|
||||
|
||||
/**
|
||||
* 规格型号
|
||||
*/
|
||||
private String spxh;
|
||||
|
||||
/**
|
||||
* 税收分类编码
|
||||
*/
|
||||
private String ssflbm;
|
||||
|
||||
/**
|
||||
* 税收分类名称
|
||||
*/
|
||||
private String ssflmc;
|
||||
|
||||
/**
|
||||
* 征税项目
|
||||
*/
|
||||
private String zsxm;
|
||||
|
||||
/**
|
||||
* 数量
|
||||
*/
|
||||
private Long sl;
|
||||
|
||||
/**
|
||||
* 单位(字典)
|
||||
*/
|
||||
private String dw;
|
||||
|
||||
/**
|
||||
* 含税单价
|
||||
*/
|
||||
private Long hsdj;
|
||||
|
||||
/**
|
||||
* 价税合计
|
||||
*/
|
||||
private Long jshj;
|
||||
|
||||
/**
|
||||
* 税率(%)
|
||||
*/
|
||||
private Long shuilv;
|
||||
|
||||
/**
|
||||
* 金额
|
||||
*/
|
||||
private Long je;
|
||||
|
||||
/**
|
||||
* 税额
|
||||
*/
|
||||
private Long se;
|
||||
|
||||
/**
|
||||
* 享受优惠政策0否1是
|
||||
*/
|
||||
private String xsyhzc;
|
||||
|
||||
/**
|
||||
* 优惠政策类型(字典)
|
||||
*/
|
||||
private String yhzclx;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 编码
|
||||
*/
|
||||
private String bm;
|
||||
|
||||
/**
|
||||
* 资源/合同清单名称
|
||||
*/
|
||||
private String zyhtqdmc;
|
||||
|
||||
/**
|
||||
* 即征即退类型(字典)
|
||||
*/
|
||||
private String jzjtlx;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private Long updateBy;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,160 @@
|
||||
package org.dromara.xzd.spykp.kpsq.domain.vo;
|
||||
|
||||
import org.dromara.xzd.spykp.kpsq.domain.XzdSpykpKpsqKpmx;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
|
||||
/**
|
||||
* 收票与开票-开票申请-发票明细视图对象 xzd_spykp_kpsq_kpmx
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-17
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
@AutoMapper(target = XzdSpykpKpsqKpmx.class)
|
||||
public class XzdSpykpKpsqKpmxVo implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@ExcelProperty(value = "id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 关联id
|
||||
*/
|
||||
@ExcelProperty(value = "关联id")
|
||||
private Long mainId;
|
||||
|
||||
/**
|
||||
* 发票序号
|
||||
*/
|
||||
@ExcelProperty(value = "发票序号")
|
||||
private Long fpxh;
|
||||
|
||||
/**
|
||||
* 商品名称
|
||||
*/
|
||||
@ExcelProperty(value = "商品名称")
|
||||
private String spmc;
|
||||
|
||||
/**
|
||||
* 规格型号
|
||||
*/
|
||||
@ExcelProperty(value = "规格型号")
|
||||
private String spxh;
|
||||
|
||||
/**
|
||||
* 税收分类编码
|
||||
*/
|
||||
@ExcelProperty(value = "税收分类编码")
|
||||
private String ssflbm;
|
||||
|
||||
/**
|
||||
* 税收分类名称
|
||||
*/
|
||||
@ExcelProperty(value = "税收分类名称")
|
||||
private String ssflmc;
|
||||
|
||||
/**
|
||||
* 征税项目
|
||||
*/
|
||||
@ExcelProperty(value = "征税项目")
|
||||
private String zsxm;
|
||||
|
||||
/**
|
||||
* 数量
|
||||
*/
|
||||
@ExcelProperty(value = "数量")
|
||||
private Long sl;
|
||||
|
||||
/**
|
||||
* 单位(字典)
|
||||
*/
|
||||
@ExcelProperty(value = "单位(字典)")
|
||||
private String dw;
|
||||
|
||||
/**
|
||||
* 含税单价
|
||||
*/
|
||||
@ExcelProperty(value = "含税单价")
|
||||
private Long hsdj;
|
||||
|
||||
/**
|
||||
* 价税合计
|
||||
*/
|
||||
@ExcelProperty(value = "价税合计")
|
||||
private Long jshj;
|
||||
|
||||
/**
|
||||
* 税率(%)
|
||||
*/
|
||||
@ExcelProperty(value = "税率(%)")
|
||||
private Long shuilv;
|
||||
|
||||
/**
|
||||
* 金额
|
||||
*/
|
||||
@ExcelProperty(value = "金额")
|
||||
private Long je;
|
||||
|
||||
/**
|
||||
* 税额
|
||||
*/
|
||||
@ExcelProperty(value = "税额")
|
||||
private Long se;
|
||||
|
||||
/**
|
||||
* 享受优惠政策0否1是
|
||||
*/
|
||||
@ExcelProperty(value = "享受优惠政策0否1是")
|
||||
private String xsyhzc;
|
||||
|
||||
/**
|
||||
* 优惠政策类型(字典)
|
||||
*/
|
||||
@ExcelProperty(value = "优惠政策类型(字典)")
|
||||
private String yhzclx;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 编码
|
||||
*/
|
||||
@ExcelProperty(value = "编码")
|
||||
private String bm;
|
||||
|
||||
/**
|
||||
* 资源/合同清单名称
|
||||
*/
|
||||
@ExcelProperty(value = "资源/合同清单名称")
|
||||
private String zyhtqdmc;
|
||||
|
||||
/**
|
||||
* 即征即退类型(字典)
|
||||
*/
|
||||
@ExcelProperty(value = "即征即退类型(字典)")
|
||||
private String jzjtlx;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@ExcelProperty(value = "")
|
||||
private Long updateBy;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,541 @@
|
||||
package org.dromara.xzd.spykp.kpsq.domain.vo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.dromara.xzd.spykp.kpsq.domain.XzdSpykpKpsq;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import org.dromara.xzd.spykp.kpsq.domain.XzdSpykpKpsqKpmx;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* 收票与开票-开票申请视图对象 xzd_spykp_kpsq
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-17
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
@AutoMapper(target = XzdSpykpKpsq.class)
|
||||
public class XzdSpykpKpsqVo implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@ExcelProperty(value = "id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 类型
|
||||
*/
|
||||
@ExcelProperty(value = "类型")
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 部门id
|
||||
*/
|
||||
@ExcelProperty(value = "部门id")
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
* 单据编码
|
||||
*/
|
||||
@ExcelProperty(value = "单据编码")
|
||||
private String djbm;
|
||||
|
||||
/**
|
||||
* 申请日期
|
||||
*/
|
||||
@ExcelProperty(value = "申请日期")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date sqrq;
|
||||
|
||||
/**
|
||||
* 申请人
|
||||
*/
|
||||
@ExcelProperty(value = "申请人")
|
||||
private String sqr;
|
||||
|
||||
/**
|
||||
* 申请部门(仅部门)
|
||||
*/
|
||||
@ExcelProperty(value = "申请部门(仅部门)")
|
||||
private Long sqbm;
|
||||
|
||||
/**
|
||||
* 部门名称
|
||||
*/
|
||||
@ExcelProperty(value = "部门名称")
|
||||
private String sqbmmc;
|
||||
|
||||
/**
|
||||
* 发票类型(字典)
|
||||
*/
|
||||
@ExcelProperty(value = "发票类型(字典)")
|
||||
private String fplx;
|
||||
|
||||
/**
|
||||
* 申请总额
|
||||
*/
|
||||
@ExcelProperty(value = "申请总额")
|
||||
private Long sqze;
|
||||
|
||||
/**
|
||||
* 所属组织
|
||||
*/
|
||||
@ExcelProperty(value = "所属组织")
|
||||
private String sszz;
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
@ExcelProperty(value = "项目id")
|
||||
private Long projectId;
|
||||
|
||||
/**
|
||||
* 项目
|
||||
*/
|
||||
@ExcelProperty(value = "项目")
|
||||
private String projectName;
|
||||
|
||||
/**
|
||||
* 计征方式
|
||||
*/
|
||||
@ExcelProperty(value = "计征方式")
|
||||
private String jzfs;
|
||||
|
||||
/**
|
||||
* 项目金额
|
||||
*/
|
||||
@ExcelProperty(value = "项目金额")
|
||||
private BigDecimal xmje;
|
||||
|
||||
/**
|
||||
* 合同id
|
||||
*/
|
||||
@ExcelProperty(value = "合同id")
|
||||
private Long contractId;
|
||||
|
||||
/**
|
||||
* 合同编码
|
||||
*/
|
||||
@ExcelProperty(value = "合同编码")
|
||||
private String contractCode;
|
||||
|
||||
/**
|
||||
* 合同金额
|
||||
*/
|
||||
@ExcelProperty(value = "合同金额")
|
||||
private BigDecimal htje;
|
||||
|
||||
/**
|
||||
* 跨区涉税证号
|
||||
*/
|
||||
@ExcelProperty(value = "跨区涉税证号")
|
||||
private String kqsszh;
|
||||
|
||||
/**
|
||||
* 开票状态
|
||||
*/
|
||||
@ExcelProperty(value = "开票状态")
|
||||
private String kpzt;
|
||||
|
||||
/**
|
||||
* 差票开额0否1是
|
||||
*/
|
||||
@ExcelProperty(value = "差票开额0否1是")
|
||||
private String cekp;
|
||||
|
||||
/**
|
||||
* 差额扣除
|
||||
*/
|
||||
@ExcelProperty(value = "差额扣除")
|
||||
private BigDecimal cekc;
|
||||
|
||||
/**
|
||||
* 是否预收款0否1是
|
||||
*/
|
||||
@ExcelProperty(value = "是否预收款0否1是")
|
||||
private String ysk;
|
||||
|
||||
/**
|
||||
* 数据来源
|
||||
*/
|
||||
@ExcelProperty(value = "数据来源")
|
||||
private String sjly;
|
||||
|
||||
/**
|
||||
* 本次结算金额
|
||||
*/
|
||||
@ExcelProperty(value = "本次结算金额")
|
||||
private Long bcjsje;
|
||||
|
||||
/**
|
||||
* 开票说明
|
||||
*/
|
||||
@ExcelProperty(value = "开票说明")
|
||||
private String kpje;
|
||||
|
||||
/**
|
||||
* 开票分机号
|
||||
*/
|
||||
@ExcelProperty(value = "开票分机号")
|
||||
private String kpfjh;
|
||||
|
||||
/**
|
||||
* 终止状态
|
||||
*/
|
||||
@ExcelProperty(value = "终止状态")
|
||||
private String zzzt;
|
||||
|
||||
/**
|
||||
* 扣押金比例
|
||||
*/
|
||||
@ExcelProperty(value = "扣押金比例")
|
||||
private BigDecimal kyjbl;
|
||||
|
||||
/**
|
||||
* 扣押金额度
|
||||
*/
|
||||
@ExcelProperty(value = "扣押金额度")
|
||||
private BigDecimal kyjed;
|
||||
|
||||
/**
|
||||
* 实时刷新0否1是
|
||||
*/
|
||||
@ExcelProperty(value = "实时刷新0否1是")
|
||||
private String sssx;
|
||||
|
||||
/**
|
||||
* 项目累计申请总额
|
||||
*/
|
||||
@ExcelProperty(value = "项目累计申请总额")
|
||||
private BigDecimal xmljsqze;
|
||||
|
||||
/**
|
||||
* 项目累计开票总额
|
||||
*/
|
||||
@ExcelProperty(value = "项目累计开票总额")
|
||||
private BigDecimal xmljkpze;
|
||||
|
||||
/**
|
||||
* 合同累计申请总额
|
||||
*/
|
||||
@ExcelProperty(value = "合同累计申请总额")
|
||||
private BigDecimal htljsqze;
|
||||
|
||||
/**
|
||||
* 合同累计开票总额
|
||||
*/
|
||||
@ExcelProperty(value = "合同累计开票总额")
|
||||
private BigDecimal htljkpze;
|
||||
|
||||
/**
|
||||
* 累计结算金额
|
||||
*/
|
||||
@ExcelProperty(value = "累计结算金额")
|
||||
private BigDecimal ljjsje;
|
||||
|
||||
/**
|
||||
* 红蓝类型
|
||||
*/
|
||||
@ExcelProperty(value = "红蓝类型")
|
||||
private String hllx;
|
||||
|
||||
/**
|
||||
* 蓝字发票代码
|
||||
*/
|
||||
@ExcelProperty(value = "蓝字发票代码")
|
||||
private String lzfpdm;
|
||||
|
||||
/**
|
||||
* 蓝字发票号码
|
||||
*/
|
||||
@ExcelProperty(value = "蓝字发票号码")
|
||||
private String lzfphm;
|
||||
|
||||
/**
|
||||
* 红字信息编号
|
||||
*/
|
||||
@ExcelProperty(value = "红字信息编号")
|
||||
private String hzxxbh;
|
||||
|
||||
/**
|
||||
* 通知单编号
|
||||
*/
|
||||
@ExcelProperty(value = "通知单编号")
|
||||
private String tzdbh;
|
||||
|
||||
/**
|
||||
* 拆分类型
|
||||
*/
|
||||
@ExcelProperty(value = "拆分类型")
|
||||
private String cflx;
|
||||
|
||||
/**
|
||||
* 销项类型(字典)
|
||||
*/
|
||||
@ExcelProperty(value = "销项类型(字典)")
|
||||
private String xxlx;
|
||||
|
||||
/**
|
||||
* 复核人
|
||||
*/
|
||||
@ExcelProperty(value = "复核人")
|
||||
private Long fhr;
|
||||
|
||||
/**
|
||||
* 复核人姓名
|
||||
*/
|
||||
@ExcelProperty(value = "复核人姓名")
|
||||
private String fhrxm;
|
||||
|
||||
/**
|
||||
* 收款人
|
||||
*/
|
||||
@ExcelProperty(value = "收款人")
|
||||
private Long skr;
|
||||
|
||||
/**
|
||||
* 收款人姓名
|
||||
*/
|
||||
@ExcelProperty(value = "收款人姓名")
|
||||
private String skrxm;
|
||||
|
||||
/**
|
||||
* 开票人
|
||||
*/
|
||||
@ExcelProperty(value = "开票人")
|
||||
private Long kpr;
|
||||
|
||||
/**
|
||||
* 开票人姓名
|
||||
*/
|
||||
@ExcelProperty(value = "开票人姓名")
|
||||
private String kprxm;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ExcelProperty(value = "备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 特定业务
|
||||
*/
|
||||
@ExcelProperty(value = "特定业务")
|
||||
private String tdyw;
|
||||
|
||||
/**
|
||||
* 土地增值税项目编号
|
||||
*/
|
||||
@ExcelProperty(value = "土地增值税项目编号")
|
||||
private String tdzzsxmbh;
|
||||
|
||||
/**
|
||||
* 不动产权证号
|
||||
*/
|
||||
@ExcelProperty(value = "不动产权证号")
|
||||
private String bdcqzh;
|
||||
|
||||
/**
|
||||
* 租赁开始日期
|
||||
*/
|
||||
@ExcelProperty(value = "租赁开始日期")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date zlksrq;
|
||||
|
||||
/**
|
||||
* 租赁结束日期
|
||||
*/
|
||||
@ExcelProperty(value = "租赁结束日期")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date zljsrq;
|
||||
|
||||
/**
|
||||
* 红冲原因
|
||||
*/
|
||||
@ExcelProperty(value = "红冲原因")
|
||||
private String hcyy;
|
||||
|
||||
/**
|
||||
* 销方id(供应商)
|
||||
*/
|
||||
@ExcelProperty(value = "销方id(供应商)")
|
||||
private Long xfId;
|
||||
|
||||
/**
|
||||
* 销方名称
|
||||
*/
|
||||
private String xfmc;
|
||||
|
||||
/**
|
||||
* 销方税号(社会信用代码)
|
||||
*/
|
||||
@ExcelProperty(value = "销方税号(社会信用代码)")
|
||||
private String xfsh;
|
||||
|
||||
/**
|
||||
* 销方地址
|
||||
*/
|
||||
@ExcelProperty(value = "销方地址")
|
||||
private String xfdz;
|
||||
|
||||
/**
|
||||
* 销方电话
|
||||
*/
|
||||
@ExcelProperty(value = "销方电话")
|
||||
private String xfdh;
|
||||
|
||||
/**
|
||||
* 销方银行id
|
||||
*/
|
||||
@ExcelProperty(value = "销方银行id")
|
||||
private Long xfyhId;
|
||||
|
||||
/**
|
||||
* 销方银行行号
|
||||
*/
|
||||
@ExcelProperty(value = "销方银行行号")
|
||||
private String xfyhhh;
|
||||
|
||||
/**
|
||||
* 销方银行
|
||||
*/
|
||||
@ExcelProperty(value = "销方银行")
|
||||
private String xfyh;
|
||||
|
||||
/**
|
||||
* 销方银行账号
|
||||
*/
|
||||
private String xfyhzh;
|
||||
|
||||
/**
|
||||
* 显示销方开户行及账号0否1是
|
||||
*/
|
||||
@ExcelProperty(value = "显示销方开户行及账号0否1是")
|
||||
private String xsxfkhhjzh;
|
||||
|
||||
/**
|
||||
* 购方id(客户)
|
||||
*/
|
||||
@ExcelProperty(value = "购方id(客户)")
|
||||
private Long gfId;
|
||||
|
||||
/**
|
||||
* 购方名称
|
||||
*/
|
||||
@ExcelProperty(value = "购方名称")
|
||||
private String gfmc;
|
||||
|
||||
/**
|
||||
* 购方税号(社会信用代码)
|
||||
*/
|
||||
@ExcelProperty(value = "购方税号(社会信用代码)")
|
||||
private String gfsh;
|
||||
|
||||
/**
|
||||
* 购方地址
|
||||
*/
|
||||
@ExcelProperty(value = "购方地址")
|
||||
private String gfdz;
|
||||
|
||||
/**
|
||||
* 购方电话
|
||||
*/
|
||||
@ExcelProperty(value = "购方电话")
|
||||
private String gfdh;
|
||||
|
||||
/**
|
||||
* 购方银行id
|
||||
*/
|
||||
@ExcelProperty(value = "购方银行id")
|
||||
private Long gfyhId;
|
||||
|
||||
/**
|
||||
* 购方银行行号
|
||||
*/
|
||||
@ExcelProperty(value = "购方银行行号")
|
||||
private String gfyhhh;
|
||||
|
||||
/**
|
||||
* 购方银行
|
||||
*/
|
||||
@ExcelProperty(value = "购方银行")
|
||||
private String gfyh;
|
||||
|
||||
/**
|
||||
* 购方银行账号
|
||||
*/
|
||||
@ExcelProperty(value = "购方银行账号")
|
||||
private String gfyhzh;
|
||||
|
||||
/**
|
||||
* 购方邮箱
|
||||
*/
|
||||
@ExcelProperty(value = "购方邮箱")
|
||||
private String gfyx;
|
||||
|
||||
/**
|
||||
* 购方手机
|
||||
*/
|
||||
@ExcelProperty(value = "购方手机")
|
||||
private String gfsj;
|
||||
|
||||
/**
|
||||
* 显示购方开户行及账号0否1是
|
||||
*/
|
||||
@ExcelProperty(value = "显示购方开户行及账号0否1是")
|
||||
private String xsgfkhhjzh;
|
||||
|
||||
/**
|
||||
* 购方经办人姓名
|
||||
*/
|
||||
@ExcelProperty(value = "购方经办人姓名")
|
||||
private String gfjbrxm;
|
||||
|
||||
/**
|
||||
* 证件类型
|
||||
*/
|
||||
@ExcelProperty(value = "证件类型")
|
||||
private String zjlx;
|
||||
|
||||
/**
|
||||
* 证件号码
|
||||
*/
|
||||
@ExcelProperty(value = "证件号码")
|
||||
private String zjhm;
|
||||
|
||||
/**
|
||||
* 场景模板
|
||||
*/
|
||||
@ExcelProperty(value = "场景模板")
|
||||
private String cjmb;
|
||||
|
||||
/**
|
||||
* 附件(逗号分隔)
|
||||
*/
|
||||
@ExcelProperty(value = "附件(逗号分隔)")
|
||||
private String fileId;
|
||||
|
||||
/**
|
||||
* 开票明细
|
||||
*/
|
||||
List<XzdSpykpKpsqKpmx> kpmx;
|
||||
|
||||
}
|
||||
@ -0,0 +1,15 @@
|
||||
package org.dromara.xzd.spykp.kpsq.mapper;
|
||||
|
||||
import org.dromara.xzd.spykp.kpsq.domain.XzdSpykpKpsqKpmx;
|
||||
import org.dromara.xzd.spykp.kpsq.domain.vo.XzdSpykpKpsqKpmxVo;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 收票与开票-开票申请-发票明细Mapper接口
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-17
|
||||
*/
|
||||
public interface XzdSpykpKpsqKpmxMapper extends BaseMapperPlus<XzdSpykpKpsqKpmx, XzdSpykpKpsqKpmxVo> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,15 @@
|
||||
package org.dromara.xzd.spykp.kpsq.mapper;
|
||||
|
||||
import org.dromara.xzd.spykp.kpsq.domain.XzdSpykpKpsq;
|
||||
import org.dromara.xzd.spykp.kpsq.domain.vo.XzdSpykpKpsqVo;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 收票与开票-开票申请Mapper接口
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-17
|
||||
*/
|
||||
public interface XzdSpykpKpsqMapper extends BaseMapperPlus<XzdSpykpKpsq, XzdSpykpKpsqVo> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,70 @@
|
||||
package org.dromara.xzd.spykp.kpsq.service;
|
||||
|
||||
import org.dromara.xzd.spykp.kpsq.domain.vo.XzdSpykpKpsqKpmxVo;
|
||||
import org.dromara.xzd.spykp.kpsq.domain.bo.XzdSpykpKpsqKpmxBo;
|
||||
import org.dromara.xzd.spykp.kpsq.domain.XzdSpykpKpsqKpmx;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 收票与开票-开票申请-发票明细Service接口
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-17
|
||||
*/
|
||||
public interface IXzdSpykpKpsqKpmxService extends IService<XzdSpykpKpsqKpmx>{
|
||||
|
||||
/**
|
||||
* 查询收票与开票-开票申请-发票明细
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 收票与开票-开票申请-发票明细
|
||||
*/
|
||||
XzdSpykpKpsqKpmxVo queryById(Long id);
|
||||
|
||||
/**
|
||||
* 分页查询收票与开票-开票申请-发票明细列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 收票与开票-开票申请-发票明细分页列表
|
||||
*/
|
||||
TableDataInfo<XzdSpykpKpsqKpmxVo> queryPageList(XzdSpykpKpsqKpmxBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询符合条件的收票与开票-开票申请-发票明细列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 收票与开票-开票申请-发票明细列表
|
||||
*/
|
||||
List<XzdSpykpKpsqKpmxVo> queryList(XzdSpykpKpsqKpmxBo bo);
|
||||
|
||||
/**
|
||||
* 新增收票与开票-开票申请-发票明细
|
||||
*
|
||||
* @param bo 收票与开票-开票申请-发票明细
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
Boolean insertByBo(XzdSpykpKpsqKpmxBo bo);
|
||||
|
||||
/**
|
||||
* 修改收票与开票-开票申请-发票明细
|
||||
*
|
||||
* @param bo 收票与开票-开票申请-发票明细
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
Boolean updateByBo(XzdSpykpKpsqKpmxBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除收票与开票-开票申请-发票明细信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@ -0,0 +1,70 @@
|
||||
package org.dromara.xzd.spykp.kpsq.service;
|
||||
|
||||
import org.dromara.xzd.spykp.kpsq.domain.vo.XzdSpykpKpsqVo;
|
||||
import org.dromara.xzd.spykp.kpsq.domain.bo.XzdSpykpKpsqBo;
|
||||
import org.dromara.xzd.spykp.kpsq.domain.XzdSpykpKpsq;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 收票与开票-开票申请Service接口
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-17
|
||||
*/
|
||||
public interface IXzdSpykpKpsqService extends IService<XzdSpykpKpsq>{
|
||||
|
||||
/**
|
||||
* 查询收票与开票-开票申请
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 收票与开票-开票申请
|
||||
*/
|
||||
XzdSpykpKpsqVo queryById(Long id);
|
||||
|
||||
/**
|
||||
* 分页查询收票与开票-开票申请列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 收票与开票-开票申请分页列表
|
||||
*/
|
||||
TableDataInfo<XzdSpykpKpsqVo> queryPageList(XzdSpykpKpsqBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询符合条件的收票与开票-开票申请列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 收票与开票-开票申请列表
|
||||
*/
|
||||
List<XzdSpykpKpsqVo> queryList(XzdSpykpKpsqBo bo);
|
||||
|
||||
/**
|
||||
* 新增收票与开票-开票申请
|
||||
*
|
||||
* @param bo 收票与开票-开票申请
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
Boolean insertByBo(XzdSpykpKpsqBo bo);
|
||||
|
||||
/**
|
||||
* 修改收票与开票-开票申请
|
||||
*
|
||||
* @param bo 收票与开票-开票申请
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
Boolean updateByBo(XzdSpykpKpsqBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除收票与开票-开票申请信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@ -0,0 +1,150 @@
|
||||
package org.dromara.xzd.spykp.kpsq.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.dromara.xzd.spykp.kpsq.domain.bo.XzdSpykpKpsqKpmxBo;
|
||||
import org.dromara.xzd.spykp.kpsq.domain.vo.XzdSpykpKpsqKpmxVo;
|
||||
import org.dromara.xzd.spykp.kpsq.domain.XzdSpykpKpsqKpmx;
|
||||
import org.dromara.xzd.spykp.kpsq.mapper.XzdSpykpKpsqKpmxMapper;
|
||||
import org.dromara.xzd.spykp.kpsq.service.IXzdSpykpKpsqKpmxService;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 收票与开票-开票申请-发票明细Service业务层处理
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-17
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class XzdSpykpKpsqKpmxServiceImpl extends ServiceImpl<XzdSpykpKpsqKpmxMapper, XzdSpykpKpsqKpmx> implements IXzdSpykpKpsqKpmxService {
|
||||
|
||||
private final XzdSpykpKpsqKpmxMapper baseMapper;
|
||||
|
||||
/**
|
||||
* 查询收票与开票-开票申请-发票明细
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 收票与开票-开票申请-发票明细
|
||||
*/
|
||||
@Override
|
||||
public XzdSpykpKpsqKpmxVo queryById(Long id){
|
||||
return baseMapper.selectVoById(id);
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询收票与开票-开票申请-发票明细列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 收票与开票-开票申请-发票明细分页列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<XzdSpykpKpsqKpmxVo> queryPageList(XzdSpykpKpsqKpmxBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<XzdSpykpKpsqKpmx> lqw = buildQueryWrapper(bo);
|
||||
Page<XzdSpykpKpsqKpmxVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询符合条件的收票与开票-开票申请-发票明细列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 收票与开票-开票申请-发票明细列表
|
||||
*/
|
||||
@Override
|
||||
public List<XzdSpykpKpsqKpmxVo> queryList(XzdSpykpKpsqKpmxBo bo) {
|
||||
LambdaQueryWrapper<XzdSpykpKpsqKpmx> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<XzdSpykpKpsqKpmx> buildQueryWrapper(XzdSpykpKpsqKpmxBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<XzdSpykpKpsqKpmx> lqw = Wrappers.lambdaQuery();
|
||||
lqw.orderByDesc(XzdSpykpKpsqKpmx::getId);
|
||||
lqw.eq(bo.getMainId() != null, XzdSpykpKpsqKpmx::getMainId, bo.getMainId());
|
||||
lqw.eq(bo.getFpxh() != null, XzdSpykpKpsqKpmx::getFpxh, bo.getFpxh());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getSpmc()), XzdSpykpKpsqKpmx::getSpmc, bo.getSpmc());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getSpxh()), XzdSpykpKpsqKpmx::getSpxh, bo.getSpxh());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getSsflbm()), XzdSpykpKpsqKpmx::getSsflbm, bo.getSsflbm());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getSsflmc()), XzdSpykpKpsqKpmx::getSsflmc, bo.getSsflmc());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getZsxm()), XzdSpykpKpsqKpmx::getZsxm, bo.getZsxm());
|
||||
lqw.eq(bo.getSl() != null, XzdSpykpKpsqKpmx::getSl, bo.getSl());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getDw()), XzdSpykpKpsqKpmx::getDw, bo.getDw());
|
||||
lqw.eq(bo.getHsdj() != null, XzdSpykpKpsqKpmx::getHsdj, bo.getHsdj());
|
||||
lqw.eq(bo.getJshj() != null, XzdSpykpKpsqKpmx::getJshj, bo.getJshj());
|
||||
lqw.eq(bo.getShuilv() != null, XzdSpykpKpsqKpmx::getShuilv, bo.getShuilv());
|
||||
lqw.eq(bo.getJe() != null, XzdSpykpKpsqKpmx::getJe, bo.getJe());
|
||||
lqw.eq(bo.getSe() != null, XzdSpykpKpsqKpmx::getSe, bo.getSe());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getXsyhzc()), XzdSpykpKpsqKpmx::getXsyhzc, bo.getXsyhzc());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getYhzclx()), XzdSpykpKpsqKpmx::getYhzclx, bo.getYhzclx());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getBm()), XzdSpykpKpsqKpmx::getBm, bo.getBm());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getZyhtqdmc()), XzdSpykpKpsqKpmx::getZyhtqdmc, bo.getZyhtqdmc());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getJzjtlx()), XzdSpykpKpsqKpmx::getJzjtlx, bo.getJzjtlx());
|
||||
// lqw.eq(bo.getUpdateBby() != null, XzdSpykpKpsqKpmx::getUpdateBby, bo.getUpdateBby());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增收票与开票-开票申请-发票明细
|
||||
*
|
||||
* @param bo 收票与开票-开票申请-发票明细
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(XzdSpykpKpsqKpmxBo bo) {
|
||||
XzdSpykpKpsqKpmx add = MapstructUtils.convert(bo, XzdSpykpKpsqKpmx.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setId(add.getId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改收票与开票-开票申请-发票明细
|
||||
*
|
||||
* @param bo 收票与开票-开票申请-发票明细
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(XzdSpykpKpsqKpmxBo bo) {
|
||||
XzdSpykpKpsqKpmx update = MapstructUtils.convert(bo, XzdSpykpKpsqKpmx.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(XzdSpykpKpsqKpmx entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验并批量删除收票与开票-开票申请-发票明细信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,314 @@
|
||||
package org.dromara.xzd.spykp.kpsq.service.impl;
|
||||
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.common.satoken.utils.LoginHelper;
|
||||
import org.dromara.system.domain.vo.SysDeptVo;
|
||||
import org.dromara.system.service.impl.SysDeptServiceImpl;
|
||||
import org.dromara.system.service.impl.SysOssServiceImpl;
|
||||
import org.dromara.xzd.domain.XzdContractSkxx;
|
||||
import org.dromara.xzd.paymentsReceipts.domain.bo.XzdSfkFapiaoBo;
|
||||
import org.dromara.xzd.spykp.kpsq.domain.XzdSpykpKpsqKpmx;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.dromara.xzd.spykp.kpsq.domain.bo.XzdSpykpKpsqBo;
|
||||
import org.dromara.xzd.spykp.kpsq.domain.vo.XzdSpykpKpsqVo;
|
||||
import org.dromara.xzd.spykp.kpsq.domain.XzdSpykpKpsq;
|
||||
import org.dromara.xzd.spykp.kpsq.mapper.XzdSpykpKpsqMapper;
|
||||
import org.dromara.xzd.spykp.kpsq.service.IXzdSpykpKpsqService;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 收票与开票-开票申请Service业务层处理
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-17
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class XzdSpykpKpsqServiceImpl extends ServiceImpl<XzdSpykpKpsqMapper, XzdSpykpKpsq> implements IXzdSpykpKpsqService {
|
||||
|
||||
private final XzdSpykpKpsqMapper baseMapper;
|
||||
@Autowired
|
||||
private SysOssServiceImpl sysOssService;
|
||||
@Autowired
|
||||
private XzdSpykpKpsqKpmxServiceImpl xzdSpykpKpsqKpmxService;
|
||||
@Autowired
|
||||
private SysDeptServiceImpl sysDeptService;
|
||||
|
||||
/**
|
||||
* 查询收票与开票-开票申请
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 收票与开票-开票申请
|
||||
*/
|
||||
@Override
|
||||
public XzdSpykpKpsqVo queryById(Long id){
|
||||
XzdSpykpKpsqVo vo = baseMapper.selectVoById(id);
|
||||
if (vo != null){
|
||||
List<XzdSpykpKpsqVo> vo1 = List.of(vo);
|
||||
setValue(vo1);
|
||||
return vo1.getFirst();
|
||||
}else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询收票与开票-开票申请列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 收票与开票-开票申请分页列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<XzdSpykpKpsqVo> queryPageList(XzdSpykpKpsqBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<XzdSpykpKpsq> lqw = buildQueryWrapper(bo);
|
||||
Page<XzdSpykpKpsqVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
setValue(result.getRecords());
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询符合条件的收票与开票-开票申请列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 收票与开票-开票申请列表
|
||||
*/
|
||||
@Override
|
||||
public List<XzdSpykpKpsqVo> queryList(XzdSpykpKpsqBo bo) {
|
||||
LambdaQueryWrapper<XzdSpykpKpsq> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<XzdSpykpKpsq> buildQueryWrapper(XzdSpykpKpsqBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<XzdSpykpKpsq> lqw = Wrappers.lambdaQuery();
|
||||
lqw.orderByDesc(XzdSpykpKpsq::getId);
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getType()), XzdSpykpKpsq::getType, bo.getType());
|
||||
lqw.eq(bo.getDeptId() != null, XzdSpykpKpsq::getDeptId, bo.getDeptId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getDjbm()), XzdSpykpKpsq::getDjbm, bo.getDjbm());
|
||||
lqw.eq(bo.getSqrq() != null, XzdSpykpKpsq::getSqrq, bo.getSqrq());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getSqr()), XzdSpykpKpsq::getSqr, bo.getSqr());
|
||||
lqw.eq(bo.getSqbm() != null, XzdSpykpKpsq::getSqbm, bo.getSqbm());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getSqbmmc()), XzdSpykpKpsq::getSqbmmc, bo.getSqbmmc());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getFplx()), XzdSpykpKpsq::getFplx, bo.getFplx());
|
||||
lqw.eq(bo.getSqze() != null, XzdSpykpKpsq::getSqze, bo.getSqze());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getSszz()), XzdSpykpKpsq::getSszz, bo.getSszz());
|
||||
lqw.eq(bo.getProjectId() != null, XzdSpykpKpsq::getProjectId, bo.getProjectId());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getProjectName()), XzdSpykpKpsq::getProjectName, bo.getProjectName());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getJzfs()), XzdSpykpKpsq::getJzfs, bo.getJzfs());
|
||||
lqw.eq(bo.getXmje() != null, XzdSpykpKpsq::getXmje, bo.getXmje());
|
||||
lqw.eq(bo.getContractId() != null, XzdSpykpKpsq::getContractId, bo.getContractId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getContractCode()), XzdSpykpKpsq::getContractCode, bo.getContractCode());
|
||||
lqw.eq(bo.getHtje() != null, XzdSpykpKpsq::getHtje, bo.getHtje());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getKqsszh()), XzdSpykpKpsq::getKqsszh, bo.getKqsszh());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getKpzt()), XzdSpykpKpsq::getKpzt, bo.getKpzt());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getCekp()), XzdSpykpKpsq::getCekp, bo.getCekp());
|
||||
lqw.eq(bo.getCekc() != null, XzdSpykpKpsq::getCekc, bo.getCekc());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getYsk()), XzdSpykpKpsq::getYsk, bo.getYsk());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getSjly()), XzdSpykpKpsq::getSjly, bo.getSjly());
|
||||
lqw.eq(bo.getBcjsje() != null, XzdSpykpKpsq::getBcjsje, bo.getBcjsje());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getKpje()), XzdSpykpKpsq::getKpje, bo.getKpje());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getKpfjh()), XzdSpykpKpsq::getKpfjh, bo.getKpfjh());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getZzzt()), XzdSpykpKpsq::getZzzt, bo.getZzzt());
|
||||
lqw.eq(bo.getKyjbl() != null, XzdSpykpKpsq::getKyjbl, bo.getKyjbl());
|
||||
lqw.eq(bo.getKyjed() != null, XzdSpykpKpsq::getKyjed, bo.getKyjed());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getSssx()), XzdSpykpKpsq::getSssx, bo.getSssx());
|
||||
lqw.eq(bo.getXmljsqze() != null, XzdSpykpKpsq::getXmljsqze, bo.getXmljsqze());
|
||||
lqw.eq(bo.getXmljkpze() != null, XzdSpykpKpsq::getXmljkpze, bo.getXmljkpze());
|
||||
lqw.eq(bo.getHtljsqze() != null, XzdSpykpKpsq::getHtljsqze, bo.getHtljsqze());
|
||||
lqw.eq(bo.getHtljkpze() != null, XzdSpykpKpsq::getHtljkpze, bo.getHtljkpze());
|
||||
lqw.eq(bo.getLjjsje() != null, XzdSpykpKpsq::getLjjsje, bo.getLjjsje());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getHllx()), XzdSpykpKpsq::getHllx, bo.getHllx());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getLzfpdm()), XzdSpykpKpsq::getLzfpdm, bo.getLzfpdm());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getLzfphm()), XzdSpykpKpsq::getLzfphm, bo.getLzfphm());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getHzxxbh()), XzdSpykpKpsq::getHzxxbh, bo.getHzxxbh());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getTzdbh()), XzdSpykpKpsq::getTzdbh, bo.getTzdbh());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getCflx()), XzdSpykpKpsq::getCflx, bo.getCflx());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getXxlx()), XzdSpykpKpsq::getXxlx, bo.getXxlx());
|
||||
lqw.eq(bo.getFhr() != null, XzdSpykpKpsq::getFhr, bo.getFhr());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getFhrxm()), XzdSpykpKpsq::getFhrxm, bo.getFhrxm());
|
||||
lqw.eq(bo.getSkr() != null, XzdSpykpKpsq::getSkr, bo.getSkr());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getSkrxm()), XzdSpykpKpsq::getSkrxm, bo.getSkrxm());
|
||||
lqw.eq(bo.getKpr() != null, XzdSpykpKpsq::getKpr, bo.getKpr());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getKprxm()), XzdSpykpKpsq::getKprxm, bo.getKprxm());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getTdyw()), XzdSpykpKpsq::getTdyw, bo.getTdyw());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getTdzzsxmbh()), XzdSpykpKpsq::getTdzzsxmbh, bo.getTdzzsxmbh());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getBdcqzh()), XzdSpykpKpsq::getBdcqzh, bo.getBdcqzh());
|
||||
lqw.eq(bo.getZlksrq() != null, XzdSpykpKpsq::getZlksrq, bo.getZlksrq());
|
||||
lqw.eq(bo.getZljsrq() != null, XzdSpykpKpsq::getZljsrq, bo.getZljsrq());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getHcyy()), XzdSpykpKpsq::getHcyy, bo.getHcyy());
|
||||
lqw.eq(bo.getXfId() != null, XzdSpykpKpsq::getXfId, bo.getXfId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getXfsh()), XzdSpykpKpsq::getXfsh, bo.getXfsh());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getXfdz()), XzdSpykpKpsq::getXfdz, bo.getXfdz());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getXfdh()), XzdSpykpKpsq::getXfdh, bo.getXfdh());
|
||||
lqw.eq(bo.getXfyhId() != null, XzdSpykpKpsq::getXfyhId, bo.getXfyhId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getXfyhhh()), XzdSpykpKpsq::getXfyhhh, bo.getXfyhhh());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getXfyh()), XzdSpykpKpsq::getXfyh, bo.getXfyh());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getXsxfkhhjzh()), XzdSpykpKpsq::getXsxfkhhjzh, bo.getXsxfkhhjzh());
|
||||
lqw.eq(bo.getGfId() != null, XzdSpykpKpsq::getGfId, bo.getGfId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getGfmc()), XzdSpykpKpsq::getGfmc, bo.getGfmc());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getGfsh()), XzdSpykpKpsq::getGfsh, bo.getGfsh());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getGfdz()), XzdSpykpKpsq::getGfdz, bo.getGfdz());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getGfdh()), XzdSpykpKpsq::getGfdh, bo.getGfdh());
|
||||
lqw.eq(bo.getGfyhId() != null, XzdSpykpKpsq::getGfyhId, bo.getGfyhId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getGfyhhh()), XzdSpykpKpsq::getGfyhhh, bo.getGfyhhh());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getGfyh()), XzdSpykpKpsq::getGfyh, bo.getGfyh());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getGfyhzh()), XzdSpykpKpsq::getGfyhzh, bo.getGfyhzh());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getGfyx()), XzdSpykpKpsq::getGfyx, bo.getGfyx());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getGfsj()), XzdSpykpKpsq::getGfsj, bo.getGfsj());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getXsgfkhhjzh()), XzdSpykpKpsq::getXsgfkhhjzh, bo.getXsgfkhhjzh());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getGfjbrxm()), XzdSpykpKpsq::getGfjbrxm, bo.getGfjbrxm());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getZjlx()), XzdSpykpKpsq::getZjlx, bo.getZjlx());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getZjhm()), XzdSpykpKpsq::getZjhm, bo.getZjhm());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getCjmb()), XzdSpykpKpsq::getCjmb, bo.getCjmb());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getFileId()), XzdSpykpKpsq::getFileId, bo.getFileId());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增收票与开票-开票申请
|
||||
*
|
||||
* @param bo 收票与开票-开票申请
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
@Transactional
|
||||
@Override
|
||||
public Boolean insertByBo(XzdSpykpKpsqBo bo) {
|
||||
XzdSpykpKpsq add = MapstructUtils.convert(bo, XzdSpykpKpsq.class);
|
||||
validEntityBeforeSave(add);
|
||||
add.setDjbm(IdUtil.getSnowflakeNextIdStr());
|
||||
//申请人
|
||||
add.setSqr(LoginHelper.getLoginUser().getNickname());
|
||||
//申请部门
|
||||
SysDeptVo sysDeptVo = sysDeptService.selectDeptById(LoginHelper.getDeptId());
|
||||
if (sysDeptVo != null){
|
||||
add.setSqbm(sysDeptVo.getDeptId());
|
||||
add.setSqbmmc(sysDeptVo.getDeptName());
|
||||
}
|
||||
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setId(add.getId());
|
||||
}
|
||||
|
||||
if (bo.getKpmx() != null && !bo.getKpmx().isEmpty()){
|
||||
for (XzdSpykpKpsqKpmx kpmx : bo.getKpmx()) {
|
||||
kpmx.setMainId(add.getId());
|
||||
}
|
||||
xzdSpykpKpsqKpmxService.saveBatch(bo.getKpmx());
|
||||
}
|
||||
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改收票与开票-开票申请
|
||||
*
|
||||
* @param bo 收票与开票-开票申请
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(XzdSpykpKpsqBo bo) {
|
||||
XzdSpykpKpsq update = MapstructUtils.convert(bo, XzdSpykpKpsq.class);
|
||||
validEntityBeforeSave(update);
|
||||
|
||||
XzdSpykpKpsqVo old = queryById(update.getId());
|
||||
|
||||
//更新文件
|
||||
if (bo.getFileId() != null && !bo.getFileId().isEmpty()){
|
||||
if (old.getFileId() != null && !old.getFileId().isEmpty()) {
|
||||
List<Long> oldFileId = Arrays.stream(old.getFileId().split(",")).map(Long::valueOf).toList();
|
||||
List<Long> nowFileId = Arrays.stream(bo.getFileId().split(",")).map(Long::valueOf).toList();
|
||||
for (Long l : oldFileId) {
|
||||
if (!nowFileId.contains(l)) {
|
||||
sysOssService.deleteWithValidByIds(List.of(l), false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}else {
|
||||
if (old.getFileId()!= null && !old.getFileId().isEmpty()){
|
||||
List<Long> deleteIds = Arrays.stream(old.getFileId().split(",")).map(Long::valueOf).toList();
|
||||
sysOssService.deleteWithValidByIds(deleteIds, false);
|
||||
}
|
||||
}
|
||||
|
||||
if (bo.getKpmx() != null && !bo.getKpmx().isEmpty()){
|
||||
if (old.getKpmx() != null && !old.getKpmx().isEmpty()){
|
||||
xzdSpykpKpsqKpmxService.removeByIds(old.getKpmx());
|
||||
}
|
||||
for (XzdSpykpKpsqKpmx skxx : bo.getKpmx()) {
|
||||
skxx.setMainId(update.getId());
|
||||
}
|
||||
xzdSpykpKpsqKpmxService.saveBatch(bo.getKpmx());
|
||||
}else {
|
||||
if (old.getKpmx() != null && !old.getKpmx().isEmpty()){
|
||||
xzdSpykpKpsqKpmxService.removeByIds(old.getKpmx());
|
||||
}
|
||||
}
|
||||
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(XzdSpykpKpsq entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验并批量删除收票与开票-开票申请信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
|
||||
for (Long id : ids) {
|
||||
XzdSpykpKpsqVo vo = queryById(id);
|
||||
|
||||
LambdaQueryWrapper<XzdSpykpKpsqKpmx> lqw1 = new LambdaQueryWrapper<>();
|
||||
lqw1.eq(XzdSpykpKpsqKpmx::getMainId, id);
|
||||
xzdSpykpKpsqKpmxService.remove(lqw1);
|
||||
|
||||
if (vo.getFileId()!= null && !vo.getFileId().isEmpty()){
|
||||
List<Long> deleteIds = Arrays.stream(vo.getFileId().split(",")).map(Long::valueOf).toList();
|
||||
if (!deleteIds.isEmpty()) {
|
||||
sysOssService.deleteWithValidByIds(deleteIds, false);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
|
||||
public void setValue(List<XzdSpykpKpsqVo> vos){
|
||||
for (XzdSpykpKpsqVo vo : vos) {
|
||||
LambdaQueryWrapper<XzdSpykpKpsqKpmx> lqw = new LambdaQueryWrapper<>();
|
||||
lqw.eq(XzdSpykpKpsqKpmx::getMainId, vo.getId());
|
||||
vo.setKpmx(xzdSpykpKpsqKpmxService.list(lqw));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,105 @@
|
||||
package org.dromara.xzd.spykp.sjsqd.controller;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.constraints.*;
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.dromara.common.idempotent.annotation.RepeatSubmit;
|
||||
import org.dromara.common.log.annotation.Log;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.common.log.enums.BusinessType;
|
||||
import org.dromara.common.excel.utils.ExcelUtil;
|
||||
import org.dromara.xzd.spykp.sjsqd.domain.vo.XzdSpykpSjsqdVo;
|
||||
import org.dromara.xzd.spykp.sjsqd.domain.bo.XzdSpykpSjsqdBo;
|
||||
import org.dromara.xzd.spykp.sjsqd.service.IXzdSpykpSjsqdService;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
|
||||
/**
|
||||
* 收据申请单
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-17
|
||||
*/
|
||||
@Validated
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/sjsqd/sjsqd")
|
||||
public class XzdSpykpSjsqdController extends BaseController {
|
||||
|
||||
private final IXzdSpykpSjsqdService xzdSpykpSjsqdService;
|
||||
|
||||
/**
|
||||
* 查询收据申请单列表
|
||||
*/
|
||||
@SaCheckPermission("sjsqd:sjsqd:list")
|
||||
@GetMapping("/list")
|
||||
public TableDataInfo<XzdSpykpSjsqdVo> list(XzdSpykpSjsqdBo bo, PageQuery pageQuery) {
|
||||
return xzdSpykpSjsqdService.queryPageList(bo, pageQuery);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出收据申请单列表
|
||||
*/
|
||||
@SaCheckPermission("sjsqd:sjsqd:export")
|
||||
@Log(title = "收据申请单", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(XzdSpykpSjsqdBo bo, HttpServletResponse response) {
|
||||
List<XzdSpykpSjsqdVo> list = xzdSpykpSjsqdService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "收据申请单", XzdSpykpSjsqdVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取收据申请单详细信息
|
||||
*
|
||||
* @param id 主键
|
||||
*/
|
||||
@SaCheckPermission("sjsqd:sjsqd:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<XzdSpykpSjsqdVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long id) {
|
||||
return R.ok(xzdSpykpSjsqdService.queryById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增收据申请单
|
||||
*/
|
||||
@SaCheckPermission("sjsqd:sjsqd:add")
|
||||
@Log(title = "收据申请单", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody XzdSpykpSjsqdBo bo) {
|
||||
return toAjax(xzdSpykpSjsqdService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改收据申请单
|
||||
*/
|
||||
@SaCheckPermission("sjsqd:sjsqd:edit")
|
||||
@Log(title = "收据申请单", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody XzdSpykpSjsqdBo bo) {
|
||||
return toAjax(xzdSpykpSjsqdService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除收据申请单
|
||||
*
|
||||
* @param ids 主键串
|
||||
*/
|
||||
@SaCheckPermission("sjsqd:sjsqd:remove")
|
||||
@Log(title = "收据申请单", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] ids) {
|
||||
return toAjax(xzdSpykpSjsqdService.deleteWithValidByIds(List.of(ids), true));
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,113 @@
|
||||
package org.dromara.xzd.spykp.sjsqd.domain;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
/**
|
||||
* 收据申请单对象 xzd_spykp_sjsqd
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-17
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("xzd_spykp_sjsqd")
|
||||
public class XzdSpykpSjsqd extends BaseEntity {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 部门id
|
||||
*/
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
* 多文件逗号分隔
|
||||
*/
|
||||
private String fileId;
|
||||
|
||||
/**
|
||||
* 单据编号(保存后随机生存)
|
||||
*/
|
||||
private String djbh;
|
||||
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 日期
|
||||
*/
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date rq;
|
||||
|
||||
/**
|
||||
* 申请人id
|
||||
*/
|
||||
private Long sqrId;
|
||||
|
||||
/**
|
||||
* 申请金额
|
||||
*/
|
||||
private BigDecimal sqje;
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
private Long xmId;
|
||||
|
||||
/**
|
||||
* 合同id
|
||||
*/
|
||||
private Long htId;
|
||||
|
||||
/**
|
||||
* 合同编号
|
||||
*/
|
||||
private String htbh;
|
||||
|
||||
/**
|
||||
* 付款单位id(客户)
|
||||
*/
|
||||
private Long fkdwId;
|
||||
|
||||
/**
|
||||
* 是否已收款(是,否)
|
||||
*/
|
||||
private String sfysk;
|
||||
|
||||
/**
|
||||
* 收据类型
|
||||
*/
|
||||
private String sjlx;
|
||||
|
||||
/**
|
||||
* 收据号
|
||||
*/
|
||||
private String sjh;
|
||||
|
||||
/**
|
||||
* 收款事由
|
||||
*/
|
||||
private String sjsy;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,116 @@
|
||||
package org.dromara.xzd.spykp.sjsqd.domain.bo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.dromara.xzd.spykp.sjsqd.domain.XzdSpykpSjsqd;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import jakarta.validation.constraints.*;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 收据申请单业务对象 xzd_spykp_sjsqd
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-17
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@AutoMapper(target = XzdSpykpSjsqd.class, reverseConvertGenerate = false)
|
||||
public class XzdSpykpSjsqdBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
// @NotNull(message = "id不能为空", groups = { EditGroup.class })
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 部门id
|
||||
*/
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
* 多文件逗号分隔
|
||||
*/
|
||||
private String fileId;
|
||||
|
||||
/**
|
||||
* 单据编号(保存后随机生存)
|
||||
*/
|
||||
private String djbh;
|
||||
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 日期
|
||||
*/
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date rq;
|
||||
|
||||
/**
|
||||
* 申请人id
|
||||
*/
|
||||
private Long sqrId;
|
||||
|
||||
/**
|
||||
* 申请金额
|
||||
*/
|
||||
private BigDecimal sqje;
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
@NotNull(message = "项目id不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long xmId;
|
||||
|
||||
/**
|
||||
* 合同id
|
||||
*/
|
||||
@NotNull(message = "合同id不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long htId;
|
||||
|
||||
/**
|
||||
* 合同编号
|
||||
*/
|
||||
@NotBlank(message = "合同编号不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String htbh;
|
||||
|
||||
/**
|
||||
* 付款单位id(客户)
|
||||
*/
|
||||
private Long fkdwId;
|
||||
|
||||
/**
|
||||
* 是否已收款(是,否)
|
||||
*/
|
||||
private String sfysk;
|
||||
|
||||
/**
|
||||
* 收据类型
|
||||
*/
|
||||
private String sjlx;
|
||||
|
||||
/**
|
||||
* 收据号
|
||||
*/
|
||||
private String sjh;
|
||||
|
||||
/**
|
||||
* 收款事由
|
||||
*/
|
||||
@NotBlank(message = "收款事由不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String sjsy;
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,161 @@
|
||||
package org.dromara.xzd.spykp.sjsqd.domain.vo;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.dromara.common.translation.annotation.Translation;
|
||||
import org.dromara.common.translation.constant.TransConstant;
|
||||
import org.dromara.system.domain.vo.SysUserVo;
|
||||
import org.dromara.xzd.domain.vo.XzdProjectVo;
|
||||
import org.dromara.xzd.spykp.sjsqd.domain.XzdSpykpSjsqd;
|
||||
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
|
||||
/**
|
||||
* 收据申请单视图对象 xzd_spykp_sjsqd
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-17
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
@AutoMapper(target = XzdSpykpSjsqd.class)
|
||||
public class XzdSpykpSjsqdVo implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@ExcelProperty(value = "id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 部门id
|
||||
*/
|
||||
@ExcelProperty(value = "部门id")
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
* 多文件逗号分隔
|
||||
*/
|
||||
@ExcelProperty(value = "多文件逗号分隔")
|
||||
private String fileId;
|
||||
|
||||
/**
|
||||
* 单据编号(保存后随机生存)
|
||||
*/
|
||||
@ExcelProperty(value = "单据编号(保存后随机生存)")
|
||||
private String djbh;
|
||||
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
@ExcelProperty(value = "标题")
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 日期
|
||||
*/
|
||||
@ExcelProperty(value = "日期")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date rq;
|
||||
|
||||
/**
|
||||
* 申请人id
|
||||
*/
|
||||
@ExcelProperty(value = "申请人id")
|
||||
private Long sqrId;
|
||||
|
||||
/**
|
||||
* 申请人名称
|
||||
*/
|
||||
private String sqrmc;
|
||||
|
||||
/**
|
||||
* 申请部门
|
||||
*/
|
||||
private String sqbm;
|
||||
|
||||
/**
|
||||
* 申请金额
|
||||
*/
|
||||
@ExcelProperty(value = "申请金额")
|
||||
private BigDecimal sqje;
|
||||
|
||||
/**
|
||||
* 项目id
|
||||
*/
|
||||
@ExcelProperty(value = "项目id")
|
||||
private Long xmId;
|
||||
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
private String xmmc;
|
||||
|
||||
/**
|
||||
* 合同id
|
||||
*/
|
||||
@ExcelProperty(value = "合同id")
|
||||
private Long htId;
|
||||
|
||||
/**
|
||||
* 合同名称
|
||||
*/
|
||||
private String htmc;
|
||||
|
||||
/**
|
||||
* 合同编号
|
||||
*/
|
||||
@ExcelProperty(value = "合同编号")
|
||||
private String htbh;
|
||||
|
||||
/**
|
||||
* 付款单位id(客户)
|
||||
*/
|
||||
@ExcelProperty(value = "付款单位id(客户)")
|
||||
private Long fkdwId;
|
||||
|
||||
/**
|
||||
* 付款单位名称
|
||||
*/
|
||||
private String fkdwmc;
|
||||
|
||||
/**
|
||||
* 是否已收款(是,否)
|
||||
*/
|
||||
@ExcelProperty(value = "是否已收款(是,否)")
|
||||
private String sfysk;
|
||||
|
||||
/**
|
||||
* 收据类型
|
||||
*/
|
||||
@ExcelProperty(value = "收据类型")
|
||||
private String sjlx;
|
||||
|
||||
/**
|
||||
* 收据号
|
||||
*/
|
||||
@ExcelProperty(value = "收据号")
|
||||
private String sjh;
|
||||
|
||||
/**
|
||||
* 收款事由
|
||||
*/
|
||||
@ExcelProperty(value = "收款事由")
|
||||
private String sjsy;
|
||||
|
||||
private Long createBy;
|
||||
|
||||
}
|
||||
@ -0,0 +1,15 @@
|
||||
package org.dromara.xzd.spykp.sjsqd.mapper;
|
||||
|
||||
import org.dromara.xzd.spykp.sjsqd.domain.XzdSpykpSjsqd;
|
||||
import org.dromara.xzd.spykp.sjsqd.domain.vo.XzdSpykpSjsqdVo;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 收据申请单Mapper接口
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-17
|
||||
*/
|
||||
public interface XzdSpykpSjsqdMapper extends BaseMapperPlus<XzdSpykpSjsqd, XzdSpykpSjsqdVo> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,70 @@
|
||||
package org.dromara.xzd.spykp.sjsqd.service;
|
||||
|
||||
import org.dromara.xzd.spykp.sjsqd.domain.vo.XzdSpykpSjsqdVo;
|
||||
import org.dromara.xzd.spykp.sjsqd.domain.bo.XzdSpykpSjsqdBo;
|
||||
import org.dromara.xzd.spykp.sjsqd.domain.XzdSpykpSjsqd;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 收据申请单Service接口
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-17
|
||||
*/
|
||||
public interface IXzdSpykpSjsqdService extends IService<XzdSpykpSjsqd>{
|
||||
|
||||
/**
|
||||
* 查询收据申请单
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 收据申请单
|
||||
*/
|
||||
XzdSpykpSjsqdVo queryById(Long id);
|
||||
|
||||
/**
|
||||
* 分页查询收据申请单列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 收据申请单分页列表
|
||||
*/
|
||||
TableDataInfo<XzdSpykpSjsqdVo> queryPageList(XzdSpykpSjsqdBo bo, PageQuery pageQuery);
|
||||
|
||||
/**
|
||||
* 查询符合条件的收据申请单列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 收据申请单列表
|
||||
*/
|
||||
List<XzdSpykpSjsqdVo> queryList(XzdSpykpSjsqdBo bo);
|
||||
|
||||
/**
|
||||
* 新增收据申请单
|
||||
*
|
||||
* @param bo 收据申请单
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
Boolean insertByBo(XzdSpykpSjsqdBo bo);
|
||||
|
||||
/**
|
||||
* 修改收据申请单
|
||||
*
|
||||
* @param bo 收据申请单
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
Boolean updateByBo(XzdSpykpSjsqdBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除收据申请单信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
}
|
||||
@ -0,0 +1,261 @@
|
||||
package org.dromara.xzd.spykp.sjsqd.service.impl;
|
||||
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.domain.model.LoginUser;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.common.satoken.utils.LoginHelper;
|
||||
import org.dromara.system.domain.vo.SysDeptVo;
|
||||
import org.dromara.system.domain.vo.SysUserVo;
|
||||
import org.dromara.system.service.impl.SysDeptServiceImpl;
|
||||
import org.dromara.system.service.impl.SysOssServiceImpl;
|
||||
import org.dromara.system.service.impl.SysUserServiceImpl;
|
||||
import org.dromara.xzd.domain.dto.QuerCorrespondentDto;
|
||||
import org.dromara.xzd.domain.vo.XzdContractDetailsVo;
|
||||
import org.dromara.xzd.domain.vo.XzdProjectVo;
|
||||
import org.dromara.xzd.service.IXzdCorrespondentList;
|
||||
import org.dromara.xzd.service.impl.XzdContractDetailsServiceImpl;
|
||||
import org.dromara.xzd.service.impl.XzdProjectServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.dromara.xzd.spykp.sjsqd.domain.bo.XzdSpykpSjsqdBo;
|
||||
import org.dromara.xzd.spykp.sjsqd.domain.vo.XzdSpykpSjsqdVo;
|
||||
import org.dromara.xzd.spykp.sjsqd.domain.XzdSpykpSjsqd;
|
||||
import org.dromara.xzd.spykp.sjsqd.mapper.XzdSpykpSjsqdMapper;
|
||||
import org.dromara.xzd.spykp.sjsqd.service.IXzdSpykpSjsqdService;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 收据申请单Service业务层处理
|
||||
*
|
||||
* @author Lion Li
|
||||
* @date 2025-10-17
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class XzdSpykpSjsqdServiceImpl extends ServiceImpl<XzdSpykpSjsqdMapper, XzdSpykpSjsqd> implements IXzdSpykpSjsqdService {
|
||||
|
||||
private final XzdSpykpSjsqdMapper baseMapper;
|
||||
@Autowired
|
||||
private SysOssServiceImpl sysOssService;
|
||||
@Autowired
|
||||
private SysUserServiceImpl sysUserService;
|
||||
@Autowired
|
||||
private XzdProjectServiceImpl xzdProjectService;
|
||||
@Autowired
|
||||
private XzdContractDetailsServiceImpl xzdContractDetailsService;
|
||||
@Autowired
|
||||
private IXzdCorrespondentList iXzdCorrespondentList;
|
||||
@Autowired
|
||||
private SysDeptServiceImpl sysDeptService;
|
||||
|
||||
/**
|
||||
* 查询收据申请单
|
||||
*
|
||||
* @param id 主键
|
||||
* @return 收据申请单
|
||||
*/
|
||||
@Override
|
||||
public XzdSpykpSjsqdVo queryById(Long id){
|
||||
XzdSpykpSjsqdVo vo = baseMapper.selectVoById(id);
|
||||
List<XzdSpykpSjsqdVo> vo1 = List.of(vo);
|
||||
return vo1.getFirst();
|
||||
}
|
||||
|
||||
/**
|
||||
* 分页查询收据申请单列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @param pageQuery 分页参数
|
||||
* @return 收据申请单分页列表
|
||||
*/
|
||||
@Override
|
||||
public TableDataInfo<XzdSpykpSjsqdVo> queryPageList(XzdSpykpSjsqdBo bo, PageQuery pageQuery) {
|
||||
LambdaQueryWrapper<XzdSpykpSjsqd> lqw = buildQueryWrapper(bo);
|
||||
Page<XzdSpykpSjsqdVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
setValue(result.getRecords());
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询符合条件的收据申请单列表
|
||||
*
|
||||
* @param bo 查询条件
|
||||
* @return 收据申请单列表
|
||||
*/
|
||||
@Override
|
||||
public List<XzdSpykpSjsqdVo> queryList(XzdSpykpSjsqdBo bo) {
|
||||
LambdaQueryWrapper<XzdSpykpSjsqd> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<XzdSpykpSjsqd> buildQueryWrapper(XzdSpykpSjsqdBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<XzdSpykpSjsqd> lqw = Wrappers.lambdaQuery();
|
||||
lqw.orderByDesc(XzdSpykpSjsqd::getId);
|
||||
lqw.eq(bo.getDeptId() != null, XzdSpykpSjsqd::getDeptId, bo.getDeptId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getFileId()), XzdSpykpSjsqd::getFileId, bo.getFileId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getDjbh()), XzdSpykpSjsqd::getDjbh, bo.getDjbh());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getTitle()), XzdSpykpSjsqd::getTitle, bo.getTitle());
|
||||
// lqw.eq(bo.getRq() != null, XzdSpykpSjsqd::getRq, bo.getRq());
|
||||
lqw.between(params.get("beginRq") != null && params.get("endRq") != null,
|
||||
XzdSpykpSjsqd::getRq ,params.get("beginRq"), params.get("endRq"));
|
||||
lqw.eq(bo.getSqrId() != null, XzdSpykpSjsqd::getSqrId, bo.getSqrId());
|
||||
lqw.eq(bo.getSqje() != null, XzdSpykpSjsqd::getSqje, bo.getSqje());
|
||||
lqw.eq(bo.getXmId() != null, XzdSpykpSjsqd::getXmId, bo.getXmId());
|
||||
lqw.eq(bo.getHtId() != null, XzdSpykpSjsqd::getHtId, bo.getHtId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getHtbh()), XzdSpykpSjsqd::getHtbh, bo.getHtbh());
|
||||
lqw.eq(bo.getFkdwId() != null, XzdSpykpSjsqd::getFkdwId, bo.getFkdwId());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getSfysk()), XzdSpykpSjsqd::getSfysk, bo.getSfysk());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getSjlx()), XzdSpykpSjsqd::getSjlx, bo.getSjlx());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getSjh()), XzdSpykpSjsqd::getSjh, bo.getSjh());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getSjsy()), XzdSpykpSjsqd::getSjsy, bo.getSjsy());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增收据申请单
|
||||
*
|
||||
* @param bo 收据申请单
|
||||
* @return 是否新增成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(XzdSpykpSjsqdBo bo) {
|
||||
XzdSpykpSjsqd add = MapstructUtils.convert(bo, XzdSpykpSjsqd.class);
|
||||
validEntityBeforeSave(add);
|
||||
add.setDjbh(IdUtil.getSnowflakeNextIdStr());
|
||||
LoginUser user = LoginHelper.getLoginUser();
|
||||
add.setSqrId(user.getUserId());
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setId(add.getId());
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改收据申请单
|
||||
*
|
||||
* @param bo 收据申请单
|
||||
* @return 是否修改成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateByBo(XzdSpykpSjsqdBo bo) {
|
||||
XzdSpykpSjsqd update = MapstructUtils.convert(bo, XzdSpykpSjsqd.class);
|
||||
validEntityBeforeSave(update);
|
||||
|
||||
XzdSpykpSjsqdVo old = queryById(update.getId());
|
||||
|
||||
//更新文件
|
||||
if (bo.getFileId() != null && !bo.getFileId().isEmpty()){
|
||||
if (old.getFileId() != null && !old.getFileId().isEmpty()) {
|
||||
List<Long> oldFileId = Arrays.stream(old.getFileId().split(",")).map(Long::valueOf).toList();
|
||||
List<Long> nowFileId = Arrays.stream(bo.getFileId().split(",")).map(Long::valueOf).toList();
|
||||
for (Long l : oldFileId) {
|
||||
if (!nowFileId.contains(l)) {
|
||||
sysOssService.deleteWithValidByIds(List.of(l), false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}else {
|
||||
if (old.getFileId()!= null && !old.getFileId().isEmpty()){
|
||||
List<Long> deleteIds = Arrays.stream(old.getFileId().split(",")).map(Long::valueOf).toList();
|
||||
sysOssService.deleteWithValidByIds(deleteIds, false);
|
||||
}
|
||||
}
|
||||
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(XzdSpykpSjsqd entity){
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验并批量删除收据申请单信息
|
||||
*
|
||||
* @param ids 待删除的主键集合
|
||||
* @param isValid 是否进行有效性校验
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if(isValid){
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
}
|
||||
|
||||
for (Long id : ids) {
|
||||
|
||||
XzdSpykpSjsqdVo vo = queryById(id);
|
||||
|
||||
//删除附件
|
||||
if (vo.getFileId()!= null && !vo.getFileId().isEmpty()){
|
||||
List<Long> deleteIds = Arrays.stream(vo.getFileId().split(",")).map(Long::valueOf).toList();
|
||||
if (!deleteIds.isEmpty()) {
|
||||
sysOssService.deleteWithValidByIds(deleteIds, false);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
|
||||
public void setValue(List<XzdSpykpSjsqdVo> vos){
|
||||
for (XzdSpykpSjsqdVo vo : vos) {
|
||||
//申请人名称
|
||||
if (vo.getSqrId() != null){
|
||||
SysUserVo sysUserVo = sysUserService.queryById(vo.getSqrId());
|
||||
if (sysUserVo != null){
|
||||
vo.setSqrmc(sysUserVo.getNickName());
|
||||
//申请部门
|
||||
SysDeptVo sysDeptVo = sysDeptService.selectDeptById(sysUserVo.getDeptId());
|
||||
if (sysDeptVo != null){
|
||||
vo.setSqbm(sysDeptVo.getDeptName());
|
||||
}
|
||||
}
|
||||
}
|
||||
//项目名称
|
||||
if (vo.getXmId() != null){
|
||||
XzdProjectVo projectVo = xzdProjectService.queryById(vo.getXmId());
|
||||
if (projectVo != null){
|
||||
vo.setXmmc(projectVo.getProjectName());
|
||||
}
|
||||
}
|
||||
//合同名称
|
||||
if (vo.getHtId() != null){
|
||||
XzdContractDetailsVo xzdContractDetailsVo = xzdContractDetailsService.queryById(vo.getHtId());
|
||||
if (xzdContractDetailsVo != null){
|
||||
vo.setHtmc(xzdContractDetailsVo.getContractName());
|
||||
//合同编号
|
||||
vo.setHtbh(xzdContractDetailsVo.getContractCode());
|
||||
}
|
||||
}
|
||||
//付款单位名称
|
||||
if (vo.getFkdwId() != null){
|
||||
R<QuerCorrespondentDto> byid2 = iXzdCorrespondentList.getCustomerByid(vo.getFkdwId());
|
||||
if (byid2 != null) {
|
||||
if (byid2.getData().getXzdCustomerinformation() != null) {
|
||||
vo.setFkdwmc(byid2.getData().getXzdCustomerinformation().getUnitName());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user