From 07106653bed54c7f8903a99040660801a77f24a6 Mon Sep 17 00:00:00 2001
From: jiangxiaoming <7548901@qq.com>
Date: Sat, 12 Oct 2024 16:33:18 +0800
Subject: [PATCH] 77

---
 .../application/command/dto/CompleteInvoiceCmd.java    |  3 +--
 .../interfaces/controller/api/InvoiceController.java   |  2 +-
 .../command/InvoiceCommandServieceImpl.java            | 10 +++++++---
 .../command/api/InvoiceCommandServiece.java            |  2 +-
 .../command/assembler/InvoiceAssembler.java            |  5 +++--
 .../interfaces/controller/InvoiceControllerImpl.java   |  2 +-
 6 files changed, 14 insertions(+), 10 deletions(-)

diff --git a/ServiceSite/facade/src/main/java/com/seasky/ledgerincome/application/command/dto/CompleteInvoiceCmd.java b/ServiceSite/facade/src/main/java/com/seasky/ledgerincome/application/command/dto/CompleteInvoiceCmd.java
index 18490e8c..35d6eaf3 100644
--- a/ServiceSite/facade/src/main/java/com/seasky/ledgerincome/application/command/dto/CompleteInvoiceCmd.java
+++ b/ServiceSite/facade/src/main/java/com/seasky/ledgerincome/application/command/dto/CompleteInvoiceCmd.java
@@ -14,9 +14,8 @@ public class CompleteInvoiceCmd {
     private String invoiceNo;
     @ApiModelProperty(value = "鍙戠エ浠g爜")
     private String invoiceCode;
-    @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", timezone = "UTC")
     @ApiModelProperty(value = "寮€绁ㄦ棩鏈�")
-    private Date invoiceDate;
+    private String invoiceDate;
     @ApiModelProperty(value = "鏀舵id",required = true)
     public  Long incomeId;
 }
diff --git a/ServiceSite/facade/src/main/java/com/seasky/ledgerincome/interfaces/controller/api/InvoiceController.java b/ServiceSite/facade/src/main/java/com/seasky/ledgerincome/interfaces/controller/api/InvoiceController.java
index 2b01aa39..ac34c1f8 100644
--- a/ServiceSite/facade/src/main/java/com/seasky/ledgerincome/interfaces/controller/api/InvoiceController.java
+++ b/ServiceSite/facade/src/main/java/com/seasky/ledgerincome/interfaces/controller/api/InvoiceController.java
@@ -71,7 +71,7 @@ public interface InvoiceController {
     Result<Object>   autoInvoiceIncome();
     @ApiOperation("瀹屾垚寮€绁�")
     @PostMapping("/completeInvoice")
-    Result<Object> completeInvoice(@RequestBody CompleteInvoiceCmd cmd);
+    Result<Object> completeInvoice(@RequestBody CompleteInvoiceCmd cmd) throws ParseException;
     @ApiOperation("鍙戠エ瀵煎叆妯℃澘涓嬭浇")
     @RequestMapping("/exportInvoiceTemplate")
     void exportInvoiceTemplate(
diff --git a/ServiceSite/src/main/java/com/seasky/ledgerincome/application/command/InvoiceCommandServieceImpl.java b/ServiceSite/src/main/java/com/seasky/ledgerincome/application/command/InvoiceCommandServieceImpl.java
index 57b084f4..37465196 100644
--- a/ServiceSite/src/main/java/com/seasky/ledgerincome/application/command/InvoiceCommandServieceImpl.java
+++ b/ServiceSite/src/main/java/com/seasky/ledgerincome/application/command/InvoiceCommandServieceImpl.java
@@ -117,7 +117,7 @@ public class InvoiceCommandServieceImpl extends BaseCommandAbstractService<Invoi
         if(!Objects.isNull(cmd.getInvoiceId()))
         {
             Date invoiceDate=  null;
-            if(cmd.getInvoiceDate()!=null){
+            if(!StringUtils.isEmpty(cmd.getInvoiceDate())){
                 invoiceDate = new SimpleDateFormat("yyyy-MM-dd").parse(cmd.getInvoiceDate());
             }
           invoiceAggergate.changeBaseInfo(cmd.getInvoiceId(), cmd.getBuyerName(),
@@ -669,10 +669,14 @@ public class InvoiceCommandServieceImpl extends BaseCommandAbstractService<Invoi
 
     @Transactional
     @Override
-    public void completeInvoice(CompleteInvoiceCmd cmd) {
+    public void completeInvoice(CompleteInvoiceCmd cmd) throws ParseException {
         InvoiceAggergate invoiceAggergate=findById(cmd.getInvoiceId());
         invoiceAggergate.changeState();
-        invoiceAggergate.changeCInvoice(cmd.getInvoiceNo(),cmd.getInvoiceCode(),cmd.getInvoiceDate());
+        Date invoiceDate = null;
+        if(!StringUtils.isEmpty(cmd.getInvoiceDate())){
+            invoiceDate = new SimpleDateFormat("yyyy-MM-dd").parse(cmd.getInvoiceDate());
+        }
+        invoiceAggergate.changeCInvoice(cmd.getInvoiceNo(),cmd.getInvoiceCode(),invoiceDate);
         invoiceRepository.save(invoiceAggergate);
         IncomeAggregate incomeAggregate=incomeRepository.findById(cmd.getIncomeId());
         incomeAggregate.changeIncomeSpeed(IncomeSpeedEnum.鍏ヨ处.getValue());
diff --git a/ServiceSite/src/main/java/com/seasky/ledgerincome/application/command/api/InvoiceCommandServiece.java b/ServiceSite/src/main/java/com/seasky/ledgerincome/application/command/api/InvoiceCommandServiece.java
index 75e75c30..1a695bf0 100644
--- a/ServiceSite/src/main/java/com/seasky/ledgerincome/application/command/api/InvoiceCommandServiece.java
+++ b/ServiceSite/src/main/java/com/seasky/ledgerincome/application/command/api/InvoiceCommandServiece.java
@@ -28,5 +28,5 @@ public interface InvoiceCommandServiece {
 
     // 棰勫垎閰嶇‘璁ゅ姛鑳戒腑锛屽鍔犱竴涓嚜鍔ㄥ尮閰嶉寮€绁ㄥ姛鑳斤紝鑰佸笀鐐逛竴涓嬩箣鍚庯紝鍙互鏍规嵁瀵规柟璐﹀彿锛岄噾棰濊嚜鍔ㄥ叧鑱斿埌鏀舵鍥炲崟涓�
     void autoInvoiceIncome();
-    void    completeInvoice(CompleteInvoiceCmd cmd);
+    void    completeInvoice(CompleteInvoiceCmd cmd) throws ParseException;
 }
diff --git a/ServiceSite/src/main/java/com/seasky/ledgerincome/application/command/assembler/InvoiceAssembler.java b/ServiceSite/src/main/java/com/seasky/ledgerincome/application/command/assembler/InvoiceAssembler.java
index def6e8c1..7325bf2f 100644
--- a/ServiceSite/src/main/java/com/seasky/ledgerincome/application/command/assembler/InvoiceAssembler.java
+++ b/ServiceSite/src/main/java/com/seasky/ledgerincome/application/command/assembler/InvoiceAssembler.java
@@ -6,6 +6,7 @@ import com.seasky.ledgerincome.domain.aggregate.invoice.InvoiceAggergate;
 import com.seasky.ledgerincome.domain.aggregate.invoice.InvoiceDetailEntity;
 import com.seasky.ledgerincome.domain.value.InvoiceDetailVo;
 import com.seasky.ledgerincome.interfaces.controller.excel.InvoiceTemplate;
+import io.seata.common.util.StringUtils;
 
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
@@ -33,7 +34,7 @@ public class InvoiceAssembler {
     public  static InvoiceAggergate toInvoiceAggergate(CreateInvoiceCmd cmd)
     {
         Date invoiceDate = null;
-        if(cmd.getInvoiceDate()!=null){
+        if(!StringUtils.isEmpty(cmd.getInvoiceDate())){
             try{
                 invoiceDate = new SimpleDateFormat("yyyy-MM-dd").parse(cmd.getInvoiceDate());
             }catch (Exception e){
@@ -51,7 +52,7 @@ public class InvoiceAssembler {
     public  static InvoiceAggergate toInvoiceAggergate(SaveInvoiceCmd cmd)
     {
         Date invoiceDate = null;
-        if(cmd.getInvoiceDate()!=null){
+        if(!StringUtils.isEmpty(cmd.getInvoiceDate())){
             try{
                 invoiceDate = new SimpleDateFormat("yyyy-MM-dd").parse(cmd.getInvoiceDate());
             }catch (Exception e){
diff --git a/ServiceSite/src/main/java/com/seasky/ledgerincome/interfaces/controller/InvoiceControllerImpl.java b/ServiceSite/src/main/java/com/seasky/ledgerincome/interfaces/controller/InvoiceControllerImpl.java
index 8c8e751e..6b12d76a 100644
--- a/ServiceSite/src/main/java/com/seasky/ledgerincome/interfaces/controller/InvoiceControllerImpl.java
+++ b/ServiceSite/src/main/java/com/seasky/ledgerincome/interfaces/controller/InvoiceControllerImpl.java
@@ -152,7 +152,7 @@ public class InvoiceControllerImpl extends BaseControllerImpl implements Invoice
     }
 
     @Override
-    public Result<Object> completeInvoice(CompleteInvoiceCmd cmd) {
+    public Result<Object> completeInvoice(CompleteInvoiceCmd cmd) throws ParseException {
          command.completeInvoice(cmd);
         return Response.success();
     }
-- 
GitLab