Переглянути джерело

评估、财务的发票收款调整

lizhenhao 2 роки тому
батько
коміт
d87880701a

+ 6 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/invoice/mapper/CwFinanceInvoiceMapper.java

@@ -26,6 +26,12 @@ public interface CwFinanceInvoiceMapper extends BaseMapper<CwFinanceInvoice> {
     public List<String> getIdByContractId(@Param("id") String id);
 
     public List<String> getIdByClientId(@Param("id") String id);
+
+    /**
+     * 根据发票id清空发票的收款日期
+     * @param id
+     */
+    void setReceivablesDateNull(@Param("id") String id);
 }
 
 

+ 4 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/invoice/mapper/xml/CwFinanceInvoiceMapper.xml

@@ -299,4 +299,8 @@
         from cw_finance_invoice cw_fi
         where cw_fi.del_flag = '0' and cw_fi.billing_workplace_real_id = #{id}
     </select>
+
+    <update id="setReceivablesDateNull" parameterType="string">
+        update cw_finance_invoice set receivables_date = null where id = #{id}
+    </update>
 </mapper>

+ 9 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/invoice/service/CwFinanceInvoiceService.java

@@ -38,7 +38,7 @@ import java.util.concurrent.atomic.AtomicInteger;
 import java.util.stream.Collectors;
 
 @Service
-@Transactional
+@Transactional(rollbackFor = Exception.class)
 public class CwFinanceInvoiceService extends ServiceImpl<CwFinanceInvoiceMapper, CwFinanceInvoice> {
 
     @Resource
@@ -301,6 +301,14 @@ public class CwFinanceInvoiceService extends ServiceImpl<CwFinanceInvoiceMapper,
         this.saveOrUpdate(cwFinanceInvoice);
 
         if (ObjectUtil.isNotEmpty(cwFinanceInvoiceDTO)) {
+            // 如果当前是执行的是收款页面的保存方法
+            if ("1".equals(cwFinanceInvoiceDTO.getIsReceivables())) {
+                // 如果传过来的收款日期为空,则将本条发票的收款日期置空
+                if (ObjectUtil.isEmpty(cwFinanceInvoiceDTO.getReceivablesDate())) {
+                    // 根据发票id,置空发票的收款日期
+                    cwFinanceInvoiceMapper.setReceivablesDateNull(cwFinanceInvoice.getId());
+                }
+            }
             // 基本信息保存
             if(CollectionUtil.isNotEmpty(cwFinanceInvoiceDTO.getFinanceInvoiceBaseDTOList())){
                 List<String> delIds = cwFinanceInvoiceDTO.getFinanceInvoiceBaseDTOList().stream().distinct().filter(item->{

+ 5 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/invoice/service/dto/CwFinanceInvoiceDTO.java

@@ -299,5 +299,10 @@ public class CwFinanceInvoiceDTO extends BaseDTO {
      */
     private List<String> auditUserIdsInvalid;
 
+    /**
+     * 是否为收款页面   0否  1是
+     */
+    private String isReceivables;
+
     private static final long serialVersionUID = 1L;
 }

+ 8 - 2
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/finance/invoice/mapper/FinanceInvoiceMapper.java

@@ -18,9 +18,15 @@ import org.apache.ibatis.annotations.Param;
 @Mapper
 public interface FinanceInvoiceMapper extends BaseMapper<FinanceInvoice> {
 
-    public IPage<FinanceInvoiceDTO> findList(Page<FinanceInvoiceDTO> page, @Param(Constants.WRAPPER) QueryWrapper<FinanceInvoice> queryWrapper);
+    IPage<FinanceInvoiceDTO> findList(Page<FinanceInvoiceDTO> page, @Param(Constants.WRAPPER) QueryWrapper<FinanceInvoice> queryWrapper);
 
-    public FinanceInvoiceDTO queryById(@Param("id") String id);
+    FinanceInvoiceDTO queryById(@Param("id") String id);
+
+    /**
+     * 根据发票id清空发票的收款日期
+     * @param id
+     */
+    void setReceivablesDateNull(@Param("id") String id);
 }
 
 

+ 4 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/finance/invoice/mapper/xml/FinanceInvoiceMapper.xml

@@ -217,4 +217,8 @@
         from finance_invoice fi
         where fi.del_flag = '0' and fi.id = ${id}
     </select>
+
+    <update id="setReceivablesDateNull" parameterType="string">
+        update finance_invoice set receivables_date = null where id = #{id}
+    </update>
 </mapper>

+ 9 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/finance/invoice/service/FinanceInvoiceService.java

@@ -40,7 +40,7 @@ import java.util.concurrent.atomic.AtomicReference;
 import java.util.stream.Collectors;
 
 @Service
-@Transactional
+@Transactional(rollbackFor = Exception.class)
 public class FinanceInvoiceService extends ServiceImpl<FinanceInvoiceMapper, FinanceInvoice> {
 
     @Resource
@@ -361,6 +361,14 @@ public class FinanceInvoiceService extends ServiceImpl<FinanceInvoiceMapper, Fin
         }
         this.saveOrUpdate(financeInvoice);
         if (ObjectUtil.isNotEmpty(financeInvoiceDTO)) {
+            // 如果当前是执行的是收款页面的保存方法
+            if ("1".equals(financeInvoiceDTO.getIsReceivables())) {
+                // 如果传过来的收款日期为空,则将本条发票的收款日期置空
+                if (ObjectUtil.isEmpty(financeInvoiceDTO.getReceivablesDate())) {
+                    // 根据发票id,置空发票的收款日期
+                    financeInvoiceMapper.setReceivablesDateNull(financeInvoice.getId());
+                }
+            }
             // 基本信息保存
             if(CollectionUtil.isNotEmpty(financeInvoiceDTO.getFinanceInvoiceBaseDTOList())){
                 List<String> delIds = financeInvoiceDTO.getFinanceInvoiceBaseDTOList().stream().distinct().filter(item->{

+ 5 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/finance/invoice/service/dto/FinanceInvoiceDTO.java

@@ -280,5 +280,10 @@ public class FinanceInvoiceDTO extends BaseDTO {
      */
     private String programId;
 
+    /**
+     * 是否为收款页面   0否  1是
+     */
+    private String isReceivables;
+
     private static final long serialVersionUID = 1L;
 }