Browse Source

微信通知fix

duyj 3 years ago
parent
commit
685eff44af

+ 2 - 0
suishenbang-order/src/main/java/com/dgtly/order/mapper/BpmWxNoticeOrgMapper.java

@@ -61,6 +61,8 @@ public interface BpmWxNoticeOrgMapper
      */
     public int deleteBpmWxNoticeOrgByIds(String[] ids);
 
+    int deleteBpmWxNoticeOrgAll();
+
     String selectMetaDiySalesorgtreeOrgCode(String orgName);
 
     BpmWxNoticeOrg selectBpmWxNoticeOrgByAccount(String account);

+ 19 - 7
suishenbang-order/src/main/java/com/dgtly/order/service/impl/BpmWxNoticeOrgServiceImpl.java

@@ -1,5 +1,6 @@
 package com.dgtly.order.service.impl;
 
+import java.util.ArrayList;
 import java.util.List;
 
 import com.dgtly.common.exception.BusinessException;
@@ -119,11 +120,13 @@ public class BpmWxNoticeOrgServiceImpl implements IBpmWxNoticeOrgService
         StringBuilder successMsg = new StringBuilder();
         StringBuilder failureMsg = new StringBuilder();
 
+        List<BpmWxNoticeOrg> addList = new ArrayList<>();
+
         for (BpmWxNoticeOrg bn: wxNoticeOrgList) {
             try {
                 /*验证用户是否存*/
-                BpmWxNoticeOrg wxNoticeOrg = bpmWxNoticeOrgMapper.selectBpmWxNoticeOrgByAccount(bn.getAccount());
-                if(StringUtils.isNull(wxNoticeOrg)){
+//                BpmWxNoticeOrg wxNoticeOrg = bpmWxNoticeOrgMapper.selectBpmWxNoticeOrgByAccount(bn.getAccount());
+//                if(StringUtils.isNull(wxNoticeOrg)){
                     /*查询orgcode*/
                     String orgcode =  bpmWxNoticeOrgMapper.selectMetaDiySalesorgtreeOrgCode(bn.getOrgName());
                     /*查询用户名*/
@@ -132,17 +135,18 @@ public class BpmWxNoticeOrgServiceImpl implements IBpmWxNoticeOrgService
                         bn.setOrgCode(orgcode);
                         bn.setUserName(user.getUserName());
                         bn.setCreateBy(operName);
-                        insertBpmWxNoticeOrg(bn);
+//                        insertBpmWxNoticeOrg(bn);
+                        addList.add(bn);
                         successNum++;
                         successMsg.append("<br/>" + successNum + "、账号 " + bn.getAccount() + " 导入成功");
                     }else{
                         failureNum++;
                         failureMsg.append("<br/>" + failureNum + "、序号 " + bn.getAccount() + " 组织架构或者账号不存在");
                     }
-                }else{
-                    failureNum++;
-                    failureMsg.append("<br/>" + failureNum + "、序号 " + bn.getAccount() + " 已存在");
-                }
+//                }else{
+//                    failureNum++;
+//                    failureMsg.append("<br/>" + failureNum + "、序号 " + bn.getAccount() + " 已存在");
+//                }
             } catch (Exception e) {
                 e.printStackTrace();
                 failureNum++;
@@ -160,6 +164,14 @@ public class BpmWxNoticeOrgServiceImpl implements IBpmWxNoticeOrgService
         else
         {
             successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:");
+
+            //删除
+            bpmWxNoticeOrgMapper.deleteBpmWxNoticeOrgAll();
+            //新增
+            addList.forEach(item->{
+                this.insertBpmWxNoticeOrg(item);
+            });
+
         }
         return successMsg.toString();
     }

+ 20 - 17
suishenbang-order/src/main/resources/mapper/order/BpmWxNoticeOrgMapper.xml

@@ -38,22 +38,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </select>
 
     <select id="selectMetaDiySalesorgtreeOrgCode" resultType="java.lang.String">
-        SELECT
-            CASE
-            WHEN Org2name = #{orgName} THEN
-                Org2code
-            WHEN Org3name = #{orgName} THEN
-                Org3code
-            WHEN Org4name = #{orgName} THEN
-                Org4code
-            WHEN Org5name = #{orgName} THEN
-                Org5code
-            WHEN Org6name = #{orgName} THEN
-                Org6code
-            END orgCode
-        FROM
-            meta_diy_salesorgtree
-        LIMIT 1
+        SELECT a.orgCode FROM (
+            SELECT
+                CASE
+                WHEN Org2name = #{orgName} THEN
+                    Org2code
+                WHEN Org3name = #{orgName} THEN
+                    Org3code
+                WHEN Org4name = #{orgName} THEN
+                    Org4code
+                WHEN Org5name = #{orgName} THEN
+                    Org5code
+                WHEN Org6name = #{orgName} THEN
+                    Org6code
+                END orgCode
+            FROM
+            meta_diy_salesorgtree ) a WHERE a.orgCode IS NOT NULL LIMIT 1
     </select>
     <select id="selectBpmWxNoticeOrgByAccount" resultMap="BpmWxNoticeOrgResult">
         <include refid="selectBpmWxNoticeOrgVo"/>
@@ -112,5 +112,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             #{id}
         </foreach>
     </delete>
-    
+
+    <delete id="deleteBpmWxNoticeOrgAll">
+        delete from bpm_wx_notice_org
+    </delete>
 </mapper>