diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBill.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBill.java
index f8b2cc3d4b..fb13c38dae 100644
--- a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBill.java
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBill.java
@@ -159,11 +159,9 @@ public class AsBusrepairBill extends BaseEntity {
@ApiModelProperty("结算时间")
private String settleTime;
@ApiModelProperty("索赔类型key")
- private String shClaimTypeKey;
+ private String shClaimTypeKey;
@ApiModelProperty("索赔类型value")
private String shClaimTypeValue;
- @ApiModelProperty("加税点项目")
- private String taxItems;
@ApiModelProperty("厂家报告编号")
private String manuReportNo;
@ApiModelProperty("报告首次提报时间")
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDetailsVo.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDetailsVo.java
index 4447ffdf99..1ab6c3bdcb 100644
--- a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDetailsVo.java
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairbill/AsBusrepairBillDetailsVo.java
@@ -162,7 +162,7 @@ public class AsBusrepairBillDetailsVo implements Vo {
@ApiModelProperty("厂家补助备注")
private String subsidyRemarks;
@ApiModelProperty("施救费备注")
- private String rescueRemarks;
+ private String rescueRemarks;
@ApiModelProperty("外出费备注")
private String outRemarks;
@ApiModelProperty("施救费")
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapply/AsSaleinvoiceapply.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapply/AsSaleinvoiceapply.java
new file mode 100644
index 0000000000..99b75ecb47
--- /dev/null
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapply/AsSaleinvoiceapply.java
@@ -0,0 +1,97 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.as.api.assaleinvoiceapply;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.yxt.common.core.domain.BaseEntity;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: anrui-as(销售单开票申请)
+ * File: AsSaleinvoiceapply.java
+ * Class: com.yxt.anrui.as.api.assaleinvoiceapply.AsSaleinvoiceapply
+ * Description: 销售单开票申请.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-11-25 16:20:32
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "销售单开票申请", description = "销售单开票申请")
+@TableName("as_saleinvoiceapply")
+public class AsSaleinvoiceapply extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("单据编号")
+ private String billNo; // 单据编号
+ @ApiModelProperty("申请人")
+ private String createByName; // 申请人
+ @ApiModelProperty("申请部门sid")
+ private String deptSid; // 申请部门sid
+ @ApiModelProperty("申请部门名称")
+ private String deptName; // 申请部门名称
+ @ApiModelProperty("开票单位")
+ private String invoiceOrg; // 开票单位
+ @ApiModelProperty("开票单位sid")
+ private String invoiceOrgSid; // 开票单位sid
+ @ApiModelProperty("开票名称")
+ private String invoiceName;
+ @ApiModelProperty("开票名称sid")
+ private String invoiceNameSid;
+ @ApiModelProperty("开票类型")
+ private String invoiceType; // 开票类型
+ @ApiModelProperty("开票类型sid")
+ private String invoiceTypeSid; // 开票类型sid
+ @ApiModelProperty("开票金额")
+ private BigDecimal invoicePrice; // 开票金额
+ @ApiModelProperty("分公司sid")
+ private String useOrgSid; // 分公司sid
+ @ApiModelProperty("分公司名称")
+ private String useOrgName; // 分公司名称
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+ @ApiModelProperty("办结日期")
+ private Date finishTime; // 办结日期
+ @ApiModelProperty("实例id")
+ private String procInstId; // 实例id
+ @ApiModelProperty("流程定义id")
+ private String procDefId; // 流程定义id
+ @ApiModelProperty("任务id")
+ private String taskId; // 任务id
+ @ApiModelProperty("环节id")
+ private String nodeId; // 环节id
+ @ApiModelProperty("流程状态")
+ private String nodeState; // 流程状态
+
+}
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapply/AsSaleinvoiceapplyDetailsVo.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapply/AsSaleinvoiceapplyDetailsVo.java
new file mode 100644
index 0000000000..152c4e3bd5
--- /dev/null
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapply/AsSaleinvoiceapplyDetailsVo.java
@@ -0,0 +1,113 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.as.api.assaleinvoiceapply;
+
+
+import com.yxt.anrui.as.api.assaleinvoiceapplydetail.AsSaleinvoiceapplyDetailDetailsVo;
+import com.yxt.anrui.as.api.assaleinvoiceapplydetail.AsSaleinvoiceapplyDetailDto;
+import com.yxt.common.core.vo.Vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: anrui-as(销售单开票申请)
+ * File: AsSaleinvoiceapplyVo.java
+ * Class: com.yxt.anrui.as.api.assaleinvoiceapply.AsSaleinvoiceapplyVo
+ * Description: 销售单开票申请 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-11-25 16:20:32
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "销售单开票申请 视图数据详情", description = "销售单开票申请 视图数据详情")
+public class AsSaleinvoiceapplyDetailsVo implements Vo {
+
+ private String sid; // sid
+
+ @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
+ @ApiModelProperty("申请日期")
+ private Date createTime;
+ @ApiModelProperty("单据编号")
+ private String billNo;
+ @ApiModelProperty("备注")
+ private String remarks;
+ @ApiModelProperty("申请人sid")
+ private String createBySid;
+ @ApiModelProperty("申请人")
+ private String createByName; // 申请人
+ @ApiModelProperty("申请部门sid")
+ private String deptSid; // 申请部门sid
+ @ApiModelProperty("申请部门名称")
+ private String deptName; // 申请部门名称
+ @ApiModelProperty("开票单位")
+ private String invoiceOrg; // 开票单位
+ @ApiModelProperty("开票单位sid")
+ private String invoiceOrgSid; // 开票单位sid
+ @ApiModelProperty("开票名称")
+ private String invoiceName;
+ @ApiModelProperty("开票名称sid")
+ private String invoiceNameSid;
+ @ApiModelProperty("开票类型")
+ private String invoiceType; // 开票类型
+ @ApiModelProperty("开票类型sid")
+ private String invoiceTypeSid; // 开票类型sid
+ @ApiModelProperty("开票金额")
+ private BigDecimal invoicePrice; // 开票金额
+ @ApiModelProperty("分公司sid")
+ private String useOrgSid; // 分公司sid
+ @ApiModelProperty("分公司名称")
+ private String useOrgName; // 分公司名称
+ @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
+ @ApiModelProperty("办结日期")
+ private Date finishTime;
+ @ApiModelProperty("实例id")
+ private String procInstId; // 实例id
+ @ApiModelProperty("流程定义id")
+ private String procDefId; // 流程定义id
+ @ApiModelProperty("任务id")
+ private String taskId; // 任务id
+ @ApiModelProperty("环节id")
+ private String nodeId; // 环节id
+ @ApiModelProperty("流程状态")
+ private String nodeState; // 流程状态
+ @ApiModelProperty("列表")
+ private List saleinvoiceapplyDetailList;
+ @ApiModelProperty("附件")
+ private List files = new ArrayList<>();
+}
\ No newline at end of file
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapply/AsSaleinvoiceapplyDto.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapply/AsSaleinvoiceapplyDto.java
new file mode 100644
index 0000000000..4ba24b9639
--- /dev/null
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapply/AsSaleinvoiceapplyDto.java
@@ -0,0 +1,109 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.as.api.assaleinvoiceapply;
+
+
+import com.yxt.anrui.as.api.assaleinvoiceapplydetail.AsSaleinvoiceapplyDetailDto;
+import com.yxt.common.core.dto.Dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: anrui-as(销售单开票申请)
+ * File: AsSaleinvoiceapplyDto.java
+ * Class: com.yxt.anrui.as.api.assaleinvoiceapply.AsSaleinvoiceapplyDto
+ * Description: 销售单开票申请 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-11-25 16:20:32
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "销售单开票申请 数据传输对象", description = "销售单开票申请 数据传输对象")
+public class AsSaleinvoiceapplyDto implements Dto {
+
+ private String sid; // sid
+
+ @ApiModelProperty("单据编号")
+ private String billNo; // 单据编号
+ @ApiModelProperty("备注")
+ private String remarks;
+ @ApiModelProperty("申请人sid")
+ private String createBySid;
+ @ApiModelProperty("申请人")
+ private String createByName; // 申请人
+ @ApiModelProperty("申请部门sid")
+ private String deptSid; // 申请部门sid
+ @ApiModelProperty("申请部门名称")
+ private String deptName; // 申请部门名称
+ @ApiModelProperty("开票单位")
+ private String invoiceOrg; // 开票单位
+ @ApiModelProperty("开票单位sid")
+ private String invoiceOrgSid; // 开票单位sid
+ @ApiModelProperty("开票名称")
+ private String invoiceName;
+ @ApiModelProperty("开票名称sid")
+ private String invoiceNameSid;
+ @ApiModelProperty("开票类型")
+ private String invoiceType; // 开票类型
+ @ApiModelProperty("开票类型sid")
+ private String invoiceTypeSid; // 开票类型sid
+ @ApiModelProperty("开票金额")
+ private BigDecimal invoicePrice; // 开票金额
+ @ApiModelProperty("分公司sid")
+ private String useOrgSid; // 分公司sid
+ @ApiModelProperty("分公司名称")
+ private String useOrgName; // 分公司名称
+ @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
+ @ApiModelProperty("办结日期")
+ private Date finishTime; // 办结日期
+ @ApiModelProperty("实例id")
+ private String procInstId; // 实例id
+ @ApiModelProperty("流程定义id")
+ private String procDefId; // 流程定义id
+ @ApiModelProperty("任务id")
+ private String taskId; // 任务id
+ @ApiModelProperty("环节id")
+ private String nodeId; // 环节id
+ @ApiModelProperty("流程状态")
+ private String nodeState; // 流程状态
+ @ApiModelProperty("列表")
+ private List saleinvoiceapplyDetailList;
+ @ApiModelProperty("附件")
+ private List files = new ArrayList<>();
+}
\ No newline at end of file
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapply/AsSaleinvoiceapplyFile.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapply/AsSaleinvoiceapplyFile.java
new file mode 100644
index 0000000000..079b391b41
--- /dev/null
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapply/AsSaleinvoiceapplyFile.java
@@ -0,0 +1,57 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.as.api.assaleinvoiceapply;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yxt.anrui.as.api.assaleinvoiceapplydetail.AsSaleinvoiceapplyDetailDto;
+import com.yxt.common.core.dto.Dto;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * Project: anrui-as(销售单开票申请)
+ * File: AsSaleinvoiceapplyDto.java
+ * Class: com.yxt.anrui.as.api.assaleinvoiceapply.AsSaleinvoiceapplyDto
+ * Description: 销售单开票申请 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-11-25 16:20:32
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+public class AsSaleinvoiceapplyFile {
+
+ private String url;
+}
\ No newline at end of file
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapply/AsSaleinvoiceapplyQuery.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapply/AsSaleinvoiceapplyQuery.java
new file mode 100644
index 0000000000..7b55c1af7c
--- /dev/null
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapply/AsSaleinvoiceapplyQuery.java
@@ -0,0 +1,80 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.as.api.assaleinvoiceapply;
+
+
+import com.yxt.common.core.query.Query;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: anrui-as(销售单开票申请)
+ * File: AsSaleinvoiceapplyQuery.java
+ * Class: com.yxt.anrui.as.api.assaleinvoiceapply.AsSaleinvoiceapplyQuery
+ * Description: 销售单开票申请 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-11-25 16:20:32
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "销售单开票申请 查询条件", description = "销售单开票申请 查询条件")
+public class AsSaleinvoiceapplyQuery implements Query {
+
+ @ApiModelProperty("分公司名称")
+ private String useOrgName;
+ @ApiModelProperty("申请部门名称")
+ private String deptName;
+ @ApiModelProperty("申请人")
+ private String createByName;
+ @ApiModelProperty("单据编号")
+ private String billNo;
+ @ApiModelProperty("申请日期")
+ private String createTimeStart;
+ private String createTimeEnd;
+ @ApiModelProperty("办结日期")
+ private String finishTimeStart;
+ private String finishTimeEnd;
+ @ApiModelProperty("开票单位")
+ private String invoiceOrg;
+ @ApiModelProperty("开票名称")
+ private String invoiceName;
+ @ApiModelProperty("开票类型")
+ private String invoiceType;
+
+ private String orgPath;
+ private String userSid;
+ private String menuUrl;
+}
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapply/AsSaleinvoiceapplyVo.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapply/AsSaleinvoiceapplyVo.java
new file mode 100644
index 0000000000..80865c1c83
--- /dev/null
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapply/AsSaleinvoiceapplyVo.java
@@ -0,0 +1,87 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.as.api.assaleinvoiceapply;
+
+
+import com.yxt.common.core.vo.Vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: anrui-as(销售单开票申请)
+ * File: AsSaleinvoiceapplyVo.java
+ * Class: com.yxt.anrui.as.api.assaleinvoiceapply.AsSaleinvoiceapplyVo
+ * Description: 销售单开票申请 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-11-25 16:20:32
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "销售单开票申请 视图数据对象", description = "销售单开票申请 视图数据对象")
+public class AsSaleinvoiceapplyVo implements Vo {
+
+ private String sid; // sid
+
+ @ApiModelProperty("流程状态")
+ private String nodeState;
+ @ApiModelProperty("单据编号")
+ private String billNo;
+ @ApiModelProperty("分公司名称")
+ private String useOrgName;
+ @ApiModelProperty("申请部门名称")
+ private String deptName;
+ @ApiModelProperty("申请人")
+ private String createByName;
+ @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
+ @ApiModelProperty("申请日期")
+ private Date createTime;
+ @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
+ @ApiModelProperty("办结日期")
+ private Date finishTime;
+ @ApiModelProperty("开票单位")
+ private String invoiceOrg;
+ @ApiModelProperty("开票名称")
+ private String invoiceName;
+ @ApiModelProperty("开票类型")
+ private String invoiceType;
+ @ApiModelProperty("开票金额")
+ private BigDecimal invoicePrice;
+ @ApiModelProperty("附件")
+ private List files = new ArrayList<>();
+}
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapply/flowable/CompleteSaleinvoiceapplyDto.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapply/flowable/CompleteSaleinvoiceapplyDto.java
new file mode 100644
index 0000000000..ab8cfafae7
--- /dev/null
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapply/flowable/CompleteSaleinvoiceapplyDto.java
@@ -0,0 +1,35 @@
+package com.yxt.anrui.as.api.assaleinvoiceapply.flowable;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * @description:
+ * @author: dimengzhe
+ * @date: 2024/5/11
+ **/
+@Data
+public class CompleteSaleinvoiceapplyDto {
+
+ @ApiModelProperty(value = "用户sid")
+ @NotBlank(message = "参数错误:userSid")
+ private String userSid;
+ @ApiModelProperty(value = "用户全路径sid")
+ private String orgSidPath;
+ @ApiModelProperty(value = "节点id")
+ @NotBlank(message = "参数错误:taskDefKey")
+ private String taskDefKey;
+ @ApiModelProperty(value = "任务id")
+ @NotBlank(message = "参数错误:taskId")
+ private String taskId;
+ @ApiModelProperty(value = "流程id")
+ @NotBlank(message = "参数错误:instanceId")
+ private String instanceId;
+ @ApiModelProperty(value = "意见")
+ private String comment;
+ @ApiModelProperty(value = "业务sid")
+ @NotBlank(message = "参数错误:businessSid")
+ private String businessSid;
+}
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapply/flowable/SaleinvoiceapplyDelegateQuery.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapply/flowable/SaleinvoiceapplyDelegateQuery.java
new file mode 100644
index 0000000000..89c5a0786e
--- /dev/null
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapply/flowable/SaleinvoiceapplyDelegateQuery.java
@@ -0,0 +1,23 @@
+package com.yxt.anrui.as.api.assaleinvoiceapply.flowable;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @description:
+ * @author: dimengzhe
+ * @date: 2024/5/11
+ **/
+@Data
+public class SaleinvoiceapplyDelegateQuery {
+
+ private String userSid;
+ @ApiModelProperty("流程实例id")
+ private String instanceId;
+ @ApiModelProperty("任务Id")
+ private String taskId;
+ @ApiModelProperty("审批人sid")
+ private String assignee;
+ @ApiModelProperty("填写意见")
+ private String views;
+}
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapply/flowable/SaleinvoiceapplyNodeQuery.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapply/flowable/SaleinvoiceapplyNodeQuery.java
new file mode 100644
index 0000000000..7c7caf29a2
--- /dev/null
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapply/flowable/SaleinvoiceapplyNodeQuery.java
@@ -0,0 +1,18 @@
+package com.yxt.anrui.as.api.assaleinvoiceapply.flowable;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @description:
+ * @author: dimengzhe
+ * @date: 2024/5/11
+ **/
+@Data
+public class SaleinvoiceapplyNodeQuery {
+
+ @ApiModelProperty(value = "环节定义id")
+ private String taskDefKey;
+ @ApiModelProperty(value = "业务sid")
+ private String businessSid;
+}
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapply/flowable/SaleinvoiceapplyNodeVo.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapply/flowable/SaleinvoiceapplyNodeVo.java
new file mode 100644
index 0000000000..586b094f7c
--- /dev/null
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapply/flowable/SaleinvoiceapplyNodeVo.java
@@ -0,0 +1,24 @@
+package com.yxt.anrui.as.api.assaleinvoiceapply.flowable;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @description:
+ * @author: dimengzhe
+ * @date: 2024/5/11
+ **/
+@Data
+public class SaleinvoiceapplyNodeVo {
+
+ @ApiModelProperty(value = "节点名称")
+ private String name;
+ @ApiModelProperty(value = "节点id")
+ private String id;
+ @ApiModelProperty(value = "审批组")
+ private List candidateGroups;
+ @ApiModelProperty(value = "是否是最后环节")
+ private String endTask;
+}
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapply/flowable/SaleinvoiceapplyTaskQuery.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapply/flowable/SaleinvoiceapplyTaskQuery.java
new file mode 100644
index 0000000000..05b591b53c
--- /dev/null
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapply/flowable/SaleinvoiceapplyTaskQuery.java
@@ -0,0 +1,43 @@
+package com.yxt.anrui.as.api.assaleinvoiceapply.flowable;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * @description:
+ * @author: dimengzhe
+ * @date: 2024/5/11
+ **/
+@Data
+public class SaleinvoiceapplyTaskQuery {
+
+ /**
+ * 终止、驳回、撤回
+ */
+ @ApiModelProperty("任务Id")
+ @NotBlank(message = "参数错误:taskId")
+ private String taskId;
+ /**
+ * 终止、驳回、撤回
+ */
+ @ApiModelProperty("业务sid")
+ @NotBlank(message = "参数错误:businessSid")
+ private String businessSid;
+ /**
+ * 终止、驳回
+ */
+ @ApiModelProperty("任务意见")
+ private String comment;
+ /**
+ * 终止、撤回、驳回
+ */
+ @ApiModelProperty("用户Sid")
+ private String userSid;
+ /**
+ * 终止
+ */
+ @ApiModelProperty("流程实例Id")
+ private String instanceId;
+}
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapply/flowable/SubmitSaleinvoiceapplyDto.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapply/flowable/SubmitSaleinvoiceapplyDto.java
new file mode 100644
index 0000000000..787792f02d
--- /dev/null
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapply/flowable/SubmitSaleinvoiceapplyDto.java
@@ -0,0 +1,19 @@
+package com.yxt.anrui.as.api.assaleinvoiceapply.flowable;
+
+import com.yxt.anrui.as.api.assaleinvoiceapply.AsSaleinvoiceapplyDto;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @description:
+ * @author: dimengzhe
+ * @date: 2024/5/11
+ **/
+@Data
+public class SubmitSaleinvoiceapplyDto extends AsSaleinvoiceapplyDto {
+
+ @ApiModelProperty("流程实例id")
+ private String instanceId;
+ @ApiModelProperty("任务id")
+ private String taskId;
+}
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapplydetail/AsSaleinvoiceapplyDetail.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapplydetail/AsSaleinvoiceapplyDetail.java
new file mode 100644
index 0000000000..f2d5164824
--- /dev/null
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapplydetail/AsSaleinvoiceapplyDetail.java
@@ -0,0 +1,83 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.as.api.assaleinvoiceapplydetail;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.yxt.common.core.domain.BaseEntity;
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: anrui-as(销售单开票申请)
+ * File: AsSaleinvoiceapplyDetail.java
+ * Class: com.yxt.anrui.as.api.assaleinvoiceapplydetail.AsSaleinvoiceapplyDetail
+ * Description: 销售单开票申请明细列表.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-11-25 16:20:32
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "销售单开票申请明细列表", description = "销售单开票申请明细列表")
+@TableName("as_saleinvoiceapply_detail")
+public class AsSaleinvoiceapplyDetail extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("业务sid")
+ private String mainSid; // 业务sid
+ @ApiModelProperty("销售单sid")
+ private String saleOrderSid; // 销售单sid
+ @ApiModelProperty("销售单号")
+ private String saleOrderNo; // 销售单号
+ @ApiModelProperty("销售人")
+ private String salePerson; // 销售人
+ @ApiModelProperty("客户名称")
+ private String cusmoterName; // 客户名称
+ @ApiModelProperty("车牌号")
+ private String vehMark; // 车牌号
+ @ApiModelProperty("车架号")
+ private String vinNo; // 车架号
+ @ApiModelProperty("材料费")
+ private BigDecimal goodsAmount; // 材料费
+ @ApiModelProperty("附加费")
+ private BigDecimal addAmount; // 附加费
+ @ApiModelProperty("优惠")
+ private BigDecimal discountAmount; // 优惠
+ @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
+ @ApiModelProperty("结算日期")
+ private Date settleDate; // 结算日期
+ @ApiModelProperty("结算金额")
+ private BigDecimal settleAmount; // 结算金额
+
+}
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapplydetail/AsSaleinvoiceapplyDetailDetailsVo.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapplydetail/AsSaleinvoiceapplyDetailDetailsVo.java
new file mode 100644
index 0000000000..7a2feea7a8
--- /dev/null
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapplydetail/AsSaleinvoiceapplyDetailDetailsVo.java
@@ -0,0 +1,84 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.as.api.assaleinvoiceapplydetail;
+
+
+import com.yxt.common.core.vo.Vo;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: anrui-as(销售单开票申请)
+ * File: AsSaleinvoiceapplyDetailVo.java
+ * Class: com.yxt.anrui.as.api.assaleinvoiceapplydetail.AsSaleinvoiceapplyDetailVo
+ * Description: 销售单开票申请明细列表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-11-25 16:20:32
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "销售单开票申请明细列表 视图数据详情", description = "销售单开票申请明细列表 视图数据详情")
+public class AsSaleinvoiceapplyDetailDetailsVo implements Vo {
+
+ private String sid; // sid
+
+ @ApiModelProperty("业务sid")
+ private String mainSid; // 业务sid
+ @ApiModelProperty("销售单sid")
+ private String saleOrderSid; // 销售单sid
+ @ApiModelProperty("销售单号")
+ private String saleOrderNo; // 销售单号
+ @ApiModelProperty("销售人")
+ private String salePerson; // 销售人
+ @ApiModelProperty("客户名称")
+ private String cusmoterName; // 客户名称
+ @ApiModelProperty("车牌号")
+ private String vehMark; // 车牌号
+ @ApiModelProperty("车架号")
+ private String vinNo; // 车架号
+ @ApiModelProperty("材料费")
+ private BigDecimal goodsAmount; // 材料费
+ @ApiModelProperty("附加费")
+ private BigDecimal addAmount; // 附加费
+ @ApiModelProperty("优惠")
+ private BigDecimal discountAmount; // 优惠
+ @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
+ @ApiModelProperty("结算日期")
+ private Date settleDate; // 结算日期
+ @ApiModelProperty("结算金额")
+ private BigDecimal settleAmount; // 结算金额
+
+}
\ No newline at end of file
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapplydetail/AsSaleinvoiceapplyDetailDto.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapplydetail/AsSaleinvoiceapplyDetailDto.java
new file mode 100644
index 0000000000..6d2ceaa1c5
--- /dev/null
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/assaleinvoiceapplydetail/AsSaleinvoiceapplyDetailDto.java
@@ -0,0 +1,84 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.as.api.assaleinvoiceapplydetail;
+
+
+import com.yxt.common.core.dto.Dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: anrui-as(销售单开票申请)
+ * File: AsSaleinvoiceapplyDetailDto.java
+ * Class: com.yxt.anrui.as.api.assaleinvoiceapplydetail.AsSaleinvoiceapplyDetailDto
+ * Description: 销售单开票申请明细列表 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-11-25 16:20:32
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "销售单开票申请明细列表 数据传输对象", description = "销售单开票申请明细列表 数据传输对象")
+public class AsSaleinvoiceapplyDetailDto implements Dto {
+
+ private String sid; // sid
+
+ @ApiModelProperty("业务sid")
+ private String mainSid; // 业务sid
+ @ApiModelProperty("销售单sid")
+ private String saleOrderSid; // 销售单sid
+ @ApiModelProperty("销售单号")
+ private String saleOrderNo; // 销售单号
+ @ApiModelProperty("销售人")
+ private String salePerson; // 销售人
+ @ApiModelProperty("客户名称")
+ private String cusmoterName; // 客户名称
+ @ApiModelProperty("车牌号")
+ private String vehMark; // 车牌号
+ @ApiModelProperty("车架号")
+ private String vinNo; // 车架号
+ @ApiModelProperty("材料费")
+ private BigDecimal goodsAmount; // 材料费
+ @ApiModelProperty("附加费")
+ private BigDecimal addAmount; // 附加费
+ @ApiModelProperty("优惠")
+ private BigDecimal discountAmount; // 优惠
+ @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
+ @ApiModelProperty("结算日期")
+ private Date settleDate; // 结算日期
+ @ApiModelProperty("结算金额")
+ private BigDecimal settleAmount; // 结算金额
+
+}
\ No newline at end of file
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillMapper.xml b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillMapper.xml
index e1d4521779..de2ac33f8f 100644
--- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillMapper.xml
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillMapper.xml
@@ -199,9 +199,10 @@
a.goodsAmount,
a.outAmount,
a.otherAmount,
- a.taxItems
+ ai.taxItems
from as_busrepair_bill a
LEFT JOIN as_busrepair_bill_vech AS b on a.sid = b.billSid
+ left join as_busrepair_bill_invoice as ai on a.sid = ai.billSid
${ew.sqlSegment}
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java
index 2c15d1f77f..7c333d9dd6 100644
--- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java
@@ -47,6 +47,7 @@ import com.yxt.anrui.as.biz.asbusrepairinventorybilldetail.AsBusrepairInventoryb
import com.yxt.anrui.as.biz.asserviceitem.AsServiceItemService;
import com.yxt.anrui.as.biz.astechtitledetail.AsTechTitleDetailService;
import com.yxt.anrui.as.biz.astrackbill.AsTrackBillService;
+import com.yxt.anrui.as.biz.astrackquestion.AsTrackQuestionService;
import com.yxt.anrui.as.feign.crm.CrmCustomerTemp;
import com.yxt.anrui.as.feign.crm.CrmCustomerTempFeign;
import com.yxt.anrui.as.feign.file.AsFileEnum;
@@ -153,6 +154,8 @@ public class AsBusrepairBillService extends MybatisBaseService_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.as.biz.assaleinvoiceapply;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+import com.yxt.anrui.as.api.assaleinvoiceapply.AsSaleinvoiceapply;
+import com.yxt.anrui.as.api.assaleinvoiceapply.AsSaleinvoiceapplyVo;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Project: anrui-as(销售单开票申请)
+ * File: AsSaleinvoiceapplyMapper.java
+ * Class: com.yxt.anrui.as.biz.assaleinvoiceapply.AsSaleinvoiceapplyMapper
+ * Description: 销售单开票申请.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-11-25 16:20:32
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Mapper
+public interface AsSaleinvoiceapplyMapper extends BaseMapper {
+
+ IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw);
+
+ String selectNum(String billNo);
+
+ int selectBySid(String join);
+
+ int updateFlowFiled(Map beanToMap);
+}
\ No newline at end of file
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/assaleinvoiceapply/AsSaleinvoiceapplyMapper.xml b/yxt-as/src/main/java/com/yxt/anrui/as/biz/assaleinvoiceapply/AsSaleinvoiceapplyMapper.xml
new file mode 100644
index 0000000000..cfc2e5549a
--- /dev/null
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/assaleinvoiceapply/AsSaleinvoiceapplyMapper.xml
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ UPDATE as_saleinvoiceapply
+ SET nodeState=#{nodeState}, nodeId=#{taskDefKey}
+
+ , finishTime = NOW()
+
+
+ , procDefId=#{procDefId}
+
+
+ , procInstId=#{procInsId}
+
+
+ , taskId=#{taskId}
+
+ WHERE sid=#{sid}
+
+
\ No newline at end of file
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/assaleinvoiceapply/AsSaleinvoiceapplyRest.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/assaleinvoiceapply/AsSaleinvoiceapplyRest.java
new file mode 100644
index 0000000000..d7d2c5dfc8
--- /dev/null
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/assaleinvoiceapply/AsSaleinvoiceapplyRest.java
@@ -0,0 +1,138 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.as.biz.assaleinvoiceapply;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.yxt.anrui.as.api.asbwdiffapply.flowable.*;
+import com.yxt.anrui.as.api.assaleinvoiceapply.flowable.*;
+import com.yxt.anrui.as.feign.flowable.flow.BusinessVariables;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.cloud.openfeign.SpringQueryMap;
+import org.springframework.web.bind.annotation.*;
+
+import com.yxt.anrui.as.api.assaleinvoiceapply.AsSaleinvoiceapplyQuery;
+import com.yxt.anrui.as.api.assaleinvoiceapply.AsSaleinvoiceapplyVo;
+import com.yxt.anrui.as.api.assaleinvoiceapply.AsSaleinvoiceapplyDetailsVo;
+import com.yxt.anrui.as.api.assaleinvoiceapply.AsSaleinvoiceapplyDto;
+
+import javax.validation.Valid;
+import java.util.List;
+
+@Api(tags = "销售单开票申请")
+@RestController
+@RequestMapping("v1/assaleinvoiceapply")
+public class AsSaleinvoiceapplyRest {
+
+ @Autowired
+ private AsSaleinvoiceapplyService asSaleinvoiceapplyService;
+
+ @ApiOperation("根据条件分页查询数据的列表")
+ @PostMapping("/listPage")
+ public ResultBean> listPage(@RequestBody PagerQuery pq){
+ ResultBean rb = ResultBean.fireFail();
+ PagerVo pv = asSaleinvoiceapplyService.listPageVo(pq);
+ return rb.success().setData(pv);
+ }
+
+ @ApiOperation("新增或修改")
+ @PostMapping("/save")
+ public ResultBean save(@RequestBody AsSaleinvoiceapplyDto dto){
+ ResultBean rb = ResultBean.fireFail();
+ asSaleinvoiceapplyService.saveOrUpdateDto(dto);
+ return rb.success();
+ }
+
+ @ApiOperation("根据sid批量删除")
+ @DeleteMapping("/delBySids")
+ public ResultBean delBySids(@RequestBody String[] sids){
+ return asSaleinvoiceapplyService.delAll(sids);
+ }
+
+ @ApiOperation("根据SID获取一条记录")
+ @GetMapping("/fetchDetailsBySid/{sid}")
+ public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid){
+ ResultBean rb = ResultBean.fireFail();
+ AsSaleinvoiceapplyDetailsVo vo = asSaleinvoiceapplyService.fetchDetailsVoBySid(sid);
+ return rb.success().setData(vo);
+ }
+
+ @ApiOperation("提交")
+ @PostMapping("/submitApply")
+ public ResultBean submitApply(@Valid @RequestBody SubmitSaleinvoiceapplyDto dto) {
+ return asSaleinvoiceapplyService.submitApply(dto);
+ }
+
+ @ApiOperation(value = "办理(同意)")
+ @PostMapping("/complete")
+ public ResultBean complete(@Valid @RequestBody CompleteSaleinvoiceapplyDto query) {
+ BusinessVariables bv = new BusinessVariables();
+ BeanUtil.copyProperties(query, bv);
+ bv.setModelId("");
+ return asSaleinvoiceapplyService.complete(bv);
+ }
+
+ @ApiOperation(value = "获取上一个环节")
+ @GetMapping(value = "/getPreviousNodesForReject")
+ ResultBean> getPreviousNodesForReject(@Valid @SpringQueryMap SaleinvoiceapplyNodeQuery query) {
+ return asSaleinvoiceapplyService.getPreviousNodesForReject(query);
+ }
+
+ @ApiOperation(value = "获取下一个环节")
+ @GetMapping(value = "/getNextNodesForSubmit")
+ ResultBean> getNextNodesForSubmit(@Valid @SpringQueryMap SaleinvoiceapplyNodeQuery query) {
+ return asSaleinvoiceapplyService.getNextNodesForSubmit(query);
+ }
+
+ @ApiOperation(value = "驳回任务")
+ @PostMapping(value = "/reject")
+ public ResultBean taskReject(@Valid @RequestBody SaleinvoiceapplyTaskQuery query) {
+ return asSaleinvoiceapplyService.taskReject(query);
+ }
+
+ @ApiOperation(value = "撤回流程")
+ @PostMapping(value = "/revokeProcess")
+ public ResultBean revokeProcess(@Valid @RequestBody SaleinvoiceapplyTaskQuery query) {
+ return asSaleinvoiceapplyService.revokeProcess(query);
+ }
+
+ @ApiOperation(value = "终止任务")
+ @PostMapping(value = "/breakProcess")
+ public ResultBean breakProcess(@Valid @RequestBody SaleinvoiceapplyTaskQuery query) {
+ return asSaleinvoiceapplyService.breakProcess(query);
+ }
+
+ @ApiOperation(value = "加签")
+ @PostMapping(value = "/delegate")
+ @ResponseBody
+ public ResultBean delegate(@RequestBody SaleinvoiceapplyDelegateQuery query) {
+ return asSaleinvoiceapplyService.delegate(query);
+ }
+}
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/assaleinvoiceapply/AsSaleinvoiceapplyService.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/assaleinvoiceapply/AsSaleinvoiceapplyService.java
new file mode 100644
index 0000000000..88d2598645
--- /dev/null
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/assaleinvoiceapply/AsSaleinvoiceapplyService.java
@@ -0,0 +1,622 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.as.biz.assaleinvoiceapply;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.date.DateUtil;
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.google.common.util.concurrent.ThreadFactoryBuilder;
+import com.yxt.anrui.as.api.asappendix.AsAppendix;
+import com.yxt.anrui.as.api.asbwdiffapply.AsBwdiffapply;
+import com.yxt.anrui.as.api.asbwdiffapply.flowable.*;
+import com.yxt.anrui.as.api.assaleinvoiceapply.*;
+import com.yxt.anrui.as.api.assaleinvoiceapply.flowable.*;
+import com.yxt.anrui.as.api.assaleinvoiceapplydetail.AsSaleinvoiceapplyDetailDetailsVo;
+import com.yxt.anrui.as.api.assaleinvoiceapplydetail.AsSaleinvoiceapplyDetailDto;
+import com.yxt.anrui.as.biz.asappendix.AsAppendixService;
+import com.yxt.anrui.as.biz.assaleinvoiceapplydetail.AsSaleinvoiceapplyDetailService;
+import com.yxt.anrui.as.feign.base.billno.Rule;
+import com.yxt.anrui.as.feign.file.AsFileEnum;
+import com.yxt.anrui.as.feign.flowable.flow.BusinessVariables;
+import com.yxt.anrui.as.feign.flowable.flow.FlowableFeign;
+import com.yxt.anrui.as.feign.flowable.flow.ProcDefEnum;
+import com.yxt.anrui.as.feign.flowable.flow.UpdateFlowFieldVo;
+import com.yxt.anrui.as.feign.flowable.flow2.FlowDelegateQuery;
+import com.yxt.anrui.as.feign.flowable.flow2.FlowFeign;
+import com.yxt.anrui.as.feign.flowable.flowtask.FlowTaskFeign;
+import com.yxt.anrui.as.feign.flowable.flowtask.FlowTaskVo;
+import com.yxt.anrui.as.feign.flowable.flowtask.LatestTaskVo;
+import com.yxt.anrui.as.feign.message.MessageFeign;
+import com.yxt.anrui.as.feign.message.MessageFlowVo;
+import com.yxt.anrui.as.feign.message.MessageFlowableQuery;
+import com.yxt.anrui.as.feign.portal.privilege.PrivilegeQuery;
+import com.yxt.anrui.as.feign.portal.sysorganization.SysOrganizationFeign;
+import com.yxt.anrui.as.feign.portal.sysorganization.SysOrganizationVo;
+import com.yxt.anrui.as.feign.portal.sysstafforg.SysStaffOrgFeign;
+import com.yxt.anrui.as.feign.portal.sysuser.SysUserFeign;
+import com.yxt.anrui.as.feign.portal.sysuserrole.SysUserRoleFeign;
+import com.yxt.common.base.config.component.FileUploadComponent;
+import org.apache.commons.lang3.StringUtils;
+import com.yxt.common.base.service.MybatisBaseService;
+import com.yxt.common.base.utils.PagerUtil;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+
+import org.apache.tomcat.util.threads.ThreadPoolExecutor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.*;
+import java.util.concurrent.*;
+import java.util.stream.Collectors;
+
+@Service
+public class AsSaleinvoiceapplyService extends MybatisBaseService {
+
+ @Autowired
+ private SysOrganizationFeign sysOrganizationFeign;
+ @Autowired
+ private SysStaffOrgFeign sysStaffOrgFeign;
+ @Autowired
+ private SysUserFeign sysUserFeign;
+ @Autowired
+ private FlowableFeign flowableFeign;
+ @Autowired
+ private FlowTaskFeign flowTaskFeign;
+ @Autowired
+ private FlowFeign flowFeign;
+ @Autowired
+ private MessageFeign messageFeign;
+ @Autowired
+ private FileUploadComponent fileUploadComponent;
+ @Autowired
+ private AsAppendixService asAppendixService;
+ @Autowired
+ private SysUserRoleFeign sysUserRoleFeign;
+ @Autowired
+ private AsSaleinvoiceapplyDetailService asSaleinvoiceapplyDetailService;
+
+ public PagerVo listPageVo(PagerQuery pq) {
+ AsSaleinvoiceapplyQuery query = pq.getParams();
+ QueryWrapper qw = new QueryWrapper<>();
+ //========================================数据授权开始
+ if (StringUtils.isNotBlank(query.getMenuUrl())) {
+ PrivilegeQuery privilegeQuery = new PrivilegeQuery();
+ privilegeQuery.setOrgPath(query.getOrgPath());
+ privilegeQuery.setMenuUrl(query.getMenuUrl());
+ privilegeQuery.setUserSid(query.getUserSid());
+ ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
+ if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
+ //数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
+ String orgSidPath = query.getOrgPath();
+ orgSidPath = orgSidPath + "/";
+ int i1 = orgSidPath.indexOf("/");
+ int i2 = orgSidPath.indexOf("/", i1 + 1);
+ int i3 = orgSidPath.indexOf("/", i2 + 1);
+ int i4 = orgSidPath.indexOf("/", i3 + 1);
+ String orgLevelKey = defaultIdReltBean.getData();
+ if ("1".equals(orgLevelKey)) {
+ orgSidPath = orgSidPath.substring(0, i1);
+ qw.like("s.orgSidPath", orgSidPath);
+ } else if ("2".equals(orgLevelKey)) {
+ orgSidPath = orgSidPath.substring(0, i2);
+ qw.like("s.orgSidPath", orgSidPath);
+ } else if ("3".equals(orgLevelKey)) {
+ orgSidPath = orgSidPath.substring(0, i3);
+ qw.like("s.orgSidPath", orgSidPath);
+ } else if ("4".equals(orgLevelKey)) {
+ orgSidPath = orgSidPath.substring(0, i4);
+ qw.like("s.orgSidPath", orgSidPath);
+ } else if ("5".equals(orgLevelKey)) {
+ qw.eq("ai.createBySid", query.getUserSid());
+ } else {
+ PagerVo p = new PagerVo<>();
+ return p;
+ }
+ } else {
+ PagerVo p = new PagerVo<>();
+ return p;
+ }
+ }
+ if (StringUtils.isNotBlank(query.getUseOrgName())) {
+ qw.like("ai.useOrgName", query.getUseOrgName());
+ }
+ if (StringUtils.isNotBlank(query.getDeptName())) {
+ qw.like("ai.deptName", query.getDeptName());
+ }
+ if (StringUtils.isNotBlank(query.getCreateByName())) {
+ qw.like("ai.createByName", query.getCreateByName());
+ }
+ if (StringUtils.isNotBlank(query.getBillNo())) {
+ qw.like("ai.billNo", query.getBillNo());
+ }
+ if (StringUtils.isNotBlank(query.getInvoiceOrg())) {
+ qw.like("ai.invoiceOrg", query.getInvoiceOrg());
+ }
+ if (StringUtils.isNotBlank(query.getInvoiceName())) {
+ qw.like("ai.invoiceName", query.getInvoiceName());
+ }
+ if (StringUtils.isNotBlank(query.getInvoiceType())) {
+ qw.like("ai.invoiceType", query.getInvoiceType());
+ }
+ String createTimeStart = query.getCreateTimeStart();
+ String createTimeEnd = query.getCreateTimeEnd();
+ qw.apply(StringUtils.isNotEmpty(createTimeStart), "date_format (ai.createTime,'%Y-%m-%d') >= date_format('" + createTimeStart + "','%Y-%m-%d')").
+ apply(StringUtils.isNotEmpty(createTimeEnd), "date_format (ai.createTime,'%Y-%m-%d') <= date_format('" + createTimeEnd + "','%Y-%m-%d')"
+ );
+ String finishTimeStart = query.getFinishTimeStart();
+ String finishTimeEnd = query.getFinishTimeEnd();
+ qw.apply(StringUtils.isNotEmpty(finishTimeStart), "date_format (ai.finishTime,'%Y-%m-%d') >= date_format('" + finishTimeStart + "','%Y-%m-%d')").
+ apply(StringUtils.isNotEmpty(finishTimeEnd), "date_format (ai.finishTime,'%Y-%m-%d') <= date_format('" + finishTimeEnd + "','%Y-%m-%d')"
+ );
+ IPage page = PagerUtil.queryToPage(pq);
+ IPage pagging = baseMapper.selectPageVo(page, qw);
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ return p;
+ }
+
+ public String saveOrUpdateDto(AsSaleinvoiceapplyDto dto){
+ String dtoSid = dto.getSid();
+ List files = dto.getFiles();
+ List saleinvoiceapplyDetailList = dto.getSaleinvoiceapplyDetailList();
+ String deptSid = dto.getDeptSid();
+ SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(deptSid).getData();
+ String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(deptVo.getOrgSidPath()).getData();
+ SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData();
+ dto.setUseOrgSid(useOrgSid);
+ dto.setUseOrgName(organizationVo.getName());
+ if (StringUtils.isBlank(dtoSid)) {
+ //生成单据编号
+ String billNo = "";
+ String date = DateUtil.format(DateUtil.date(), "yyyyMM");
+ billNo = "PJXSDKP" + organizationVo.getOrgCode() + date;
+ String i = baseMapper.selectNum(billNo);
+ if (StringUtils.isNotBlank(i)) {
+ billNo = Rule.getBillNo(billNo, Integer.valueOf(i).intValue());
+ } else {
+ billNo = Rule.getBillNo(billNo, 0);
+ }
+ dto.setBillNo(billNo);
+ String sid = this.insertByDto(dto);
+ for (AsSaleinvoiceapplyFile asSaleinvoiceapplyFile : files) {
+ String filePath = asSaleinvoiceapplyFile.getUrl().replace(fileUploadComponent.getUrlPrefix(), "");
+ AsAppendix asAppendix = new AsAppendix();
+ asAppendix.setLinkSid(sid);
+ asAppendix.setAttachType(AsFileEnum.ASSALEINVOICEAPPLY.getAttachType());
+ asAppendix.setFilePath(filePath);
+ asAppendixService.save(asAppendix);
+ }
+ for (AsSaleinvoiceapplyDetailDto asSaleinvoiceapplyDetailDto : saleinvoiceapplyDetailList) {
+ asSaleinvoiceapplyDetailDto.setMainSid(sid);
+ asSaleinvoiceapplyDetailService.insertByDto(asSaleinvoiceapplyDetailDto);
+ }
+ return sid;
+ }
+ this.updateByDto(dto);
+ asAppendixService.delByLinkSid(dtoSid);
+ for (AsSaleinvoiceapplyFile asSaleinvoiceapplyFile : files) {
+ String filePath = asSaleinvoiceapplyFile.getUrl().replace(fileUploadComponent.getUrlPrefix(), "");
+ AsAppendix asAppendix = new AsAppendix();
+ asAppendix.setLinkSid(dtoSid);
+ asAppendix.setAttachType(AsFileEnum.ASSALEINVOICEAPPLY.getAttachType());
+ asAppendix.setFilePath(filePath);
+ asAppendixService.save(asAppendix);
+ }
+ asSaleinvoiceapplyDetailService.delByMainSid(dtoSid);
+ for (AsSaleinvoiceapplyDetailDto asSaleinvoiceapplyDetailDto : saleinvoiceapplyDetailList) {
+ asSaleinvoiceapplyDetailDto.setMainSid(dtoSid);
+ asSaleinvoiceapplyDetailService.insertByDto(asSaleinvoiceapplyDetailDto);
+ }
+ return dtoSid;
+ }
+
+ public String insertByDto(AsSaleinvoiceapplyDto dto){
+ AsSaleinvoiceapply entity = new AsSaleinvoiceapply();
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ entity.setNodeState("待提交");
+ baseMapper.insert(entity);
+ return entity.getSid();
+ }
+
+ public void updateByDto(AsSaleinvoiceapplyDto dto){
+ String dtoSid = dto.getSid();
+ if (StringUtils.isBlank(dtoSid)) {
+ return;
+ }
+ AsSaleinvoiceapply entity = fetchBySid(dtoSid);
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.updateById(entity);
+ }
+
+ public AsSaleinvoiceapplyDetailsVo fetchDetailsVoBySid(String sid){
+ AsSaleinvoiceapply entity = fetchBySid(sid);
+ AsSaleinvoiceapplyDetailsVo vo = new AsSaleinvoiceapplyDetailsVo();
+ BeanUtil.copyProperties(entity, vo);
+ List asAppendices = asAppendixService.fetchByLinkSid(sid);
+ List asSaleinvoiceapplyFiles = new ArrayList<>();
+ for (AsAppendix asAppendix : asAppendices) {
+ AsSaleinvoiceapplyFile asSaleinvoiceapplyFile = new AsSaleinvoiceapplyFile();
+ String url = fileUploadComponent.getUrlPrefix() + asAppendix.getFilePath();
+ asSaleinvoiceapplyFile.setUrl(url);
+ asSaleinvoiceapplyFiles.add(asSaleinvoiceapplyFile);
+ }
+ vo.setFiles(asSaleinvoiceapplyFiles);
+ List asSaleinvoiceapplyDetailDetailsVos = asSaleinvoiceapplyDetailService.fetchByMainSid(sid);
+ vo.setSaleinvoiceapplyDetailList(asSaleinvoiceapplyDetailDetailsVos);
+ return vo;
+ }
+
+ public ResultBean delAll(String[] sids) {
+ ResultBean rb = ResultBean.fireFail();
+ //查询该sid中是否有流程不是待提交的
+ int count = baseMapper.selectBySid(StringUtils.join(sids, ","));
+ if (count > 0) {
+ return rb.setMsg("删除的数据中包含已提交或已办结审批的数据,删除失败");
+ }
+ delBySids(sids);
+ for (String sid : sids) {
+ asAppendixService.delByLinkSid(sid);
+ asSaleinvoiceapplyDetailService.delByMainSid(sid);
+ }
+ return rb.success();
+ }
+
+ public ResultBean submitApply(SubmitSaleinvoiceapplyDto dto) {
+ ResultBean rb = ResultBean.fireFail();
+ AsSaleinvoiceapply asSaleinvoiceapply = fetchBySid(dto.getSid());
+ int r = submitBusinessData(dto, asSaleinvoiceapply);
+ if (r == 3) {
+ return rb.setMsg("该申请不存在");
+ }
+ if (r == 0) {
+ return rb.setMsg("操作失败!提交的数据不一致");
+ }
+ String businessSid = saveOrUpdateDto(dto);
+ asSaleinvoiceapply = fetchBySid(businessSid);
+ //创建BusinessVariables实体对象
+ BusinessVariables bv = new BusinessVariables();
+ //流程中的参数赋值、若有网关,则赋值网关中判断的字段。
+ Map variables = new HashMap<>();
+ Map appMap = new HashMap<>();
+ appMap.put("sid", businessSid);
+ variables.put("app", appMap);
+ //判断发起人是否为配件主管
+ String createBySid = asSaleinvoiceapply.getCreateBySid();
+ List list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
+ variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777"));
+ //用户的部门全路径sid
+ SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(asSaleinvoiceapply.getDeptSid()).getData();
+ if (sysOrganization != null) {
+ bv.setOrgSidPath(sysOrganization.getOrgSidPath());
+ }
+ bv.setBusinessSid(businessSid);
+ bv.setUserSid(dto.getCreateBySid());
+ bv.setFormVariables(variables);
+ if (r == 1) {
+ //ToDo:流程定义id
+ bv.setModelId(ProcDefEnum.ASBWDIFFAPPLY.getProDefId());
+ ResultBean voResultBean = flowFeign.startProcess(bv);
+ if (!voResultBean.getSuccess()) {
+ return rb.setMsg(voResultBean.getMsg());
+ }
+ UpdateFlowFieldVo ufVo = voResultBean.getData();
+ updateFlowFiled(BeanUtil.beanToMap(ufVo));
+ asSaleinvoiceapply = fetchBySid(businessSid);
+ //==================================添加线程
+ try {
+ ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
+ .setNameFormat("demo-pool-%d").build();
+ ExecutorService pool = new ThreadPoolExecutor(2, 100,
+ 0L, TimeUnit.MILLISECONDS,
+ new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
+ AsSaleinvoiceapply finalAsSaleinvoiceapply = asSaleinvoiceapply;
+ Future future1 = pool.submit(() -> {
+ //极光推送
+ MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
+ MessageFlowVo messageFlowVo = new MessageFlowVo();
+ BeanUtil.copyProperties(ufVo, messageFlowVo);
+ messageFlowableQuery.setUfVo(messageFlowVo);
+ messageFlowableQuery.setAppMap(appMap);
+ messageFlowableQuery.setBusinessSid(businessSid);
+ messageFlowableQuery.setModuleName("配件销售开票申请");
+ messageFlowableQuery.setMsgContent(finalAsSaleinvoiceapply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
+ messageFlowableQuery.setMsgTitle("配件销售开票申请");
+ ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
+ });
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ //==================================添加线程
+ return voResultBean;
+ }
+ if (r == 2) {
+ // ToDo:驳回到发起人后再次提交
+ if (StringUtils.isBlank(dto.getInstanceId())) {
+ return rb.setMsg("参数错误:instanceId");
+ }
+ bv.setTaskId(asSaleinvoiceapply.getTaskId());
+ bv.setTaskDefKey(asSaleinvoiceapply.getNodeId());
+ bv.setComment("重新提交");
+ bv.setInstanceId(dto.getInstanceId());
+ return complete(bv);
+ }
+ return rb;
+ }
+
+ private int updateFlowFiled(Map beanToMap) {
+ return baseMapper.updateFlowFiled(beanToMap);
+ }
+
+
+ private int submitBusinessData(SubmitSaleinvoiceapplyDto dto, AsSaleinvoiceapply asSaleinvoiceapply) {
+ int r = 0;
+ if (StringUtils.isBlank(dto.getSid())) {
+ r = 1;
+ } else {
+ if (asSaleinvoiceapply != null) {
+ String businessTaskId = asSaleinvoiceapply.getTaskId();
+ if (StringUtils.isBlank(businessTaskId) && StringUtils.isBlank(dto.getTaskId())) {
+ //新提交
+ r = 1;
+ } else if (StringUtils.isNotBlank(businessTaskId) && businessTaskId.equals(dto.getTaskId())) {
+ //二次提交//只有数据一致的时候才能进行下一步
+ r = 2;
+ }
+ } else {
+ r = 3;
+ }
+ }
+ return r;
+ }
+
+ public ResultBean complete(BusinessVariables bv) {
+ ResultBean rb = ResultBean.fireFail();
+ String businessSid = bv.getBusinessSid();
+ AsSaleinvoiceapply asSaleinvoiceapply = fetchBySid(businessSid);
+ Map variables = new HashMap<>();
+ //判断发起人是否为配件主管
+ String createBySid = asSaleinvoiceapply.getCreateBySid();
+ List list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
+ variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777"));
+ Map appMap = new HashMap<>();
+ appMap.put("sid", businessSid);
+ variables.put("app", appMap);
+ bv.setFormVariables(variables);
+ SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(asSaleinvoiceapply.getDeptSid()).getData();
+ if (sysOrganization != null) {
+ bv.setOrgSidPath(sysOrganization.getOrgSidPath());
+ }
+ bv.setModelId(asSaleinvoiceapply.getProcDefId());
+ if (bv.getTaskId().equals(asSaleinvoiceapply.getTaskId())) {
+ ResultBean resultBean = flowFeign.handleProsess(bv);
+ if (!resultBean.getSuccess()) {
+ return rb.setMsg(resultBean.getMsg());
+ }
+ UpdateFlowFieldVo ufVo = resultBean.getData();
+ updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
+ if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
+
+ } else {
+ //极光推送
+ asSaleinvoiceapply = fetchBySid(businessSid);
+ MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
+ MessageFlowVo messageFlowVo = new MessageFlowVo();
+ BeanUtil.copyProperties(ufVo, messageFlowVo);
+ messageFlowVo.setProcDefId(asSaleinvoiceapply.getProcDefId());
+ messageFlowVo.setProcInsId(asSaleinvoiceapply.getProcInstId());
+ messageFlowableQuery.setUfVo(messageFlowVo);
+ messageFlowableQuery.setAppMap(appMap);
+ messageFlowableQuery.setBusinessSid(businessSid);
+ messageFlowableQuery.setModuleName("配件销售开票申请");
+ messageFlowableQuery.setMsgContent(asSaleinvoiceapply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
+ messageFlowableQuery.setMsgTitle("配件销售开票申请");
+ ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
+ }
+ return rb.success().setData(resultBean.getData());
+ } else {
+ return rb.setMsg("操作失败!提交的数据不一致");
+ }
+ }
+
+ public ResultBean> getPreviousNodesForReject(SaleinvoiceapplyNodeQuery query) {
+ ResultBean> rb = ResultBean.fireFail();
+ BusinessVariables bv = new BusinessVariables();
+ BeanUtil.copyProperties(query, bv);
+ //流程中的参数赋值、若有网关,则赋值网关中判断的字段。
+ Map variables = new HashMap<>();
+ //查询业务信息
+ AsSaleinvoiceapply asSaleinvoiceapply = fetchBySid(query.getBusinessSid());
+ //判断发起人是否为配件主管
+ String createBySid = asSaleinvoiceapply.getCreateBySid();
+ List list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
+ variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777"));
+ bv.setModelId(asSaleinvoiceapply.getProcDefId());
+ bv.setFormVariables(variables);
+ //=======================================
+ ResultBean>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv);
+ //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给TemplateApplyNodeVo
+ List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), SaleinvoiceapplyNodeVo.class)).collect(Collectors.toList());
+ return rb.success().setData(voList);
+ }
+
+ public ResultBean> getNextNodesForSubmit(SaleinvoiceapplyNodeQuery query) {
+ ResultBean> rb = ResultBean.fireFail();
+ BusinessVariables bv = new BusinessVariables();
+ BeanUtil.copyProperties(query, bv);
+ //流程中的参数赋值、若有网关,则赋值网关中判断的字段。
+ Map variables = new HashMap<>();
+ //查询业务信息
+ AsSaleinvoiceapply asSaleinvoiceapply = fetchBySid(query.getBusinessSid());
+ //判断发起人是否为配件主管
+ String createBySid = asSaleinvoiceapply.getCreateBySid();
+ List list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
+ variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777"));
+ bv.setModelId(asSaleinvoiceapply.getProcDefId());
+ bv.setFormVariables(variables);
+ ResultBean>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
+ //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给TemplateApplyNodeVo
+ List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), SaleinvoiceapplyNodeVo.class)).collect(Collectors.toList());
+ return rb.success().setData(voList);
+ }
+
+ public ResultBean taskReject(SaleinvoiceapplyTaskQuery query) {
+ ResultBean rb = ResultBean.fireFail();
+ String businessSid = query.getBusinessSid();
+ AsSaleinvoiceapply asSaleinvoiceapply = fetchBySid(businessSid);
+ if (asSaleinvoiceapply == null) {
+ return rb.setMsg("该申请不存在");
+ }
+ String businessTaskId = asSaleinvoiceapply.getTaskId();
+ if (StringUtils.isNotBlank(businessTaskId)) {
+ if (businessTaskId.equals(query.getTaskId())) {
+ if (StringUtils.isBlank(query.getComment())) {
+ return rb.setMsg("请填写意见");
+ }
+ if (StringUtils.isBlank(query.getUserSid())) {
+ return rb.setMsg("参数错误:userSid");
+ }
+ FlowTaskVo flowTaskVo = new FlowTaskVo();
+ BeanUtil.copyProperties(query, flowTaskVo);
+ Map variables = new HashMap<>();
+ Map appMap = new HashMap<>();
+ appMap.put("sid", businessSid);
+ variables.put("app", appMap);
+ //判断发起人是否为配件主管
+ String createBySid = asSaleinvoiceapply.getCreateBySid();
+ List list = sysUserRoleFeign.getUserRoleSidByUserSid(createBySid).getData();
+ variables.put("iszg", list.contains("bdacdca7-7a62-49b1-84c6-e32a4ffab777"));
+ flowTaskVo.setValues(variables);
+ ResultBean resultBean = flowableFeign.taskReject(flowTaskVo);
+ if (!resultBean.getSuccess()) {
+ return rb.setMsg(resultBean.getMsg());
+ }
+ UpdateFlowFieldVo ufVo = resultBean.getData();
+ Map map = BeanUtil.beanToMap(ufVo);
+ //更新业务中的流程相关的参数
+ updateFlowFiled(map);
+ //极光推送
+ asSaleinvoiceapply = fetchBySid(businessSid);
+ MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
+ MessageFlowVo messageFlowVo = new MessageFlowVo();
+ BeanUtil.copyProperties(ufVo, messageFlowVo);
+ String procId = asSaleinvoiceapply.getProcInstId();
+ messageFlowVo.setProcInsId(procId);
+ messageFlowVo.setProcDefId(asSaleinvoiceapply.getProcDefId());
+ messageFlowableQuery.setUfVo(messageFlowVo);
+ messageFlowableQuery.setAppMap(appMap);
+ messageFlowableQuery.setBusinessSid(businessSid);
+ messageFlowableQuery.setModuleName("配件销售开票申请");
+ ResultBean> listResultBean = flowTaskFeign.getLatestTasks(procId);
+ String nextName = listResultBean.getData().get(0).getName_();
+ String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_();
+ if ("发起申请".equals(nextName)) {
+ messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交");
+ } else {
+ messageFlowableQuery.setMsgContent(asSaleinvoiceapply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
+ }
+
+ messageFlowableQuery.setMsgTitle("配件销售开票申请");
+ ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
+ return rb.success();
+ }
+ }
+ return rb.setMsg("操作失败!提交的数据不一致!");
+ }
+
+ public ResultBean revokeProcess(SaleinvoiceapplyTaskQuery query) {
+ ResultBean rb = ResultBean.fireFail();
+ if (StringUtils.isBlank(query.getUserSid())) {
+ return rb.setMsg("参数错误:userSid");
+ }
+ AsSaleinvoiceapply asSaleinvoiceapply = fetchBySid(query.getBusinessSid());
+ String businessTaskId = asSaleinvoiceapply.getTaskId();
+ if (StringUtils.isNotBlank(businessTaskId)) {
+ if (businessTaskId.equals(query.getTaskId())) {
+ FlowTaskVo flowTaskVo = new FlowTaskVo();
+ BeanUtil.copyProperties(query, flowTaskVo);
+ ResultBean resultBean = flowableFeign.revokeProcess(flowTaskVo);
+ if (!resultBean.getSuccess()) {
+ return rb.setMsg(resultBean.getMsg());
+ }
+ updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
+ return rb.success().setData(resultBean.getData());
+ }
+ }
+ return rb.setMsg("操作失败,提交的数据不一致!");
+ }
+
+ public ResultBean breakProcess(SaleinvoiceapplyTaskQuery query) {
+ ResultBean rb = ResultBean.fireFail();
+ if (StringUtils.isBlank(query.getInstanceId())) {
+ return rb.setMsg("参数错误:instanceId");
+ }
+ if (StringUtils.isBlank(query.getUserSid())) {
+ return rb.setMsg("参数错误:userSid");
+ }
+ if (StringUtils.isBlank(query.getComment())) {
+ return rb.setMsg("请填写意见");
+ }
+ AsSaleinvoiceapply asSaleinvoiceapply = fetchBySid(query.getBusinessSid());
+ String businessTaskId = asSaleinvoiceapply.getTaskId();
+ if (StringUtils.isNotBlank(businessTaskId)) {
+ if (query.getUserSid().equals(asSaleinvoiceapply.getCreateBySid())) {
+ FlowTaskVo flowTaskVo = new FlowTaskVo();
+ BeanUtil.copyProperties(query, flowTaskVo);
+ ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo);
+ if (!resultBean.getSuccess()) {
+ return rb.setMsg(resultBean.getMsg());
+ }
+ Map map = BeanUtil.beanToMap(resultBean.getData());
+ updateFlowFiled(map);
+ return rb.success().setData(resultBean.getData());
+ } else {
+ if (businessTaskId.equals(query.getTaskId())) {
+ FlowTaskVo flowTaskVo = new FlowTaskVo();
+ BeanUtil.copyProperties(query, flowTaskVo);
+ ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo);
+ if (!resultBean.getSuccess()) {
+ return rb.setMsg(resultBean.getMsg());
+ }
+ Map map = BeanUtil.beanToMap(resultBean.getData());
+ updateFlowFiled(map);
+ return rb.success().setData(resultBean.getData());
+ }
+ }
+ }
+ return rb.setMsg("操作失败!提交的数据不一致!");
+ }
+
+ public ResultBean delegate(SaleinvoiceapplyDelegateQuery query) {
+ ResultBean rb = ResultBean.fireFail();
+ FlowDelegateQuery delegateQuery = new FlowDelegateQuery();
+ BeanUtil.copyProperties(query, delegateQuery);
+ flowFeign.delegate(delegateQuery);
+ return rb.success();
+ }
+}
\ No newline at end of file
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/assaleinvoiceapplydetail/AsSaleinvoiceapplyDetailMapper.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/assaleinvoiceapplydetail/AsSaleinvoiceapplyDetailMapper.java
new file mode 100644
index 0000000000..6b4551e99b
--- /dev/null
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/assaleinvoiceapplydetail/AsSaleinvoiceapplyDetailMapper.java
@@ -0,0 +1,45 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.as.biz.assaleinvoiceapplydetail;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.yxt.anrui.as.api.assaleinvoiceapplydetail.AsSaleinvoiceapplyDetailDetailsVo;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+import com.yxt.anrui.as.api.assaleinvoiceapplydetail.AsSaleinvoiceapplyDetail;
+
+import java.util.List;
+
+@Mapper
+public interface AsSaleinvoiceapplyDetailMapper extends BaseMapper {
+
+ @Delete("delete from as_saleinvoiceapply_detail where mainSid = #{dtoSid}")
+ void delByMainSid(String dtoSid);
+
+ @Select("select * from as_saleinvoiceapply_detail where mainSid = #{mainSid}")
+ List fetchByMainSid(String mainSid);
+}
\ No newline at end of file
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/assaleinvoiceapplydetail/AsSaleinvoiceapplyDetailMapper.xml b/yxt-as/src/main/java/com/yxt/anrui/as/biz/assaleinvoiceapplydetail/AsSaleinvoiceapplyDetailMapper.xml
new file mode 100644
index 0000000000..9b501cbd57
--- /dev/null
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/assaleinvoiceapplydetail/AsSaleinvoiceapplyDetailMapper.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/assaleinvoiceapplydetail/AsSaleinvoiceapplyDetailRest.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/assaleinvoiceapplydetail/AsSaleinvoiceapplyDetailRest.java
new file mode 100644
index 0000000000..e7e3ae3379
--- /dev/null
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/assaleinvoiceapplydetail/AsSaleinvoiceapplyDetailRest.java
@@ -0,0 +1,36 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.as.biz.assaleinvoiceapplydetail;
+
+import io.swagger.annotations.Api;
+import org.springframework.web.bind.annotation.*;
+
+@Api(tags = "销售单开票申请明细列表")
+@RestController
+@RequestMapping("v1/assaleinvoiceapplydetail")
+public class AsSaleinvoiceapplyDetailRest {
+
+}
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/assaleinvoiceapplydetail/AsSaleinvoiceapplyDetailService.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/assaleinvoiceapplydetail/AsSaleinvoiceapplyDetailService.java
new file mode 100644
index 0000000000..4c774cd129
--- /dev/null
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/assaleinvoiceapplydetail/AsSaleinvoiceapplyDetailService.java
@@ -0,0 +1,67 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.as.biz.assaleinvoiceapplydetail;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.yxt.common.base.service.MybatisBaseService;
+import com.yxt.anrui.as.api.assaleinvoiceapplydetail.AsSaleinvoiceapplyDetail;
+import com.yxt.anrui.as.api.assaleinvoiceapplydetail.AsSaleinvoiceapplyDetailDetailsVo;
+import com.yxt.anrui.as.api.assaleinvoiceapplydetail.AsSaleinvoiceapplyDetailDto;
+
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * Project: anrui-as(销售单开票申请)
+ * File: AsSaleinvoiceapplyDetailService.java
+ * Class: com.yxt.anrui.as.biz.assaleinvoiceapplydetail.AsSaleinvoiceapplyDetailService
+ * Description: 销售单开票申请明细列表 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-11-25 16:20:32
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Service
+public class AsSaleinvoiceapplyDetailService extends MybatisBaseService {
+
+ public void insertByDto(AsSaleinvoiceapplyDetailDto dto){
+ AsSaleinvoiceapplyDetail entity = new AsSaleinvoiceapplyDetail();
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.insert(entity);
+ }
+
+ public void delByMainSid(String dtoSid) {
+ baseMapper.delByMainSid(dtoSid);
+ }
+
+ public List fetchByMainSid(String sid) {
+ return baseMapper.fetchByMainSid(sid);
+ }
+}
\ No newline at end of file
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/astrackbill/AsTrackBillMapper.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/astrackbill/AsTrackBillMapper.java
index 74c626f4b9..6365ceb5db 100644
--- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/astrackbill/AsTrackBillMapper.java
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/astrackbill/AsTrackBillMapper.java
@@ -58,6 +58,6 @@ public interface AsTrackBillMapper extends BaseMapper {
String selectNum(String billNo);
- @Update("update as_track_bill set state = '1' where sid = #{sid} and finishDate = NOW()")
+ @Update("update as_track_bill set state = '2' where sid = #{sid} and finishDate = NOW()")
void complete(String sid);
}
\ No newline at end of file
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/astrackbill/AsTrackBillMapper.xml b/yxt-as/src/main/java/com/yxt/anrui/as/biz/astrackbill/AsTrackBillMapper.xml
index 7fe7a499cc..4c0dec8ca3 100644
--- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/astrackbill/AsTrackBillMapper.xml
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/astrackbill/AsTrackBillMapper.xml
@@ -17,7 +17,7 @@
IF(atb.reason = 01,'维修回访','销售回访') AS reason,
atb.waitorName,
atb.createOrgName,
- IF(atb.state = 0,'未完成','已完成') AS 'state'
+ IF(atb.state = 1,'未完成','已完成') AS 'state'
FROM
as_track_bill atb
LEFT JOIN as_busrepair_bill abb
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/astrackbill/AsTrackBillService.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/astrackbill/AsTrackBillService.java
index 7987228bbd..398bc0982c 100644
--- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/astrackbill/AsTrackBillService.java
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/astrackbill/AsTrackBillService.java
@@ -188,7 +188,7 @@ public class AsTrackBillService extends MybatisBaseService asTrackBillQuestionDetailsList = dto.getAsTrackBillQuestionDetailsList();
if (StringUtils.isBlank(dtoSid)) {
@@ -212,14 +212,14 @@ public class AsTrackBillService extends MybatisBaseService asTrackQuestionDetailsVos = asTrackQuestionService.selectAll();
+ List asTrackQuestionDetailsVos = asTrackQuestionService.selectAll(dto.getDeptSid());
for (AsTrackQuestionDetailsVo asTrackQuestionDetailsVo : asTrackQuestionDetailsVos) {
AsTrackBillQuestionDto asTrackBillQuestionDto = new AsTrackBillQuestionDto();
asTrackBillQuestionDto.setQuestion(asTrackQuestionDetailsVo.getQuestion());
asTrackBillQuestionDto.setBillSid(sid);
asTrackBillQuestionService.saveOrUpdateDto(asTrackBillQuestionDto);
}
- return;
+ return sid;
}
asTrackBillQuestionService.delByBillSid(dtoSid);
for (AsTrackBillQuestionDetailsVo asTrackBillQuestionDetailsVo : asTrackBillQuestionDetailsList) {
@@ -229,6 +229,7 @@ public class AsTrackBillService extends MybatisBaseService {
- @Select("select * from as_track_question")
- List selectAll();
+ @Select("select * from as_track_question where useOrgSid = #{deptSid}")
+ List selectAll(String deptSid);
}
\ No newline at end of file
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/astrackquestion/AsTrackQuestionService.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/astrackquestion/AsTrackQuestionService.java
index 0b370ab922..c17ae7a448 100644
--- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/astrackquestion/AsTrackQuestionService.java
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/astrackquestion/AsTrackQuestionService.java
@@ -89,7 +89,7 @@ public class AsTrackQuestionService extends MybatisBaseService selectAll() {
- return baseMapper.selectAll();
+ public List selectAll(String deptSid) {
+ return baseMapper.selectAll(deptSid);
}
}
\ No newline at end of file
diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/feign/file/AsFileEnum.java b/yxt-as/src/main/java/com/yxt/anrui/as/feign/file/AsFileEnum.java
index 21069ad598..b6ba9f8a75 100644
--- a/yxt-as/src/main/java/com/yxt/anrui/as/feign/file/AsFileEnum.java
+++ b/yxt-as/src/main/java/com/yxt/anrui/as/feign/file/AsFileEnum.java
@@ -18,6 +18,7 @@ public enum AsFileEnum {
YYZZ("009", "合作二级站备案申请-营业执照附件"),
HZXY("010", "合作二级站备案申请-合作协议附件"),
QTZL("011", "合作二级站备案申请-其他资料附件"),
+ ASSALEINVOICEAPPLY("012", "配件销售单开票附件"),
;