10-17-收票与开票-开票申请
This commit is contained in:
		| @ -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,432 @@ | ||||
| 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.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; | ||||
|  | ||||
|     /** | ||||
|      * 申请日期 | ||||
|      */ | ||||
|     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 Long xmje; | ||||
|  | ||||
|     /** | ||||
|      * 合同id | ||||
|      */ | ||||
|     private Long contractId; | ||||
|  | ||||
|     /** | ||||
|      * 合同编码 | ||||
|      */ | ||||
|     private String contractCode; | ||||
|  | ||||
|     /** | ||||
|      * 合同金额 | ||||
|      */ | ||||
|     private Long htje; | ||||
|  | ||||
|     /** | ||||
|      * 跨区涉税证号 | ||||
|      */ | ||||
|     private String kqsszh; | ||||
|  | ||||
|     /** | ||||
|      * 开票状态 | ||||
|      */ | ||||
|     private String kpzt; | ||||
|  | ||||
|     /** | ||||
|      * 差票开额0否1是 | ||||
|      */ | ||||
|     private String cekp; | ||||
|  | ||||
|     /** | ||||
|      * 差额扣除 | ||||
|      */ | ||||
|     private Long cekc; | ||||
|  | ||||
|     /** | ||||
|      * 是否预收款0否1是 | ||||
|      */ | ||||
|     private String ysk; | ||||
|  | ||||
|     /** | ||||
|      * 数据来源 | ||||
|      */ | ||||
|     private String sjly; | ||||
|  | ||||
|     /** | ||||
|      * 本次结算金额 | ||||
|      */ | ||||
|     private Long bcjsje; | ||||
|  | ||||
|     /** | ||||
|      * 开票说明 | ||||
|      */ | ||||
|     private String kpje; | ||||
|  | ||||
|     /** | ||||
|      * 开票分机号 | ||||
|      */ | ||||
|     private String kpfjh; | ||||
|  | ||||
|     /** | ||||
|      * 终止状态 | ||||
|      */ | ||||
|     private String zzzt; | ||||
|  | ||||
|     /** | ||||
|      * 扣押金比例 | ||||
|      */ | ||||
|     private Long kyjbl; | ||||
|  | ||||
|     /** | ||||
|      * 扣押金额度 | ||||
|      */ | ||||
|     private Long kyjed; | ||||
|  | ||||
|     /** | ||||
|      * 实时刷新0否1是 | ||||
|      */ | ||||
|     private String sssx; | ||||
|  | ||||
|     /** | ||||
|      * 项目累计申请总额 | ||||
|      */ | ||||
|     private Long xmljsqze; | ||||
|  | ||||
|     /** | ||||
|      * 项目累计开票总额 | ||||
|      */ | ||||
|     private Long xmljkpze; | ||||
|  | ||||
|     /** | ||||
|      * 合同累计申请总额 | ||||
|      */ | ||||
|     private Long htljsqze; | ||||
|  | ||||
|     /** | ||||
|      * 合同累计开票总额 | ||||
|      */ | ||||
|     private Long htljkpze; | ||||
|  | ||||
|     /** | ||||
|      * 累计结算金额 | ||||
|      */ | ||||
|     private Long 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; | ||||
|  | ||||
|     /** | ||||
|      * 租赁开始日期 | ||||
|      */ | ||||
|     private Date zlksrq; | ||||
|  | ||||
|     /** | ||||
|      * 租赁结束日期 | ||||
|      */ | ||||
|     private Date zljsrq; | ||||
|  | ||||
|     /** | ||||
|      * 红冲原因 | ||||
|      */ | ||||
|     private String hcyy; | ||||
|  | ||||
|     /** | ||||
|      * 销方id(供应商) | ||||
|      */ | ||||
|     private Long xfId; | ||||
|  | ||||
|     /** | ||||
|      * 销方税号(社会信用代码) | ||||
|      */ | ||||
|     private String xfsh; | ||||
|  | ||||
|     /** | ||||
|      * 销方地址 | ||||
|      */ | ||||
|     private String xfdz; | ||||
|  | ||||
|     /** | ||||
|      * 销方电话 | ||||
|      */ | ||||
|     private String xfdh; | ||||
|  | ||||
|     /** | ||||
|      * 销方银行id | ||||
|      */ | ||||
|     private Long xfyhId; | ||||
|  | ||||
|     /** | ||||
|      * 销方银行行号 | ||||
|      */ | ||||
|     private String xfyhhh; | ||||
|  | ||||
|     /** | ||||
|      * 销方银行 | ||||
|      */ | ||||
|     private String xfyh; | ||||
|  | ||||
|     /** | ||||
|      * 显示销方开户行及账号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 updateBby; | ||||
|  | ||||
|  | ||||
| } | ||||
| @ -0,0 +1,439 @@ | ||||
| package org.dromara.xzd.spykp.kpsq.domain.bo; | ||||
|  | ||||
| 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 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; | ||||
|  | ||||
|     /** | ||||
|      * 申请日期 | ||||
|      */ | ||||
|     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 Long xmje; | ||||
|  | ||||
|     /** | ||||
|      * 合同id | ||||
|      */ | ||||
|     @NotNull(message = "合同id不能为空", groups = { AddGroup.class, EditGroup.class }) | ||||
|     private Long contractId; | ||||
|  | ||||
|     /** | ||||
|      * 合同编码 | ||||
|      */ | ||||
|     @NotBlank(message = "合同编码不能为空", groups = { AddGroup.class, EditGroup.class }) | ||||
|     private String contractCode; | ||||
|  | ||||
|     /** | ||||
|      * 合同金额 | ||||
|      */ | ||||
|     private Long htje; | ||||
|  | ||||
|     /** | ||||
|      * 跨区涉税证号 | ||||
|      */ | ||||
|     private String kqsszh; | ||||
|  | ||||
|     /** | ||||
|      * 开票状态 | ||||
|      */ | ||||
|     private String kpzt; | ||||
|  | ||||
|     /** | ||||
|      * 差票开额0否1是 | ||||
|      */ | ||||
|     private String cekp; | ||||
|  | ||||
|     /** | ||||
|      * 差额扣除 | ||||
|      */ | ||||
|     private Long cekc; | ||||
|  | ||||
|     /** | ||||
|      * 是否预收款0否1是 | ||||
|      */ | ||||
|     private String ysk; | ||||
|  | ||||
|     /** | ||||
|      * 数据来源 | ||||
|      */ | ||||
|     private String sjly; | ||||
|  | ||||
|     /** | ||||
|      * 本次结算金额 | ||||
|      */ | ||||
|     private Long bcjsje; | ||||
|  | ||||
|     /** | ||||
|      * 开票说明 | ||||
|      */ | ||||
|     private String kpje; | ||||
|  | ||||
|     /** | ||||
|      * 开票分机号 | ||||
|      */ | ||||
|     private String kpfjh; | ||||
|  | ||||
|     /** | ||||
|      * 终止状态 | ||||
|      */ | ||||
|     private String zzzt; | ||||
|  | ||||
|     /** | ||||
|      * 扣押金比例 | ||||
|      */ | ||||
|     private Long kyjbl; | ||||
|  | ||||
|     /** | ||||
|      * 扣押金额度 | ||||
|      */ | ||||
|     private Long kyjed; | ||||
|  | ||||
|     /** | ||||
|      * 实时刷新0否1是 | ||||
|      */ | ||||
|     private String sssx; | ||||
|  | ||||
|     /** | ||||
|      * 项目累计申请总额 | ||||
|      */ | ||||
|     private Long xmljsqze; | ||||
|  | ||||
|     /** | ||||
|      * 项目累计开票总额 | ||||
|      */ | ||||
|     private Long xmljkpze; | ||||
|  | ||||
|     /** | ||||
|      * 合同累计申请总额 | ||||
|      */ | ||||
|     private Long htljsqze; | ||||
|  | ||||
|     /** | ||||
|      * 合同累计开票总额 | ||||
|      */ | ||||
|     private Long htljkpze; | ||||
|  | ||||
|     /** | ||||
|      * 累计结算金额 | ||||
|      */ | ||||
|     private Long 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; | ||||
|  | ||||
|     /** | ||||
|      * 租赁开始日期 | ||||
|      */ | ||||
|     private Date zlksrq; | ||||
|  | ||||
|     /** | ||||
|      * 租赁结束日期 | ||||
|      */ | ||||
|     private Date zljsrq; | ||||
|  | ||||
|     /** | ||||
|      * 红冲原因 | ||||
|      */ | ||||
|     private String hcyy; | ||||
|  | ||||
|     /** | ||||
|      * 销方id(供应商) | ||||
|      */ | ||||
|     private Long xfId; | ||||
|  | ||||
|     /** | ||||
|      * 销方税号(社会信用代码) | ||||
|      */ | ||||
|     private String xfsh; | ||||
|  | ||||
|     /** | ||||
|      * 销方地址 | ||||
|      */ | ||||
|     private String xfdz; | ||||
|  | ||||
|     /** | ||||
|      * 销方电话 | ||||
|      */ | ||||
|     private String xfdh; | ||||
|  | ||||
|     /** | ||||
|      * 销方银行id | ||||
|      */ | ||||
|     private Long xfyhId; | ||||
|  | ||||
|     /** | ||||
|      * 销方银行行号 | ||||
|      */ | ||||
|     private String xfyhhh; | ||||
|  | ||||
|     /** | ||||
|      * 销方银行 | ||||
|      */ | ||||
|     private String xfyh; | ||||
|  | ||||
|     /** | ||||
|      * 显示销方开户行及账号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 updateBby; | ||||
|  | ||||
|  | ||||
| } | ||||
| @ -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 updateBby; | ||||
|  | ||||
|  | ||||
| } | ||||
| @ -0,0 +1,522 @@ | ||||
| package org.dromara.xzd.spykp.kpsq.domain.vo; | ||||
|  | ||||
| import java.util.Date; | ||||
|  | ||||
| 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 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 = "申请日期") | ||||
|     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 Long xmje; | ||||
|  | ||||
|     /** | ||||
|      * 合同id | ||||
|      */ | ||||
|     @ExcelProperty(value = "合同id") | ||||
|     private Long contractId; | ||||
|  | ||||
|     /** | ||||
|      * 合同编码 | ||||
|      */ | ||||
|     @ExcelProperty(value = "合同编码") | ||||
|     private String contractCode; | ||||
|  | ||||
|     /** | ||||
|      * 合同金额 | ||||
|      */ | ||||
|     @ExcelProperty(value = "合同金额") | ||||
|     private Long htje; | ||||
|  | ||||
|     /** | ||||
|      * 跨区涉税证号 | ||||
|      */ | ||||
|     @ExcelProperty(value = "跨区涉税证号") | ||||
|     private String kqsszh; | ||||
|  | ||||
|     /** | ||||
|      * 开票状态 | ||||
|      */ | ||||
|     @ExcelProperty(value = "开票状态") | ||||
|     private String kpzt; | ||||
|  | ||||
|     /** | ||||
|      * 差票开额0否1是 | ||||
|      */ | ||||
|     @ExcelProperty(value = "差票开额0否1是") | ||||
|     private String cekp; | ||||
|  | ||||
|     /** | ||||
|      * 差额扣除 | ||||
|      */ | ||||
|     @ExcelProperty(value = "差额扣除") | ||||
|     private Long 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 Long kyjbl; | ||||
|  | ||||
|     /** | ||||
|      * 扣押金额度 | ||||
|      */ | ||||
|     @ExcelProperty(value = "扣押金额度") | ||||
|     private Long kyjed; | ||||
|  | ||||
|     /** | ||||
|      * 实时刷新0否1是 | ||||
|      */ | ||||
|     @ExcelProperty(value = "实时刷新0否1是") | ||||
|     private String sssx; | ||||
|  | ||||
|     /** | ||||
|      * 项目累计申请总额 | ||||
|      */ | ||||
|     @ExcelProperty(value = "项目累计申请总额") | ||||
|     private Long xmljsqze; | ||||
|  | ||||
|     /** | ||||
|      * 项目累计开票总额 | ||||
|      */ | ||||
|     @ExcelProperty(value = "项目累计开票总额") | ||||
|     private Long xmljkpze; | ||||
|  | ||||
|     /** | ||||
|      * 合同累计申请总额 | ||||
|      */ | ||||
|     @ExcelProperty(value = "合同累计申请总额") | ||||
|     private Long htljsqze; | ||||
|  | ||||
|     /** | ||||
|      * 合同累计开票总额 | ||||
|      */ | ||||
|     @ExcelProperty(value = "合同累计开票总额") | ||||
|     private Long htljkpze; | ||||
|  | ||||
|     /** | ||||
|      * 累计结算金额 | ||||
|      */ | ||||
|     @ExcelProperty(value = "累计结算金额") | ||||
|     private Long 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 = "租赁开始日期") | ||||
|     private Date zlksrq; | ||||
|  | ||||
|     /** | ||||
|      * 租赁结束日期 | ||||
|      */ | ||||
|     @ExcelProperty(value = "租赁结束日期") | ||||
|     private Date zljsrq; | ||||
|  | ||||
|     /** | ||||
|      * 红冲原因 | ||||
|      */ | ||||
|     @ExcelProperty(value = "红冲原因") | ||||
|     private String hcyy; | ||||
|  | ||||
|     /** | ||||
|      * 销方id(供应商) | ||||
|      */ | ||||
|     @ExcelProperty(value = "销方id(供应商)") | ||||
|     private Long xfId; | ||||
|  | ||||
|     /** | ||||
|      * 销方税号(社会信用代码) | ||||
|      */ | ||||
|     @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; | ||||
|  | ||||
|     /** | ||||
|      * 显示销方开户行及账号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,290 @@ | ||||
| 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.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; | ||||
|  | ||||
|     /** | ||||
|      * 查询收票与开票-开票申请 | ||||
|      * | ||||
|      * @param id 主键 | ||||
|      * @return 收票与开票-开票申请 | ||||
|      */ | ||||
|     @Override | ||||
|     public XzdSpykpKpsqVo queryById(Long id){ | ||||
|         return baseMapper.selectVoById(id); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 分页查询收票与开票-开票申请列表 | ||||
|      * | ||||
|      * @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); | ||||
|         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()); | ||||
|         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) { | ||||
|  | ||||
|         } | ||||
|     } | ||||
|  | ||||
| } | ||||
		Reference in New Issue
	
	Block a user