瀏覽代碼

开票逻辑优化

ljy121 1 年之前
父節點
當前提交
375687eea1

+ 4 - 7
zjugis-business/src/main/java/com/zjugis/business/bean/entity/ContractInvoiceRelation.java

@@ -1,8 +1,9 @@
 package com.zjugis.business.bean.entity;
 
-import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.zjugis.business.mybatis.entity.BaseEntity;
 import lombok.Data;
-import org.apache.ibatis.type.JdbcType;
 
 import java.math.BigDecimal;
 
@@ -12,7 +13,7 @@ import java.math.BigDecimal;
  * @date 2024/3/7 11:20
  */
 @Data
-public class ContractInvoiceRelation {
+public class ContractInvoiceRelation extends BaseEntity {
 
     @TableId(type = IdType.ASSIGN_UUID)
     private String id;
@@ -25,9 +26,5 @@ public class ContractInvoiceRelation {
 
     private BigDecimal returnAmount;
 
-    @TableLogic(value = "1",delval = "0")
-    @TableField(fill = FieldFill.INSERT, jdbcType = JdbcType.NUMERIC)
-    private Integer isvalid;
-
     private Integer contractType;
 }

+ 2 - 0
zjugis-business/src/main/java/com/zjugis/business/bean/response/ContractResponse.java

@@ -202,6 +202,8 @@ public class ContractResponse {
 
     private Integer isSign;
 
+    private Integer signWay;
+
     private Integer isBusinessUnit;
 
     private List<ContractChildResponse> children;

+ 0 - 16
zjugis-business/src/main/java/com/zjugis/business/flow/contractinvoice/event/ContractInvoiceEvent.java

@@ -1,8 +1,6 @@
 package com.zjugis.business.flow.contractinvoice.event;
 
-import com.zjugis.business.bean.entity.Contract;
 import com.zjugis.business.bean.entity.ContractInvoice;
-import com.zjugis.business.bean.entity.ContractInvoiceRelation;
 import com.zjugis.business.constants.FlowStatusConstants;
 import com.zjugis.business.flow.contractinvoice.service.FlowContractInvoiceService;
 import com.zjugis.business.service.ContractInvoiceRelationService;
@@ -24,7 +22,6 @@ import org.springframework.web.bind.annotation.RestController;
 import javax.annotation.Resource;
 import java.time.LocalDateTime;
 import java.util.Arrays;
-import java.util.List;
 import java.util.Map;
 import java.util.Objects;
 
@@ -97,7 +94,6 @@ public class ContractInvoiceEvent extends BaseController {
                 entity.setFlowStatus(FlowStatusConstants.FLOW_FINISHED);
                 entity.setFlowFinishtime(LocalDateTime.now());
                 flowContractInvoiceService.updateById(entity);
-                insertContractInvoiceRelation(entity);
                 return ok("true");
             } else {
                 throw new BusinessException("执行事件出错,请联系管理员!");
@@ -108,18 +104,6 @@ public class ContractInvoiceEvent extends BaseController {
         }
     }
 
-    private void insertContractInvoiceRelation(ContractInvoice contractInvoice) {
-        List<Contract> contracts = contractService.selectVirtualList(contractInvoice.getContractId());
-        contracts.forEach(item -> {
-            ContractInvoiceRelation relation = new ContractInvoiceRelation();
-            relation.setContractId(contractInvoice.getContractId());
-            relation.setContractInvoiceId(contractInvoice.getId());
-            relation.setContractType(item.getContractType());
-            contractInvoiceRelationService.insert(relation);
-        });
-
-    }
-
 
     /**
      * 作废事件

+ 19 - 4
zjugis-business/src/main/java/com/zjugis/business/service/impl/ContractInvoiceServiceImpl.java

@@ -6,15 +6,13 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.zjugis.business.bean.dto.ContractInvoiceDto;
 import com.zjugis.business.bean.entity.Contract;
 import com.zjugis.business.bean.entity.ContractInvoice;
+import com.zjugis.business.bean.entity.ContractInvoiceRelation;
 import com.zjugis.business.bean.entity.Customer;
 import com.zjugis.business.bean.response.ContractInvoiceResponse;
 import com.zjugis.business.bean.response.ContractInvoiceStaticsRespense;
 import com.zjugis.business.constants.FlowStatusConstants;
 import com.zjugis.business.mapper.ContractInvoiceMapper;
-import com.zjugis.business.service.ContractInvoiceService;
-import com.zjugis.business.service.ContractMilestoneService;
-import com.zjugis.business.service.ContractService;
-import com.zjugis.business.service.CustomerService;
+import com.zjugis.business.service.*;
 import com.zjugis.framework.common.exception.ServiceException;
 import com.zjugis.framework.common.pojo.CommonResult;
 import com.zjugis.framework.security.core.util.SecurityFrameworkUtils;
@@ -25,6 +23,7 @@ import com.zjugis.module.system.api.user.AdminUserApi;
 import com.zjugis.module.system.api.user.dto.AdminUserRespDTO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.time.LocalDate;
 import java.util.List;
@@ -53,6 +52,9 @@ public class ContractInvoiceServiceImpl implements ContractInvoiceService {
     @Autowired
     ContractMilestoneService contractMilestoneService;
 
+    @Autowired
+    ContractInvoiceRelationService contractInvoiceRelationService;
+
     @Autowired
     AdminUserApi adminUserApi;
 
@@ -105,6 +107,7 @@ public class ContractInvoiceServiceImpl implements ContractInvoiceService {
      * @return
      */
     @Override
+    @Transactional
     public String process(String contractId) {
         Contract contract = contractService.selectByPrimaryKey(contractId);
         if(contract == null){
@@ -142,9 +145,21 @@ public class ContractInvoiceServiceImpl implements ContractInvoiceService {
         invoice.setApplyDate(LocalDate.now());
         contract.setFlowStatus(FlowStatusConstants.FLOW_NOT_START);
         insert(invoice);
+        insertContractInvoiceRelation(invoice);
         return returnUrl;
     }
 
+    private void insertContractInvoiceRelation(ContractInvoice contractInvoice) {
+        List<Contract> contracts = contractService.selectVirtualList(contractInvoice.getContractId());
+        contracts.forEach(item -> {
+            ContractInvoiceRelation relation = new ContractInvoiceRelation();
+            relation.setContractId(item.getId());
+            relation.setContractInvoiceId(contractInvoice.getId());
+            relation.setContractType(item.getContractType());
+            contractInvoiceRelationService.insert(relation);
+        });
+    }
+
     /**
      * @param id
      * @return