Selaa lähdekoodia

数电发票报销调整

sangwenwei 8 kuukautta sitten
vanhempi
commit
19a5aad2db
20 muutettua tiedostoa jossa 334 lisäystä ja 22 poistoa
  1. 35 4
      jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/reimbursement/reimbursementInfo/controller/ReimbursementInfoController.java
  2. 7 0
      jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/reimbursement/reimbursementInfo/mapper/ReimbursementInfoMapper.java
  3. 18 0
      jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/reimbursement/reimbursementInfo/mapper/xml/ReimbursementInfoMapper.xml
  4. 9 0
      jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/reimbursement/reimbursementInfo/service/ReimbursementInfoService.java
  5. 34 4
      jeeplus-modules/jeeplus-ccpm/src/main/java/com/jeeplus/ccpm/approvalInfo/controller/CcpmReimbursementInfoController.java
  6. 6 0
      jeeplus-modules/jeeplus-ccpm/src/main/java/com/jeeplus/ccpm/approvalInfo/mapper/CcpmReimbursementInfoMapper.java
  7. 18 0
      jeeplus-modules/jeeplus-ccpm/src/main/java/com/jeeplus/ccpm/approvalInfo/mapper/xml/CcpmReimbursementInfoMapper.xml
  8. 8 0
      jeeplus-modules/jeeplus-ccpm/src/main/java/com/jeeplus/ccpm/approvalInfo/service/CcpmReimbursementInfoService.java
  9. 35 4
      jeeplus-modules/jeeplus-centrecareful/src/main/java/com/jeeplus/centrecareful/approvalInfo/controller/ZsReimbursementInfoController.java
  10. 6 0
      jeeplus-modules/jeeplus-centrecareful/src/main/java/com/jeeplus/centrecareful/approvalInfo/mapper/ZsReimbursementInfoMapper.java
  11. 18 0
      jeeplus-modules/jeeplus-centrecareful/src/main/java/com/jeeplus/centrecareful/approvalInfo/mapper/xml/ZsReimbursementInfoMapper.xml
  12. 9 0
      jeeplus-modules/jeeplus-centrecareful/src/main/java/com/jeeplus/centrecareful/approvalInfo/service/ZsReimbursementInfoService.java
  13. 33 4
      jeeplus-modules/jeeplus-consult/src/main/java/com/jeeplus/consultancy/approvalInfo/controller/ConsultancyReimbursementInfoController.java
  14. 6 0
      jeeplus-modules/jeeplus-consult/src/main/java/com/jeeplus/consultancy/approvalInfo/mapper/ConsultancyReimbursementInfoMapper.java
  15. 20 2
      jeeplus-modules/jeeplus-consult/src/main/java/com/jeeplus/consultancy/approvalInfo/mapper/xml/ConsultancyReimbursementInfoMapper.xml
  16. 9 0
      jeeplus-modules/jeeplus-consult/src/main/java/com/jeeplus/consultancy/approvalInfo/service/ConsultancyReimbursementInfoService.java
  17. 34 4
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/reimbursementApproval/approvalInfo/controller/CwReimbursementInfoController.java
  18. 2 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/reimbursementApproval/approvalInfo/mapper/CwReimbursementInfoMapper.java
  19. 18 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/reimbursementApproval/approvalInfo/mapper/xml/CwReimbursementInfoMapper.xml
  20. 9 0
      jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/reimbursementApproval/approvalInfo/service/CwReimbursementInfoService.java

+ 35 - 4
jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/reimbursement/reimbursementInfo/controller/ReimbursementInfoController.java

@@ -26,10 +26,7 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @RestController
@@ -280,6 +277,40 @@ public class ReimbursementInfoController {
 
 
     /**
+     * 提交时根据发票号查询是否已经或正在报销
+     * @return
+     */
+    @ApiLog(value = "根据发票号查询是否已经或正在报销")
+    @GetMapping("getEffectiveDataByNumbers")
+    @ApiOperation(value = "根据发票号查询是否已经或正在报销")
+    public Map<String,Object> getEffectiveDataByNumbers(String invoiceNumber,String id){
+        Map map = new HashMap();
+        map.put("success",true);
+        map.put("message","数电发票正常");
+        if(org.apache.commons.lang3.StringUtils.isNotBlank(invoiceNumber)){
+            String[] array = invoiceNumber.split(",");
+            // 将数组转换为 List
+            List<String> numberList = Arrays.asList(array);
+            Set<String> set = new HashSet<>();
+            if(numberList.size()>0){
+                List<String> repetitionMessageList = service.getEffectiveDataByNumbers(numberList,id);
+                for (String vatTax : repetitionMessageList) {
+                    set.add(vatTax);
+                }
+            }
+            ArrayList<String> strings = Lists.newArrayList(set);
+            String result = String.join(",", strings);
+            if(result.length()>0){
+                map.put("success",false);
+                map.put("message","数电发票编号为:" + result + "已进行上报,无法重复上报");
+            }
+
+        }
+        return map;
+    }
+
+
+    /**
      * 根据发票号查询是否已经或正在报销
      * @return
      */

+ 7 - 0
jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/reimbursement/reimbursementInfo/mapper/ReimbursementInfoMapper.java

@@ -82,6 +82,13 @@ public interface ReimbursementInfoMapper extends BaseMapper<ReimbursementInfo> {
      * @return
      */
     Integer getEffectiveDataByInvoiceNumber(@Param("invoiceNumber") String invoiceNumber, @Param("id") String id);
+    /**
+     * 提交时根据发票号查询是否已经或正在报销
+     * @param invoiceNumber
+     * @return
+     */
+    List<String> getEffectiveDataByNumbers(@Param("invoiceNumber") List<String> invoiceNumber, @Param("id") String id);
+
 
     Integer deleteByIdAndNumber(@Param("invoiceNumber") String invoiceNumber, @Param("id") String id);
 

+ 18 - 0
jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/reimbursement/reimbursementInfo/mapper/xml/ReimbursementInfoMapper.xml

@@ -419,6 +419,24 @@
 				and a.info_id != #{id}
 			</if>
 			and ri.del_flag = 0
+			and (ri.type = '2' or ri.type = '5')
+		</where>
+	</select>
+
+	<select id="getEffectiveDataByNumbers" resultType="string">
+		select a.number as count from reimbursement_amount_info a
+		left join reimbursement_info ri on ri.id = a.info_id
+		<where>
+			a.number in
+			<foreach collection="invoiceNumber" item="number" index="index" open="(" close=")" separator=",">
+				#{number}
+			</foreach>
+			and a.del_flag = 0
+			<if test="id != null and id != ''">
+				and a.info_id != #{id}
+			</if>
+			and ri.del_flag = 0
+			and (ri.type = '2' or ri.type = '5')
 		</where>
 	</select>
 

+ 9 - 0
jeeplus-modules/jeeplus-assess/src/main/java/com/jeeplus/assess/reimbursement/reimbursementInfo/service/ReimbursementInfoService.java

@@ -1308,6 +1308,15 @@ public class ReimbursementInfoService {
     }
 
     /**
+     * 提交时根据发票号查询是否已经或正在报销
+     * @param invoiceNumber
+     * @return
+     */
+    public List<String> getEffectiveDataByNumbers(List<String> invoiceNumber,String id){
+        return infoMapper.getEffectiveDataByNumbers(invoiceNumber,id);
+    }
+
+    /**
      * 根据发票号查询是否已经或正在报销
      * @param invoiceNumber
      * @return

+ 34 - 4
jeeplus-modules/jeeplus-ccpm/src/main/java/com/jeeplus/ccpm/approvalInfo/controller/CcpmReimbursementInfoController.java

@@ -28,10 +28,7 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -298,6 +295,39 @@ public class CcpmReimbursementInfoController {
         return map;
     }
 
+    /**
+     * 提交时根据发票号查询是否已经或正在报销
+     * @return
+     */
+    @ApiLog(value = "根据发票号查询是否已经或正在报销")
+    @GetMapping("getEffectiveDataByNumbers")
+    @ApiOperation(value = "根据发票号查询是否已经或正在报销")
+    public Map<String,Object> getEffectiveDataByNumbers(String invoiceNumber,String id){
+        Map map = new HashMap();
+        map.put("success",true);
+        map.put("message","数电发票正常");
+        if(org.apache.commons.lang3.StringUtils.isNotBlank(invoiceNumber)){
+            String[] array = invoiceNumber.split(",");
+            // 将数组转换为 List
+            List<String> numberList = Arrays.asList(array);
+            Set<String> set = new HashSet<>();
+            if(numberList.size()>0){
+                List<String> repetitionMessageList = service.getEffectiveDataByNumbers(numberList,id);
+                for (String vatTax : repetitionMessageList) {
+                    set.add(vatTax);
+                }
+            }
+            ArrayList<String> strings = Lists.newArrayList(set);
+            String result = String.join(",", strings);
+            if(result.length()>0){
+                map.put("success",false);
+                map.put("message","数电发票编号为:" + result + "已进行上报,无法重复上报");
+            }
+
+        }
+        return map;
+    }
+
 
     /**
      * 根据发票号查询是否已经或正在报销

+ 6 - 0
jeeplus-modules/jeeplus-ccpm/src/main/java/com/jeeplus/ccpm/approvalInfo/mapper/CcpmReimbursementInfoMapper.java

@@ -61,6 +61,12 @@ public interface CcpmReimbursementInfoMapper extends BaseMapper<CcpmReimbursemen
      * @return
      */
     Integer getEffectiveDataByInvoiceNumber(@Param("invoiceNumber") String invoiceNumber, @Param("id") String id);
+    /**
+     * 提交时根据发票号查询是否已经或正在报销
+     * @param invoiceNumber
+     * @return
+     */
+    List<String> getEffectiveDataByNumbers(@Param("invoiceNumber") List<String> invoiceNumber, @Param("id") String id);
 
     Integer deleteByIdAndNumber(@Param("invoiceNumber") String invoiceNumber, @Param("id") String id);
 

+ 18 - 0
jeeplus-modules/jeeplus-ccpm/src/main/java/com/jeeplus/ccpm/approvalInfo/mapper/xml/CcpmReimbursementInfoMapper.xml

@@ -610,6 +610,24 @@
 				and a.info_id != #{id}
 			</if>
 			and ri.del_flag = 0
+			and (ri.type = '2' or ri.type = '5')
+		</where>
+	</select>
+
+	<select id="getEffectiveDataByNumbers" resultType="string">
+		select a.number as count from ccpm_reimbursement_amount_info a
+		left join ccpm_reimbursement_info ri on ri.id = a.info_id
+		<where>
+			a.number in
+			<foreach collection="invoiceNumber" item="number" index="index" open="(" close=")" separator=",">
+				#{number}
+			</foreach>
+			and a.del_flag = 0
+			<if test="id != null and id != ''">
+				and a.info_id != #{id}
+			</if>
+			and ri.del_flag = 0
+			and (ri.type = '2' or ri.type = '5')
 		</where>
 	</select>
 

+ 8 - 0
jeeplus-modules/jeeplus-ccpm/src/main/java/com/jeeplus/ccpm/approvalInfo/service/CcpmReimbursementInfoService.java

@@ -840,6 +840,14 @@ public class CcpmReimbursementInfoService {
     public Integer getEffectiveDataByInvoiceNumber(String invoiceNumber, String id){
         return infoMapper.getEffectiveDataByInvoiceNumber(invoiceNumber, id);
     }
+    /**
+     * 提交时根据发票号查询是否已经或正在报销
+     * @param invoiceNumber
+     * @return
+     */
+    public List<String> getEffectiveDataByNumbers(List<String> invoiceNumber,String id){
+        return infoMapper.getEffectiveDataByNumbers(invoiceNumber,id);
+    }
 
     /**
      * 根据发票号查询是否已经或正在报销

+ 35 - 4
jeeplus-modules/jeeplus-centrecareful/src/main/java/com/jeeplus/centrecareful/approvalInfo/controller/ZsReimbursementInfoController.java

@@ -26,10 +26,7 @@ import org.springframework.web.bind.annotation.*;
 import org.springframework.http.ResponseEntity;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -297,6 +294,40 @@ public class ZsReimbursementInfoController {
     }
 
     /**
+     * 提交时根据发票号查询是否已经或正在报销
+     * @return
+     */
+    @ApiLog(value = "根据发票号查询是否已经或正在报销")
+    @GetMapping("getEffectiveDataByNumbers")
+    @ApiOperation(value = "根据发票号查询是否已经或正在报销")
+    public Map<String,Object> getEffectiveDataByNumbers(String invoiceNumber,String id){
+        Map map = new HashMap();
+        map.put("success",true);
+        map.put("message","数电发票正常");
+        if(org.apache.commons.lang3.StringUtils.isNotBlank(invoiceNumber)){
+            String[] array = invoiceNumber.split(",");
+            // 将数组转换为 List
+            List<String> numberList = Arrays.asList(array);
+            Set<String> set = new HashSet<>();
+            if(numberList.size()>0){
+                List<String> repetitionMessageList = service.getEffectiveDataByNumbers(numberList,id);
+                for (String vatTax : repetitionMessageList) {
+                    set.add(vatTax);
+                }
+            }
+            ArrayList<String> strings = Lists.newArrayList(set);
+            String result = String.join(",", strings);
+            if(result.length()>0){
+                map.put("success",false);
+                map.put("message","数电发票编号为:" + result + "已进行上报,无法重复上报");
+            }
+
+        }
+        return map;
+    }
+
+
+    /**
      * 根据发票号查询是否已经或正在报销
      * @return
      */

+ 6 - 0
jeeplus-modules/jeeplus-centrecareful/src/main/java/com/jeeplus/centrecareful/approvalInfo/mapper/ZsReimbursementInfoMapper.java

@@ -63,6 +63,12 @@ public interface ZsReimbursementInfoMapper extends BaseMapper<ZsReimbursementInf
      * @return
      */
     Integer getEffectiveDataByInvoiceNumber(@Param("invoiceNumber") String invoiceNumber, @Param("id") String id);
+    /**
+     * 提交时根据发票号查询是否已经或正在报销
+     * @param invoiceNumber
+     * @return
+     */
+    List<String> getEffectiveDataByNumbers(@Param("invoiceNumber") List<String> invoiceNumber, @Param("id") String id);
 
     Integer deleteByIdAndNumber(@Param("invoiceNumber") String invoiceNumber, @Param("id") String id);
 

+ 18 - 0
jeeplus-modules/jeeplus-centrecareful/src/main/java/com/jeeplus/centrecareful/approvalInfo/mapper/xml/ZsReimbursementInfoMapper.xml

@@ -598,6 +598,24 @@
 				and a.info_id != #{id}
 			</if>
 			and ri.del_flag = 0
+			and (ri.type = '2' or ri.type = '5')
+		</where>
+	</select>
+
+	<select id="getEffectiveDataByNumbers" resultType="string">
+		select a.number as count from zs_reimbursement_amount_info a
+		left join zs_reimbursement_info ri on ri.id = a.info_id
+		<where>
+			a.number in
+			<foreach collection="invoiceNumber" item="number" index="index" open="(" close=")" separator=",">
+				#{number}
+			</foreach>
+			and a.del_flag = 0
+			<if test="id != null and id != ''">
+				and a.info_id != #{id}
+			</if>
+			and ri.del_flag = 0
+			and (ri.type = '2' or ri.type = '5')
 		</where>
 	</select>
 

+ 9 - 0
jeeplus-modules/jeeplus-centrecareful/src/main/java/com/jeeplus/centrecareful/approvalInfo/service/ZsReimbursementInfoService.java

@@ -889,6 +889,15 @@ public class ZsReimbursementInfoService {
     }
 
     /**
+     * 提交时根据发票号查询是否已经或正在报销
+     * @param invoiceNumber
+     * @return
+     */
+    public List<String> getEffectiveDataByNumbers(List<String> invoiceNumber,String id){
+        return infoMapper.getEffectiveDataByNumbers(invoiceNumber,id);
+    }
+
+    /**
      * 根据发票号查询是否已经或正在报销
      * @param invoiceNumber
      * @return

+ 33 - 4
jeeplus-modules/jeeplus-consult/src/main/java/com/jeeplus/consultancy/approvalInfo/controller/ConsultancyReimbursementInfoController.java

@@ -28,10 +28,7 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -296,6 +293,38 @@ public class ConsultancyReimbursementInfoController {
         }
         return map;
     }
+    /**
+     * 提交时根据发票号查询是否已经或正在报销
+     * @return
+     */
+    @ApiLog(value = "根据发票号查询是否已经或正在报销")
+    @GetMapping("getEffectiveDataByNumbers")
+    @ApiOperation(value = "根据发票号查询是否已经或正在报销")
+    public Map<String,Object> getEffectiveDataByNumbers(String invoiceNumber,String id){
+        Map map = new HashMap();
+        map.put("success",true);
+        map.put("message","数电发票正常");
+        if(org.apache.commons.lang3.StringUtils.isNotBlank(invoiceNumber)){
+            String[] array = invoiceNumber.split(",");
+            // 将数组转换为 List
+            List<String> numberList = Arrays.asList(array);
+            Set<String> set = new HashSet<>();
+            if(numberList.size()>0){
+                List<String> repetitionMessageList = service.getEffectiveDataByNumbers(numberList,id);
+                for (String vatTax : repetitionMessageList) {
+                    set.add(vatTax);
+                }
+            }
+            ArrayList<String> strings = Lists.newArrayList(set);
+            String result = String.join(",", strings);
+            if(result.length()>0){
+                map.put("success",false);
+                map.put("message","数电发票编号为:" + result + "已进行上报,无法重复上报");
+            }
+
+        }
+        return map;
+    }
 
 
     /**

+ 6 - 0
jeeplus-modules/jeeplus-consult/src/main/java/com/jeeplus/consultancy/approvalInfo/mapper/ConsultancyReimbursementInfoMapper.java

@@ -61,6 +61,12 @@ public interface ConsultancyReimbursementInfoMapper extends BaseMapper<Consultan
      * @return
      */
     Integer getEffectiveDataByInvoiceNumber(@Param("invoiceNumber") String invoiceNumber, @Param("id") String id);
+    /**
+     * 提交时根据发票号查询是否已经或正在报销
+     * @param invoiceNumber
+     * @return
+     */
+    List<String> getEffectiveDataByNumbers(@Param("invoiceNumber") List<String> invoiceNumber, @Param("id") String id);
 
     Integer deleteByIdAndNumber(@Param("invoiceNumber") String invoiceNumber, @Param("id") String id);
 

+ 20 - 2
jeeplus-modules/jeeplus-consult/src/main/java/com/jeeplus/consultancy/approvalInfo/mapper/xml/ConsultancyReimbursementInfoMapper.xml

@@ -602,14 +602,32 @@
 	</select>
 
 	<select id="getEffectiveDataByInvoiceNumber" resultType="java.lang.Integer">
-		select count(a.id) as count from ccpm_reimbursement_amount_info a
-		left join ccpm_reimbursement_info ri on ri.id = a.info_id
+		select count(a.id) as count from consultancy_reimbursement_amount_info a
+		left join consultancy_reimbursement_info ri on ri.id = a.info_id
 		<where>
 			a.number = #{invoiceNumber} and a.del_flag = 0
 			<if test="id != null and id != ''">
 				and a.info_id != #{id}
 			</if>
 			and ri.del_flag = 0
+			and (ri.type = '2' or ri.type = '5')
+		</where>
+	</select>
+
+	<select id="getEffectiveDataByNumbers" resultType="string">
+		select a.number as count from consultancy_reimbursement_amount_info a
+		left join consultancy_reimbursement_info ri on ri.id = a.info_id
+		<where>
+			a.number in
+			<foreach collection="invoiceNumber" item="number" index="index" open="(" close=")" separator=",">
+				#{number}
+			</foreach>
+			and a.del_flag = 0
+			<if test="id != null and id != ''">
+				and a.info_id != #{id}
+			</if>
+			and ri.del_flag = 0
+			and (ri.type = '2' or ri.type = '5')
 		</where>
 	</select>
 

+ 9 - 0
jeeplus-modules/jeeplus-consult/src/main/java/com/jeeplus/consultancy/approvalInfo/service/ConsultancyReimbursementInfoService.java

@@ -843,6 +843,15 @@ public class ConsultancyReimbursementInfoService {
     }
 
     /**
+     * 提交时根据发票号查询是否已经或正在报销
+     * @param invoiceNumber
+     * @return
+     */
+    public List<String> getEffectiveDataByNumbers(List<String> invoiceNumber,String id){
+        return infoMapper.getEffectiveDataByNumbers(invoiceNumber,id);
+    }
+
+    /**
      * 根据发票号查询是否已经或正在报销
      * @param invoiceNumber
      * @return

+ 34 - 4
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/reimbursementApproval/approvalInfo/controller/CwReimbursementInfoController.java

@@ -30,10 +30,7 @@ import org.springframework.http.ResponseEntity;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -405,6 +402,39 @@ public class CwReimbursementInfoController {
     }
 
     /**
+     * 提交时根据发票号查询是否已经或正在报销
+     * @return
+     */
+    @ApiLog(value = "根据发票号查询是否已经或正在报销")
+    @GetMapping("getEffectiveDataByNumbers")
+    @ApiOperation(value = "根据发票号查询是否已经或正在报销")
+    public Map<String,Object> getEffectiveDataByNumbers(String invoiceNumber,String id){
+        Map map = new HashMap();
+        map.put("success",true);
+        map.put("message","数电发票正常");
+        if(StringUtils.isNotBlank(invoiceNumber)){
+            String[] array = invoiceNumber.split(",");
+            // 将数组转换为 List
+            List<String> numberList = Arrays.asList(array);
+            Set<String> set = new HashSet<>();
+            if(numberList.size()>0){
+                List<String> repetitionMessageList = service.getEffectiveDataByNumbers(numberList,id);
+                for (String vatTax : repetitionMessageList) {
+                    set.add(vatTax);
+                }
+            }
+            ArrayList<String> strings = Lists.newArrayList(set);
+            String result = String.join(",", strings);
+            if(result.length()>0){
+                map.put("success",false);
+                map.put("message","数电发票编号为:" + result + "已进行上报,无法重复上报");
+            }
+
+        }
+        return map;
+    }
+
+    /**
      * 根据发票号查询是否已经或正在报销
      * @return
      */

+ 2 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/reimbursementApproval/approvalInfo/mapper/CwReimbursementInfoMapper.java

@@ -65,6 +65,8 @@ public interface CwReimbursementInfoMapper extends BaseMapper<CwReimbursementInf
      */
     Integer getEffectiveDataByInvoiceNumber(@Param("invoiceNumber") String invoiceNumber, @Param("id") String id);
 
+    List<String> getEffectiveDataByNumbers(@Param("invoiceNumber") List<String> invoiceNumber, @Param("id") String id);
+
     Integer deleteByIdAndNumber(@Param("invoiceNumber") String invoiceNumber, @Param("id") String id);
 
     @InterceptorIgnore(tenantLine = "true")

+ 18 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/reimbursementApproval/approvalInfo/mapper/xml/CwReimbursementInfoMapper.xml

@@ -575,6 +575,24 @@
 				and a.info_id != #{id}
 			</if>
 			and ri.del_flag = 0
+			and (ri.type = '2' or ri.type = '5')
+		</where>
+	</select>
+
+	<select id="getEffectiveDataByNumbers" resultType="string">
+		select a.number as count from cw_reimbursement_amount_info a
+		left join cw_reimbursement_info ri on ri.id = a.info_id
+		<where>
+			a.number in
+			<foreach collection="invoiceNumber" item="number" index="index" open="(" close=")" separator=",">
+				#{number}
+			</foreach>
+		 	and a.del_flag = 0
+			<if test="id != null and id != ''">
+				and a.info_id != #{id}
+			</if>
+			and ri.del_flag = 0
+			and (ri.type = '2' or ri.type = '5')
 		</where>
 	</select>
 

+ 9 - 0
jeeplus-modules/jeeplus-finance/src/main/java/com/jeeplus/finance/reimbursementApproval/approvalInfo/service/CwReimbursementInfoService.java

@@ -1152,6 +1152,15 @@ public class CwReimbursementInfoService {
     }
 
     /**
+     * 提交时根据发票号查询是否已经或正在报销
+     * @param invoiceNumber
+     * @return
+     */
+    public List<String> getEffectiveDataByNumbers(List<String> invoiceNumber,String id){
+        return infoMapper.getEffectiveDataByNumbers(invoiceNumber,id);
+    }
+
+    /**
      * 根据发票号查询是否已经或正在报销
      * @param invoiceNumber
      * @return