From b58c3bf0e4c9bf4327b749040c3490fd2d0970b2 Mon Sep 17 00:00:00 2001
From: 李白 <7387820+wjli_13439841639@user.noreply.gitee.com>
Date: 星期四, 04 六月 2026 09:45:40 +0800
Subject: [PATCH] 开票信息修改
---
platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/invoice/FileBip.java | 6
platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/ProductController.java | 30 +++++
platformx-boot/src/main/resources/application-dev.yml | 4
platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/SaleCredit.java | 22 +++
platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/Product.java | 8 +
platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/invoice/InvoiceResult.java | 11 -
platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/SaleCreditController.java | 168 ++++++++++++++++++++++++++++++++-
platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/invoice/InvoiceResultItem.java | 5
platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/invoice/BipInvoice.java | 9 +
platformx-boot/src/main/resources/application.yml | 4
platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/vo/ContractOutBoundVo.java | 3
platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/ContractOutBound.java | 8 +
12 files changed, 243 insertions(+), 35 deletions(-)
diff --git a/platformx-boot/src/main/resources/application-dev.yml b/platformx-boot/src/main/resources/application-dev.yml
index 6a99c07..87b41b7 100644
--- a/platformx-boot/src/main/resources/application-dev.yml
+++ b/platformx-boot/src/main/resources/application-dev.yml
@@ -2,7 +2,7 @@
data:
redis:
host: 127.0.0.1
- password: 123456
+ #password: 123456
database: 0
# 鏁版嵁搴撶浉鍏抽厤缃�
datasource:
@@ -37,8 +37,6 @@
# swagger 閰嶇疆
swagger:
token-url: ${swagger.gateway}/admin/oauth2/token
-
-
# 鏂囦欢涓婁紶閰嶇疆
file:
diff --git a/platformx-boot/src/main/resources/application.yml b/platformx-boot/src/main/resources/application.yml
index 542ceed..ee27182 100644
--- a/platformx-boot/src/main/resources/application.yml
+++ b/platformx-boot/src/main/resources/application.yml
@@ -1,10 +1,10 @@
server:
- port: 8899 # 椤圭洰绔彛
+ port: 8888 # 椤圭洰绔彛
servlet:
context-path: /business # 椤圭洰璁块棶璺緞
servers:
main-url: http://127.0.0.1:9999/admin
- business-url: http://127.0.0.1:8899/business
+ business-url: http://127.0.0.1:8888/business
spring:
application:
diff --git a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/ContractOutBound.java b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/ContractOutBound.java
index b61a18a..466b768 100644
--- a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/ContractOutBound.java
+++ b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/ContractOutBound.java
@@ -82,8 +82,8 @@
//浠ヤ笅寮�绁ㄧ浉鍏�
- @Schema(description = "閿�鍞寕璐d")
- @Column(columnDefinition = "bigint default null comment '閿�鍞寕璐d'")
+ @Schema(description = "缁撶畻id")
+ @Column(columnDefinition = "bigint default null comment '缁撶畻id'")
private Long saleCreditId;
@Schema(description = "寮�绁ㄧ姸鎬侊紙0-鏈紑绁� 1-寮�绁ㄤ腑 2-宸插紑绁級")
@@ -104,6 +104,10 @@
@Column(columnDefinition = "bigint comment '浜у搧id'")
private Long productId;
+ @Schema(description = "寮�绁ㄤ骇鍝佸悕绉�")
+ @Column(columnDefinition = "VARCHAR(50) comment '寮�绁ㄤ骇鍝佸悕绉�'")
+ private String invoiceName;
+
@Schema(description = "绋庣巼锛堢櫨鍒嗘瘮锛屽13琛ㄧず13%锛�")
@Column(columnDefinition = "double default 0.00 comment '绋庣巼'")
private Double taxRate;
diff --git a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/Product.java b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/Product.java
index a5a0e74..530d04a 100644
--- a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/Product.java
+++ b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/Product.java
@@ -22,9 +22,10 @@
@Table(name = "product")
@Comment("浜у搧淇℃伅")
public class Product extends BaseModel<Product> {
+
//浜у搧鍚嶇О銆佷骇鍝佺紪鐮侊紙涓绘暟鎹�丒RP锛夈�佷骇鍝佷环鏍笺�佺◣鐐广�佹墍灞炰笂绾�
@Schema(description = "浜у搧鍚嶇О")
- @Column(columnDefinition = "VARCHAR(50) comment '浜у搧鍚嶇О'")
+ @Column(columnDefinition = "VARCHAR(512) comment '浜у搧鍚嶇О'")
private String productName;
@Schema(description = "浜у搧闆嗗洟缂栫爜")
@@ -59,6 +60,11 @@
@Column(columnDefinition = "bigint default 0 comment '鐖禝D'")
private Long parentId;
+ @Schema(description = "鐖跺悕绉�")
+ @Transient
+ @TableField(exist = false)
+ private String parentName;
+
/**
* 鏍囩殑鐗�
*/
diff --git a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/SaleCredit.java b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/SaleCredit.java
index 7038fa7..7d7d4e7 100644
--- a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/SaleCredit.java
+++ b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/SaleCredit.java
@@ -1,8 +1,10 @@
package com.by4cloud.platformx.business.entity;
+
import com.baomidou.mybatisplus.annotation.TableField;
import com.by4cloud.platformx.business.vo.ContractOutBoundVo;
import com.by4cloud.platformx.common.data.mybatis.BaseModel;
+import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -10,8 +12,10 @@
import jakarta.persistence.Transient;
import lombok.Data;
import org.hibernate.annotations.Comment;
+import org.springframework.format.annotation.DateTimeFormat;
import java.math.BigDecimal;
+import java.util.Date;
import java.util.List;
/**
@@ -22,7 +26,7 @@
@Data
@Entity
@Table(name = "sale_credit")
-@Comment("閿�鍞寕璐�")
+@Comment("缁撶畻璁板綍")
public class SaleCredit extends BaseModel<SaleCredit> {
@Schema(description = "閿�鍞紪鍙�")
@@ -89,8 +93,8 @@
@Column(name = "contact_phone_b",columnDefinition = "VARCHAR(50) comment '涔欐柟鑱旂郴鐢佃瘽'")
private String contactPhoneB;
- @Schema(description = "鎸傝处閲戦")
- @Column(columnDefinition = "decimal(10,2) comment '鎸傝处閲戦'")
+ @Schema(description = "鎬婚噾棰�")
+ @Column(columnDefinition = "decimal(10,2) comment '鎬婚噾棰�'")
private BigDecimal totalAmount;
@Schema(description = "鎸傝处閲戦鎬荤◣棰�")
@@ -129,10 +133,22 @@
@Column(columnDefinition = "bigint default null comment '钃濈エid'")
private Long blueInvoiceResultId;
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @Schema(description = "钃濈エ寮�绁ㄦ椂闂�")
+ @Column(columnDefinition = "datetime comment '钃濈エ寮�绁ㄦ椂闂�'")
+ private Date blueInvoiceTime;
+
@Schema(description = "绾㈢エid")
@Column(columnDefinition = "bigint default null comment '绾㈢エid'")
private Long redInvoiceResultId;
+ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ @Schema(description = "绾㈢エ寮�绁ㄦ椂闂�")
+ @Column(columnDefinition = "datetime comment '绾㈢エ寮�绁ㄦ椂闂�'")
+ private Date redInvoiceTime;
+
@Schema(description = "寮�绁ㄨ鎯�")
@Column(columnDefinition = "TEXT comment '寮�绁ㄨ鎯�'")
private String invoiceRemark;
diff --git a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/invoice/BipInvoice.java b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/invoice/BipInvoice.java
index f4928c1..22e62d0 100644
--- a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/invoice/BipInvoice.java
+++ b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/invoice/BipInvoice.java
@@ -7,13 +7,14 @@
import com.fasterxml.jackson.annotation.JsonFormat;
import jakarta.persistence.Table;
+import jakarta.persistence.Transient;
import lombok.Data;
import org.hibernate.annotations.Comment;
import org.springframework.format.annotation.DateTimeFormat;
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Transient;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+
import java.util.Date;
/**
@@ -24,7 +25,7 @@
@Data
@Entity
@org.hibernate.annotations.Table(appliesTo="bip_invoice",comment = "bip瀵瑰簲鍗曟嵁琛�")//bip瀵瑰簲鍗曟嵁琛�
-@jakarta.persistence.Table(name = "bip瀵瑰簲鍗曟嵁琛�")//bip瀵瑰簲鍗曟嵁琛�
+@jakarta.persistence.Table(name = "bip_invoice")//bip瀵瑰簲鍗曟嵁琛�
@Comment("bip瀵瑰簲鍗曟嵁琛�")
public class BipInvoice extends BaseModel<BipInvoice> {
diff --git a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/invoice/FileBip.java b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/invoice/FileBip.java
index e096e25..b98a30a 100644
--- a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/invoice/FileBip.java
+++ b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/invoice/FileBip.java
@@ -1,14 +1,12 @@
package com.by4cloud.platformx.business.entity.invoice;
-import com.baomidou.mybatisplus.annotation.TableName;
import com.by4cloud.platformx.common.data.mybatis.BaseModel;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.hibernate.annotations.Comment;
-import jakarta.persistence.Table;
-import javax.persistence.Column;
-import javax.persistence.Entity;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
/**
* @author kdq
diff --git a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/invoice/InvoiceResult.java b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/invoice/InvoiceResult.java
index 2a62569..bc5ad3b 100644
--- a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/invoice/InvoiceResult.java
+++ b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/invoice/InvoiceResult.java
@@ -1,15 +1,12 @@
package com.by4cloud.platformx.business.entity.invoice;
-import com.baomidou.mybatisplus.annotation.TableName;
import com.by4cloud.platformx.common.data.mybatis.BaseModel;
import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
import lombok.Data;
import org.hibernate.annotations.Comment;
-import jakarta.persistence.Table;
-
-import javax.persistence.Column;
-import javax.persistence.Entity;
/**
* @author kdq
@@ -24,8 +21,8 @@
@jakarta.persistence.Table(name = "fp_invoice_result")//寮�鍏峰彂绁ㄨ繑鍥炲��
@Comment("寮�鍏峰彂绁ㄨ繑鍥炲��")
public class InvoiceResult extends BaseModel<InvoiceResult> {
- @Schema(description = "閿�鍞寕璐d")
- @Column(columnDefinition = "bigint default null comment '閿�鍞寕璐d'")
+ @Schema(description = "缁撶畻璁板綍id")
+ @Column(columnDefinition = "bigint comment '缁撶畻璁板綍id'")
private Long saleCreditId;
@Schema(description = "鎺ㄩ�乥ip")
diff --git a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/invoice/InvoiceResultItem.java b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/invoice/InvoiceResultItem.java
index dc02a98..9b81eb2 100644
--- a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/invoice/InvoiceResultItem.java
+++ b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/invoice/InvoiceResultItem.java
@@ -5,10 +5,9 @@
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.hibernate.annotations.Comment;
-import jakarta.persistence.Table;
-import javax.persistence.Column;
-import javax.persistence.Entity;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
/**
* @author kdq
diff --git a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/vo/ContractOutBoundVo.java b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/vo/ContractOutBoundVo.java
index ac2f458..19482ff 100644
--- a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/vo/ContractOutBoundVo.java
+++ b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/vo/ContractOutBoundVo.java
@@ -13,6 +13,9 @@
@Schema(description = "浜у搧id")
private Long productId;
+ @Schema(description = "寮�绁ㄥ悕绉�")
+ private String invoiceName;
+
@Schema(description = "绋庣巼锛堢櫨鍒嗘瘮锛屽13琛ㄧず13%锛�")
private Double taxRate;
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/ProductController.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/ProductController.java
index 1b05282..acd3c71 100644
--- a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/ProductController.java
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/ProductController.java
@@ -54,7 +54,18 @@
wrapper.like(StrUtil.isNotEmpty(product.getProductName()),Product::getProductName,product.getProductName());
wrapper.like(StrUtil.isNotEmpty(product.getMainCode()),Product::getMainCode,product.getMainCode());
wrapper.like(StrUtil.isNotEmpty(product.getErpCode()),Product::getErpCode,product.getErpCode());
- return R.ok(productService.page(page, wrapper));
+ Page<Product> page1 = productService.page(page, wrapper);
+ List<Product> list = page1.getRecords();
+ for(Product product1 : list){
+ Product parent = productService.getById(product1.getParentId());
+ if(parent==null){
+ product1.setParentName("鏍圭骇浜у搧");
+ }else {
+ product1.setParentName(parent.getProductName());
+ }
+ }
+ page1.setRecords(list);
+ return R.ok(page1);
}
/**
@@ -74,6 +85,23 @@
}
/**
+ * 鍒嗛〉鏌ヨ
+ * @param product 浜у搧淇℃伅
+ * @return
+ */
+ @Operation(summary = "鍒嗛〉鏌ヨ" , description = "鍒嗛〉鏌ヨ" )
+ @GetMapping("/listByParentId" )
+ @PreAuthorize("@pms.hasPermission('business_product_view')" )
+ //@Inner(value = false)
+ public R getProductListByParentId(@ParameterObject Product product) {
+ LambdaQueryWrapper<Product> wrapper = Wrappers.lambdaQuery();
+ wrapper.like(StrUtil.isNotEmpty(product.getProductName()),Product::getProductName,product.getProductName());
+ wrapper.eq(product.getParentId()!=null,Product::getParentId,product.getParentId());
+ wrapper.last("limit 30");
+ return R.ok(productService.list(wrapper));
+ }
+
+ /**
* 灞傜骇鏌ヨ
* @param product 鍟嗗搧琛�
* @return
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/SaleCreditController.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/SaleCreditController.java
index fffadb8..f8440ec 100644
--- a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/SaleCreditController.java
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/SaleCreditController.java
@@ -2,6 +2,7 @@
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.date.DateTime;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -16,6 +17,7 @@
import com.by4cloud.platformx.business.service.*;
import com.by4cloud.platformx.business.vo.ContractOutBoundVo;
import com.by4cloud.platformx.common.core.util.R;
+import com.by4cloud.platformx.common.data.mybatis.BaseModel;
import com.by4cloud.platformx.common.excel.annotation.ResponseExcel;
import com.by4cloud.platformx.common.log.annotation.SysLog;
import com.by4cloud.platformx.common.security.annotation.Inner;
@@ -28,6 +30,7 @@
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
+import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -119,6 +122,8 @@
if(contractOutBoundList.size()==0){
return R.failed("璇烽�夋嫨鍑哄簱鍗曪紒");
}
+ //寮�绁ㄤ箣鍓嶏紝鍏堣褰曞紑绁ㄤ俊鎭�
+ //1.鍑哄簱鍗曡繘琛屾爣璁帮紝灏嗗嚭搴撳崟鍙戠エ璁板綍id濉叆銆傚皢InvoiceSatus=1寮�绁ㄤ腑銆�
String outBoundIds = "";
for(ContractOutBoundVo vo : contractOutBoundList){
if(StrUtil.isEmpty(outBoundIds)){
@@ -140,12 +145,14 @@
outBound.setInvoiceSatus(1);
contractOutBoundService.updateById(outBound);
}
+ //缁撶畻涓褰曞嚭搴撳崟ids.
saleCredit.setOutBoundIds(outBoundIds);
+ //鐢熸垚缁撶畻鍗曞彿
saleCredit.setEntrustCode("JsNo"+System.currentTimeMillis());
saleCreditService.updateById(saleCredit);
//鐢熸垚vo
- InvoicingVo invoicingVo = invoiceService.toGetByCompareByVo(saleCredit,contractOutBoundList);
+ /* InvoicingVo invoicingVo = invoiceService.toGetByCompareByVo(saleCredit,contractOutBoundList);
try {
Map<String, Object> objectMap = invoiceService.toKaipiao(invoicingVo);
Boolean success = (Boolean) objectMap.get("success");
@@ -157,15 +164,14 @@
//StringBuffer errMsg = new StringBuffer();
BipResVo bipResVo = bipYsService.sendBIPYs(saleCredit);
if (!bipResVo.getCode().equals("200")) {
- /*if (StrUtil.isNotEmpty(errMsg)) {
+ *//*if (StrUtil.isNotEmpty(errMsg)) {
errMsg.append(",");
}
- errMsg.append(saleCredit.getCreditCodeB()+ "搴旀敹鍙戠エ鎺ㄩ�佸け璐�:" + bipResVo.getMessage());*/
+ errMsg.append(saleCredit.getCreditCodeB()+ "搴旀敹鍙戠エ鎺ㄩ�佸け璐�:" + bipResVo.getMessage());*//*
return R.failed("寮�绁ㄦ垚鍔燂紝鎺ㄩ�乥ip澶辫触锛宔rr:" + bipResVo.getMessage());
}else{
return R.ok("寮�绁ㄦ垚鍔�,鎺ㄩ�乥ig鎴愬姛锛�");
}
-
}else{
saleCredit.setStatus(2);
saleCreditService.updateById(saleCredit);
@@ -176,11 +182,158 @@
saleCredit.setStatus(3);
saleCreditService.updateById(saleCredit);
return R.failed("寮�绁ㄥけ璐ワ紒");
- }
+ }*/
//return R.ok("閿�鍞寕璐︾敓鎴愶紒");
+
+
+ //鍑哄簱鍗曞凡寮�绁�
+ List<ContractOutBound> contractOutBounds = contractOutBoundService.list(new LambdaQueryWrapper<ContractOutBound>()
+ .eq(ContractOutBound::getSaleCreditId,saleCredit.getId())
+ );
+ for(ContractOutBound contractOutBound : contractOutBounds){
+ contractOutBound.setInvoiceSatus(2);
+ }
+ contractOutBoundService.updateBatchById(contractOutBounds);
+
+ //寮�绁ㄦ垚鍔�
+ //寮�绁ㄨ褰曞崟钃濈エ淇℃伅瀛樺偍
+ saleCredit.setBlueResultStatus(1);
+ saleCredit.setInvoiceRemark("寮�绁ㄦ垚鍔燂紒");
+ saleCredit.setBlueInvoiceTime(DateTime.now());
+ saleCreditService.updateById(saleCredit);
+
+ //鐩稿叧鍚堝悓閲戦鍜屽紑绁ㄧ姸鎬佽繘琛屼慨鏀广��
+ Contract contract = contractService.getById(saleCredit.getContractId());
+ String billingStatus = contract.getBillingStatus();
+
+ if(contract.getBillingAmout()==null){
+ contract.setBillingAmout(saleCredit.getTotalAmount());
+ }else{
+ contract.setBillingAmout(contract.getBillingAmout().add(saleCredit.getTotalAmount()));
+ }
+
+ int res = contract.getAmount().compareTo(contract.getBillingAmout());
+
+ if("2".equals(billingStatus)) {
+ if (res == 0) {
+ contract.setBillingStatus("3");
+ } else if (res > 0) {
+ contract.setBillingStatus("2");
+ } else {
+ return R.failed("宸蹭粯閲戦涓嶈兘澶т簬鎬婚噾棰濓紒");
+ }
+ }
+
+ contractService.updateById(contract);
+ return R.ok("寮�绁ㄦ垚鍔燂紝鎺ㄩ�乥ip鎴愬姛锛�");
}
+ /**
+ * 鎷兼帴閿�鍞寕璐�
+ * @param contract1 閿�鍞寕璐�
+ * @return R
+ */
+ @Operation(summary = "鑾峰彇鍙戠エ鍒楄〃" , description = "鑾峰彇鍙戠エ鍒楄〃" )
+ @SysLog("鑾峰彇鍙戠エ鍒楄〃" )
+ @GetMapping("/getInvoices")
+ @PreAuthorize("@pms.hasPermission('business_saleCredit_view')" )
+ public R getInvoices(@ParameterObject Contract contract1) {
+ Contract contract = contractService.getById(contract1.getId());
+ if(contract==null){
+ return R.failed("鍚堝悓id閿欒");
+ }
+ List<SaleCredit> saleCredits = saleCreditService.list(new LambdaQueryWrapper<SaleCredit>()
+ .eq(SaleCredit::getContractId,contract1.getId())
+ .orderByAsc(BaseModel::getCreateTime)
+ );
+ for(SaleCredit saleCredit : saleCredits){
+ if(saleCredit.getRedResultStatus()!=null && saleCredit.getRedResultStatus()>0){//璇存槑宸插紑绾㈢エ
+ saleCredit.setBlueResultStatus(0);
+ if(saleCredit.getRedResultStatus()==1){
+ saleCredit.setInvoiceRemark("寮�绾㈢エ鎴愬姛锛�");
+ saleCredit.setInvoicRedUrl("绾㈢エurl");
+ }else{
+ //鏄剧ず saleCredit.getInvoiceRemark();
+ }
+ }else{
+ if(saleCredit.getBlueResultStatus()==1){
+ saleCredit.setInvoiceRemark("寮�钃濈エ鎴愬姛锛�");
+ saleCredit.setInvoicUrl("钃濈エurl");
+ }else if(saleCredit.getBlueResultStatus()==2){
+ //鏄剧ず saleCredit.getInvoiceRemark();
+ }
+ }
+ }
+ return R.ok(saleCredits);
+ }
+ /**
+ * 鎷兼帴閿�鍞寕璐�
+ * @param saleCredit1 閿�鍞寕璐�
+ * @return R
+ */
+ @Operation(summary = "绾㈠啿鍙戠エ" , description = "绾㈠啿鍙戠エ" )
+ @SysLog("绾㈠啿鍙戠エ" )
+ @PostMapping("/toRedStamp")
+ @PreAuthorize("@pms.hasPermission('business_saleCredit_edit')" )
+ public R toRedStamp(@RequestBody SaleCredit saleCredit1) {
+ if(saleCredit1.getId()==null){
+ return R.failed("閿�鍞寕璐d涓嶈兘涓虹┖锛�");
+ }
+ SaleCredit saleCredit = saleCreditService.getById(saleCredit1.getId());
+ if(saleCredit==null){
+ return R.failed("閿�鍞寕璐d涓嶈兘涓虹┖锛�");
+ }
+
+ /*try {
+ Map<String, Object> map = invoiceService.toRedTicket(saleCredit);
+ Boolean success = (Boolean) map.get("success");
+ if(success){
+ return R.ok("绾㈠瓧寮�绁ㄦ垚鍔�");
+ }else {
+ return R.failed((String) map.get("message"));
+ }
+ }catch (Exception e){
+ e.printStackTrace();
+ return R.failed("绾㈠瓧寮�绁ㄥけ璐�");
+ }*/
+
+
+ //鍑哄簱鍗曟仮澶嶅埌鏈紑绁ㄧ姸鎬�
+ List<ContractOutBound> outBoundList = contractOutBoundService.list(new LambdaQueryWrapper<ContractOutBound>()
+ .eq(ContractOutBound::getSaleCreditId,saleCredit.getId())
+ );
+ for(ContractOutBound outBound : outBoundList){
+ outBound.setInvoiceSatus(0);
+ outBound.setSaleCreditId(0l);
+ }
+ contractOutBoundService.updateBatchById(outBoundList);
+
+ saleCredit.setRedInvoiceTime(DateTime.now());
+ saleCredit.setRedResultStatus(1);
+ saleCredit.setInvoiceRemark("寮�绾㈢エ鎴愬姛锛�");
+ saleCreditService.updateById(saleCredit);
+
+
+ //鍚堝悓宸插紑绁ㄩ噾棰濆拰鐘舵�佽繕鍘�
+ Contract contract = contractService.getById(saleCredit.getContractId());
+ String billingStatus = contract.getBillingStatus();
+ BigDecimal bill = contract.getBillingAmout() == null ? BigDecimal.ZERO : contract.getBillingAmout();
+ BigDecimal credit = saleCredit.getTotalAmount() == null ? BigDecimal.ZERO : saleCredit.getTotalAmount();
+ BigDecimal diff = bill.subtract(credit);
+ int res = diff.compareTo(BigDecimal.ZERO);
+
+ if("3".equals(billingStatus)){
+ if(res>=0){
+ contract.setBillingStatus("2");
+ contract.setBillingAmout(BigDecimal.ZERO);
+ }else{
+ return R.failed("宸插紑绁ㄩ噾棰濊礋鏁版姤閿欙紒");
+ }
+ }
+ contractService.updateById(contract);
+ return R.ok("绾㈠啿寮�绁ㄦ垚鍔燂紒");
+ }
@@ -234,23 +387,28 @@
ContractOutBoundVo vo = new ContractOutBoundVo();
BeanUtil.copyProperties(outBound,vo);
Product product = productService.getOne(new LambdaQueryWrapper<Product>().eq(Product::getErpCode,outBound.getSubjectMatterCode()).last("limit 1"));
+ Product productP = productService.getOne(new LambdaQueryWrapper<Product>().eq(Product::getId,product.getParentId()).last("limit 1"));
if(product!=null){
vo.setProductId(product.getId());
+ vo.setInvoiceName("*"+product.getTaxClass()+"*" + (productP!=null?productP.getProductName():"") + "*");
vo.setTaxClass(product.getTaxClass());
vo.setTaxCode(product.getTaxCode());
vo.setTaxRate(product.getTaxRate());
}
+
ContractSubjectMatter matter = contractSubjectMatterService.getOne(new LambdaQueryWrapper<ContractSubjectMatter>()
.eq(ContractSubjectMatter::getContractId,contract.getId())
.eq(ContractSubjectMatter::getMaterialCode,outBound.getSubjectMatterCode())
.last("limit 1")
);
+
if(matter!=null){
vo.setSpecification(matter.getSpecification());
vo.setUnit(matter.getUnit());
vo.setUnitPrice(matter.getUnitPrice());
}
+
list.add(vo);
}
saleCredit.setContractOutBoundList(list);
--
Gitblit v1.9.1