Przeglądaj źródła

rd导入新增名称限制

anderx 2 lat temu
rodzic
commit
48392e741c

+ 14 - 9
src/main/java/com/goafanti/RD/service/impl/RDServiceImpl.java

@@ -114,18 +114,23 @@ public class RDServiceImpl extends BaseMybatisDao<RdDetailsMapper> implements RD
         String aid=TokenManager.getAdminId();
         Date date =new Date();
         Map<String,Object> map=new HashMap<>();
-        List<InputExcelRdDetails> relust= new ArrayList<>();
+        int count=0;
         List<String>errors=new ArrayList<>();
         for (InputExcelRdDetails in : list) {
-            relust.add(in);
-        }
-        for (InputExcelRdDetails in : relust) {
-            in.setStatus(1);
-            in.setAid(aid);
-            in.setCreateTime(date);
+            int i = rdDetailsMapper.selectByRDName(in.getRdName());
+            if (i==0){
+                in.setStatus(1);
+                in.setAid(aid);
+                in.setCreateTime(date);
+                count++;
+                rdDetailsMapper.insertSelective(in);
+            }else {
+                errors.add(String.format("名称[%s]导入失败,名称已存在!",in.getRdName()));
+            }
         }
-        if (relust.size()>0)insertBatch(relust);
-        map.put("OK",relust.size());
+
+//        if (relust.size()>0)insertBatch(relust);
+        map.put("OK",count);
         map.put("ERROR",errors);
         return map;
     }

+ 2 - 0
src/main/java/com/goafanti/common/dao/RdDetailsMapper.java

@@ -33,4 +33,6 @@ public interface RdDetailsMapper {
      * @return
      */
     int updateBrowseOrDownload(@Param("id")Long id, @Param("type")Integer type);
+
+    int selectByRDName(String rdName);
 }

+ 7 - 1
src/main/java/com/goafanti/common/mapper/RdDetailsMapper.xml

@@ -341,7 +341,8 @@
       and a.aid =#{aid}
     </if>
   </select>
-  <insert id="insertBatch">
+
+    <insert id="insertBatch">
     insert into rd_details (user_name, rd_no, ip_no,
                             rd_name, rd_start, rd_end,
                             technical_field, technology_source, total_amount,
@@ -373,4 +374,9 @@
     </set>
   </update>
 
+  <select id="selectByRDName" parameterType="java.lang.String" resultType="java.lang.Integer">
+    select count(*) from rd_details
+    where rd_name= #{rdName}
+  </select>
+
 </mapper>