Przeglądaj źródła

结算表上传时应收表中没有的车辆可以提示

haoyu 2 lat temu
rodzic
commit
98897136b3

+ 9 - 5
src/main/java/com/ydtech/modules/inv/dao/InvSettlementSourceMapper.java

@@ -2,15 +2,19 @@ package com.ydtech.modules.inv.dao;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ydtech.modules.inv.model.po.InvSettlementSource;
 import com.ydtech.modules.inv.model.po.InvSettlementSource;
+import com.ydtech.modules.inv.model.po.InvSource;
+
+import java.util.List;
 
 
 /**
 /**
-* @author Administrator
-* @description 针对表【inv_settlement_source(结算来源表)】的数据库操作Mapper
-* @createDate 2024-01-20 10:28:34
-* @Entity com.ydtech.modules.inv.model.po.InvSettlementSource
-*/
+ * @author Administrator
+ * @description 针对表【inv_settlement_source(结算来源表)】的数据库操作Mapper
+ * @createDate 2024-01-20 10:28:34
+ * @Entity com.ydtech.modules.inv.model.po.InvSettlementSource
+ */
 public interface InvSettlementSourceMapper extends BaseMapper<InvSettlementSource> {
 public interface InvSettlementSourceMapper extends BaseMapper<InvSettlementSource> {
 
 
+    List<String> getReceivableListByLicenseno(List<String> namesList);
 }
 }
 
 
 
 

+ 2 - 0
src/main/java/com/ydtech/modules/inv/service/InvReceivableService.java

@@ -58,4 +58,6 @@ public interface InvReceivableService {
     List<String> dataMatching();
     List<String> dataMatching();
 
 
     Boolean deleteSettlement(String[] ids);
     Boolean deleteSettlement(String[] ids);
+
+    List<String> getReceivableListByLicenseno(List<String> namesList);
 }
 }

+ 29 - 2
src/main/java/com/ydtech/modules/inv/service/impl/InvSettlementSourceServiceImpl.java

@@ -10,7 +10,9 @@ import com.ydtech.modules.base.controller.BaseController;
 import com.ydtech.modules.inv.dao.InvSettlementSourceMapper;
 import com.ydtech.modules.inv.dao.InvSettlementSourceMapper;
 import com.ydtech.modules.inv.model.excel.InvSettlementSourceExcel;
 import com.ydtech.modules.inv.model.excel.InvSettlementSourceExcel;
 import com.ydtech.modules.inv.model.po.InvSettlementSource;
 import com.ydtech.modules.inv.model.po.InvSettlementSource;
+import com.ydtech.modules.inv.model.po.InvSource;
 import com.ydtech.modules.inv.service.InvChannelAccountService;
 import com.ydtech.modules.inv.service.InvChannelAccountService;
+import com.ydtech.modules.inv.service.InvReceivableService;
 import com.ydtech.modules.inv.service.InvSettlementSourceService;
 import com.ydtech.modules.inv.service.InvSettlementSourceService;
 import com.ydtech.modules.inv.utils.EasyExcelUtils;
 import com.ydtech.modules.inv.utils.EasyExcelUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -19,6 +21,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 
 
 import java.util.List;
 import java.util.List;
+import java.util.stream.Collectors;
 
 
 /**
 /**
 * @author Administrator
 * @author Administrator
@@ -27,10 +30,13 @@ import java.util.List;
 */
 */
 @Service
 @Service
 public class InvSettlementSourceServiceImpl extends ServiceImpl<InvSettlementSourceMapper, InvSettlementSource>
 public class InvSettlementSourceServiceImpl extends ServiceImpl<InvSettlementSourceMapper, InvSettlementSource>
-    implements InvSettlementSourceService {
+        implements InvSettlementSourceService {
     @Autowired
     @Autowired
     private InvSettlementSourceService invSettlementSourceService;
     private InvSettlementSourceService invSettlementSourceService;
 
 
+    @Autowired
+    private InvReceivableService invReceivableService;
+
     @Autowired
     @Autowired
     private InvChannelAccountService invChannelAccountService;
     private InvChannelAccountService invChannelAccountService;
 
 
@@ -40,8 +46,29 @@ public class InvSettlementSourceServiceImpl extends ServiceImpl<InvSettlementSou
     @Override
     @Override
     public HttpResult readInvSettlementSourceExcel(String file) {
     public HttpResult readInvSettlementSourceExcel(String file) {
         List<InvSettlementSourceExcel> invSettlementSourceExcels = EasyExcelUtils.readInvSettlementSourceExcelExcel(uploadFilePath + file, InvSettlementSourceExcel.class);
         List<InvSettlementSourceExcel> invSettlementSourceExcels = EasyExcelUtils.readInvSettlementSourceExcelExcel(uploadFilePath + file, InvSettlementSourceExcel.class);
-        List<InvSettlementSource> invSettlementSources = JSONArray.parseArray(JSONArray.toJSONString(invSettlementSourceExcels),InvSettlementSource.class);
+        List<InvSettlementSource> invSettlementSources = JSONArray.parseArray(JSONArray.toJSONString(invSettlementSourceExcels), InvSettlementSource.class);
+
+        List<String> namesList = invSettlementSources.stream()
+                .map(InvSettlementSource::getLicenseno)
+                .collect(Collectors.toList());
+
+        StringBuilder licensenos = new StringBuilder();
+        if (namesList.size() > 0) {
+            List<String> receivableLicensenos = invReceivableService.getReceivableListByLicenseno(namesList);
+            for (InvSettlementSource invSettlementSource : invSettlementSources) {
+                if (!receivableLicensenos.contains(invSettlementSource.getLicenseno())) {
+                    licensenos.append(invSettlementSource.getLicenseno());
+                    licensenos.append(",");
+                }
+            }
+        }
+
         boolean result = invSettlementSourceService.saveOrUpdateBatchWithConditions(invSettlementSources);
         boolean result = invSettlementSourceService.saveOrUpdateBatchWithConditions(invSettlementSources);
+
+        if (licensenos.length() > 0) {
+            licensenos.append("未在应收表中查询到对应车牌号");
+            return result ? HttpResult.ok("导入成功", licensenos.toString()) : HttpResult.error("导入失败");
+        }
         return result ? HttpResult.ok("导入成功") : HttpResult.error("导入失败");
         return result ? HttpResult.ok("导入成功") : HttpResult.error("导入失败");
     }
     }
 
 

+ 7 - 0
src/main/resources/mapper/modules/inv/InvSettlementSourceMapper.xml

@@ -39,4 +39,11 @@
         compulsory_export_ratio,commercial_export_ratio,non_vehicle_export_ratio,
         compulsory_export_ratio,commercial_export_ratio,non_vehicle_export_ratio,
         settlement_amount,agency_settlement_time,revenue_time,revenue_name,revenue_userid
         settlement_amount,agency_settlement_time,revenue_time,revenue_name,revenue_userid
     </sql>
     </sql>
+    <select id="getReceivableListByLicenseno" resultType="java.lang.String">
+        select licenseno from inv_source where  licenseno in
+        <foreach collection="namesList" item="item" open="(" separator="," close=")">
+            #{item}
+        </foreach>
+    </select>
+
 </mapper>
 </mapper>