Explorar o código

Merge remote-tracking branch 'origin/sendMessage' into prd

njs hai 1 ano
pai
achega
befc4c6acb
Modificáronse 15 ficheiros con 370 adicións e 25 borrados
  1. 1 0
      suishenbang-order/src/main/java/com/dgtly/order/mapper/MetaHanaSalesOrderMapper.java
  2. 2 0
      suishenbang-order/src/main/java/com/dgtly/order/service/IMetaHanaSalesOrderService.java
  3. 1 0
      suishenbang-order/src/main/java/com/dgtly/order/service/impl/MetaHanaSalesOrderServiceImpl.java
  4. 2 1
      suishenbang-order/src/main/resources/mapper/order/MetaHanaSalesOrderMapper.xml
  5. 1 1
      suishenbang-order/src/main/resources/mapper/order/SalesOrderBaseMapper.xml
  6. 14 0
      suishenbang-quartz/src/main/java/com/dgtly/quartz/task/RyTask.java
  7. 251 19
      suishenbang-sync/suishenbang-sync-common/src/main/java/com/dgtly/sync/service/AnalysisDiyCustomerComponent.java
  8. 10 1
      suishenbang-sync/suishenbang-sync-common/src/main/java/com/dgtly/sync/utils/CustomerAccessTokenUtil.java
  9. 0 0
      suishenbang-sync/suishenbang-sync-common/src/main/resources/mapper/sync/HanaSalesOrderService.xml
  10. 16 0
      suishenbang-system/src/main/java/com/dgtly/system/mapper/HanaSalesOrderMapper.java
  11. 13 0
      suishenbang-system/src/main/java/com/dgtly/system/service/HanaSalesOrderService.java
  12. 29 0
      suishenbang-system/src/main/java/com/dgtly/system/service/impl/HanaSalesOrderServiceImpl.java
  13. 2 2
      suishenbang-system/src/main/resources/mapper/system/CustomersExtMapper.xml
  14. 27 0
      suishenbang-system/src/main/resources/mapper/system/HanaSalesOrderMapper.xml
  15. 1 1
      suishenbang-system/src/main/resources/mapper/system/SysUserMapper.xml

+ 1 - 0
suishenbang-order/src/main/java/com/dgtly/order/mapper/MetaHanaSalesOrderMapper.java

@@ -23,4 +23,5 @@ public interface MetaHanaSalesOrderMapper  {
     Map<String,Map<String,Object>> selectOrderExcepTimeByList(List<String> orderNumbers);
 
     List<MetaHanaSalesOrder> selectDistinctMetaHanaSalesOrder1(MetaHanaSalesOrder metaHanaSalesOrder);
+
 }

+ 2 - 0
suishenbang-order/src/main/java/com/dgtly/order/service/IMetaHanaSalesOrderService.java

@@ -25,6 +25,8 @@ public interface IMetaHanaSalesOrderService {
      */
 
     List<MetaHanaSalesOrder> selectDistinctMetaHanaSalesOrder(MetaHanaSalesOrder metaHanaSalesOrder);
+    
+    
 
 
 }

+ 1 - 0
suishenbang-order/src/main/java/com/dgtly/order/service/impl/MetaHanaSalesOrderServiceImpl.java

@@ -53,4 +53,5 @@ public class MetaHanaSalesOrderServiceImpl implements IMetaHanaSalesOrderService
     }
 
 
+
 }

+ 2 - 1
suishenbang-order/src/main/resources/mapper/order/MetaHanaSalesOrderMapper.xml

@@ -54,7 +54,7 @@
     <select id="selectOrderExcepTimeByList" parameterType="String" resultType="Map">
         select order_number ,expected_time
         from sales_order_base
-        where order_number in
+        where is_delete = 0 and order_number in
         <foreach collection="list" item="orderNumber" open="(" separator="," close=")">
             #{orderNumber}
         </foreach>
@@ -85,4 +85,5 @@
         </where>
     </select>
 
+
 </mapper>

+ 1 - 1
suishenbang-order/src/main/resources/mapper/order/SalesOrderBaseMapper.xml

@@ -54,7 +54,7 @@
         <where>
             <if test="customerCode != null  and customerCode != ''">and CustomerCode like concat('%',#{customerCode},'%')</if>
             <if test="customerName != null  and customerName != ''">and CustomerName like concat('%',#{customerName},'%')</if>
-            <if test="isDelete != null  and isDelete != ''">and is_delete = #{isDelete}</if>
+            and s.is_delete = 0
             <if test="orderNumber != null  and orderNumber != ''">and order_number = #{orderNumber}</if>
             <if test="orderCreationTime != null  and orderCreationTime != ''">and order_creation_time =
                 #{orderCreationTime}

+ 14 - 0
suishenbang-quartz/src/main/java/com/dgtly/quartz/task/RyTask.java

@@ -5,6 +5,7 @@ import com.dgtly.sync.service.AnalysisDiyCustomerComponent;
 import com.dgtly.sync.service.HanaOrderComponent;
 import com.dgtly.sync.service.RelationCustomerOnlineComponent;
 import com.dgtly.system.service.ISysUserOrderAuthorService;
+import com.dgtly.system.service.HanaSalesOrderService;
 import com.dgtly.wxportal.service.IWxSendMessageService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -30,6 +31,8 @@ public class RyTask
     private ISysUserOrderAuthorService sysUserOrderAuthorService;
     @Autowired
     private IWxSendMessageService wxSendMessageService;
+    @Autowired
+    private HanaSalesOrderService HanaSalesOrderService;
 
 //    private static RyTask ryTask;
 //    @PostConstruct
@@ -146,4 +149,15 @@ public class RyTask
     public void sendWxTmsMessage(){
         wxSendMessageService.sendWxTmsMessage();
     }
+
+    /**
+     * @description: 未过信的经销商订单的要货记录id(做逻辑删除,重新要货)
+     * @param: []
+     * @return: void
+     * @author: njs
+     * @date: 2023/6/16 10:26
+     */
+    public void  salesOrderBaseByCreditStatus(){
+        HanaSalesOrderService.updateSalesOrderBaseNoCrditStatus();
+    }
 }

+ 251 - 19
suishenbang-sync/suishenbang-sync-common/src/main/java/com/dgtly/sync/service/AnalysisDiyCustomerComponent.java

@@ -148,7 +148,7 @@ public class AnalysisDiyCustomerComponent {
         if(code==0){
             JSONArray MANAGER = new JSONArray();
             MANAGER.addAll(mjson.getJSONArray("userlist"));
-            success+=buildSysUser(MANAGER,loginNameSet,diyNameSet,1,failDetails,packageId,chainsMap);
+           success+=buildSysUser(MANAGER,loginNameSet,diyNameSet,1,failDetails,packageId,chainsMap);
             total+=mjson.getJSONArray("userlist").size();
         }
 
@@ -342,17 +342,60 @@ public class AnalysisDiyCustomerComponent {
                     STAFF.addAll(json.getJSONArray("data"));
                 }
             }
-            success += buildSysUserStaff(STAFF, loginNameSet, diyNameSet, failDetails, packageId, chainsMap);
+            success += buildSysUserStaff(STAFF, loginNameSet, diyNameSet, failDetails, packageId, chainsMap,8);
             total += STAFF.size();
         }else{
             code = json.getInteger("code");
             if(code==0){
                 STAFF.addAll(json.getJSONArray("data"));
-                success += buildSysUserStaff(STAFF, loginNameSet, diyNameSet, failDetails, packageId, chainsMap);
+                success += buildSysUserStaff(STAFF, loginNameSet, diyNameSet, failDetails, packageId, chainsMap,8);
                 total += STAFF.size();
             }
         }
 
+        //3.7经销商倍增人员人员(门店经销商)
+        String beizengJson ="";
+        JSONArray bz = new JSONArray();
+        try {
+            beizengJson = HttpUtils.sendSSLGet(customerAccessTokenUtil.getUrl(UrlType.BZ, 1+""));
+        } catch (Exception e) {
+            log.error("3.7经销商倍增人员列表!");
+            customerAccessTokenUtil.reSetToken();
+            throw e;
+        }
+
+        JSONObject bzJson = JSONObject.parseObject(beizengJson);
+        Integer bzCount = bzJson.getInteger("count");
+        if(bzCount>100){
+            int co = 0;
+            if (bzCount%100 != 0){
+                co = (bzCount/100) +2;
+            }else{
+                co = (bzCount/100) +1;
+            }
+            for (int i = 1; i < co; i++) {
+                try {
+                    bzJson = JSONObject.parseObject(HttpUtils.sendSSLGet(customerAccessTokenUtil.getUrl(UrlType.BZ,i+"")));
+                } catch (Exception e) {
+                    log.error("循环获取3.7经销商倍增人员错误!第"+i+"页");
+                    customerAccessTokenUtil.reSetToken();
+                    throw e;
+                }
+                code = bzJson.getInteger("code");
+                if(code==0){
+                    bz.addAll(bzJson.getJSONArray("data"));
+                }
+            }
+            success += buildSysUserBz(bz, loginNameSet, diyNameSet, failDetails, packageId, chainsMap,5);
+            total += bz.size();
+        }else{
+            code = bzJson.getInteger("code");
+            if(code==0){
+                bz.addAll(bzJson.getJSONArray("data"));
+                success += buildSysUserBz(bz, loginNameSet, diyNameSet, failDetails, packageId, chainsMap,5);
+                total += bz.size();
+            }
+        }
         /*try {
             JSONObject bossListJson = JSONObject.parseObject(HttpUtils.sendSSLGet(customerAccessTokenUtil.getUrl(UrlType.BOSSLIST, null)));
             code = bossListJson.getInteger("code");
@@ -630,7 +673,7 @@ public class AnalysisDiyCustomerComponent {
                         userExt.setCustomerCode(userExt.getOrgCode());
                     } else {
                         userExt.setCustomerCode(jo.getString("depCode"));
-                   }
+                    }
 //                    /**======== 构建diy用户wx信息表 start===============*/
 //                    WxQyUser wxQyUser = new WxQyUser();
 //                    wxQyUser.setUserid(jo.getString("userid"));
@@ -761,7 +804,9 @@ public class AnalysisDiyCustomerComponent {
             }
         }
         List<String> loginNames = sysUserService.selectUserByIsManager(isManager);
-        List<String> collect = loginNames.stream().filter(item -> !interfaceList.contains(item)).collect(Collectors.toList());
+        List<String> collect =new ArrayList<>();
+        loginNames.removeAll(interfaceList);
+        collect.addAll(loginNames);
         if (collect.size() > 0) {
             for (String login : collect
             ) {
@@ -783,7 +828,7 @@ public class AnalysisDiyCustomerComponent {
                     }
                 }
             }
-         }
+        }
         return count;
     }
 
@@ -1028,13 +1073,21 @@ public class AnalysisDiyCustomerComponent {
         List<String> loginNames7=sysUserService.selectUserByIsManager(7);
         //厨卫业务人员
         List<String> loginNames9=sysUserService.selectUserByIsManager(9);
-        List<String> collect4= loginNames4.stream().filter(item -> !interfaceList4.contains(item)).collect(Collectors.toList());
+        List<String> collect4 =new ArrayList<>();
+        loginNames4.removeAll(interfaceList4);
+        collect4.addAll(loginNames4);
         this.uninoncw(collect4, 4);
-        List<String> collect5 = loginNames5.stream().filter(item -> !interfaceList5.contains(item)).collect(Collectors.toList());
+        List<String> collect5 =new ArrayList<>();
+        loginNames5.removeAll(interfaceList5);
+        collect5.addAll(loginNames5);
         this.uninoncw(collect5, 5);
-        List<String> collect7 = loginNames7.stream().filter(item -> !interfaceList7.contains(item)).collect(Collectors.toList());
+        List<String> collect7 =new ArrayList<>();
+        loginNames7.removeAll(interfaceList7);
+        collect7.addAll(loginNames7);
         this.uninoncw(collect7, 7);
-        List<String> collect9 = loginNames9.stream().filter(item -> !interfaceList9.contains(item)).collect(Collectors.toList());
+        List<String> collect9 =new ArrayList<>();
+        loginNames9.removeAll(interfaceList9);
+        collect9.addAll(loginNames9);
         this.uninoncw(collect9, 9);
         return count;
     }
@@ -1066,18 +1119,17 @@ public class AnalysisDiyCustomerComponent {
 
     /***
      *
-     * 3.6经销商经销人员门店
+     * 3.6
      * **/
-    public Integer buildSysUserStaff(JSONArray STAFF, Set<String> loginNameSet,Set<String> diyNameSet, List<SyncFailDetail> failDetails,String packageId, Map<String,Customers> cusMap){
+    public Integer buildSysUserStaff(JSONArray STAFF, Set<String> loginNameSet,Set<String> diyNameSet, List<SyncFailDetail> failDetails,String packageId, Map<String,Customers> cusMap,Integer isManager){
         //JSONArray jsonArray = json.getJSONArray("data");
         int count = 0;
-        int isManager=8;
-        List<String > interfaceList=new ArrayList<>();
+        List<String > interfaceList8=new ArrayList<>();
         for(int x =0;x<STAFF.size();x++){
             JSONObject jsonObject = STAFF.getJSONObject(x);
             String loginName = jsonObject.getString("userid");
             if(loginName !=null && !"".equals(loginName)){
-                interfaceList.add(loginName);
+                    interfaceList8.add(loginName);
             }
         }
         for(int i =0;i<STAFF.size();i++){
@@ -1212,9 +1264,187 @@ public class AnalysisDiyCustomerComponent {
             }
         }
         List<String> loginNames=sysUserService.selectUserByIsManager(isManager);
-        List<String> collect = loginNames.stream().filter(item -> !interfaceList.contains(item)).collect(Collectors.toList());
+        List<String> collect =new ArrayList<>();
+        loginNames.removeAll(interfaceList8);
+        collect.addAll(loginNames);
         if (collect.size() > 0) {
-        for (String login:collect
+            for (String login:collect
+            ) {
+                SysUser u = sysUserService.selectUserByLoginName(login);
+                if(("0").equals(u.getIsSync())){
+                    String CustomerManager= u.getSysUserExt().getIsCustomerManager();
+                    String[] manager=CustomerManager.split(",");
+                    if(manager.length >1){
+                        List<String> resultList = new ArrayList<>(manager.length);
+                        Collections.addAll(resultList,manager);
+                        Object i=isManager;
+                        resultList.remove(i.toString());
+                        String IsManager = resultList.stream().map(String::valueOf).collect(Collectors.joining(","));
+                        u.getSysUserExt().setIsCustomerManager(IsManager);
+                        sysUserExtMapper.updateSysUserExt(u.getSysUserExt());
+                    }else{
+                        u.setQuit("2");
+                        sysUserService.updateUserInfo(u);
+                    }
+                }
+            }
+        }
+
+        return count;
+    }
+
+    /***
+     *
+     *3.7经销商经销人员门店
+     * **/
+    public Integer buildSysUserBz(JSONArray BZ, Set<String> loginNameSet,Set<String> diyNameSet, List<SyncFailDetail> failDetails,String packageId, Map<String,Customers> cusMap,Integer isManager){
+        //JSONArray jsonArray = json.getJSONArray("data");
+        int count = 0;
+        List<String > interfaceList5=new ArrayList<>();
+        for(int x =0;x<BZ.size();x++){
+            JSONObject jsonObject = BZ.getJSONObject(x);
+            String loginName = jsonObject.getString("userid");
+            if(loginName !=null && !"".equals(loginName)){
+                    interfaceList5.add(loginName);
+            }
+        }
+        for(int i =0;i<BZ.size();i++){
+            JSONObject jo = BZ.getJSONObject(i);
+
+            try {
+                String userNo = jo.getString("userNo");
+                String name = jo.getString("name");
+                String userid = jo.getString("userid");
+                String customerCode = jo.getString("depCode");
+
+
+                /*企业微信中成员启用状态。1表示启用的成员,0表示被禁用*/
+                /*if(enable==null||enable.trim().equals("0")){
+                    continue;
+                }
+                *//*企业微信中人员激活状态: 1=已激活,2=已禁用,4=未激活,5=退出企业。*//*
+                if(status==null || !status.trim().equals("1")){
+                    continue;
+                }
+                *//*人员信息是否已更新入企业微信。true:更新成功false:更新失败*//*
+                if(!isSync){
+                    continue;
+                }
+                *//*人员信息是否被标记删除true:删除,false:未删除*//*
+                if(isDelete){
+                    continue;
+                }*/
+                if(userid==null||userid.trim().equals("")){
+                    continue;
+                }
+                loginNameSet = sysUserService.selectAllUserLoginName();
+                diyNameSet = sysUserService.selectDiyUserLoginName();
+                loginNameSet = loginNameSet.stream().map(String::toUpperCase).collect(Collectors.toSet());
+                if (!loginNameSet.contains(userid.toUpperCase().trim())) {
+
+                    /** =============用户基本信息构建 start===============*/
+                    SysUser user = new SysUser();
+                    user.setCompanyId(1L);
+                    user.setDeptId(deptId);
+                    user.setLoginName(userid);
+                    user.setUserName(jo.getString("name"));
+                    user.setPhonenumber(jo.getString("mobile"));
+                    user.setRoleIds(roleStoreIds);
+                    user.setPassword(user.getLoginName());
+                    user.setSalt(ShiroSaltUtil.randomSalt());
+                    user.setPassword(EncryptPassWordClass.encryptPassword(user.getLoginName(), user.getPassword(), user.getSalt()));
+
+
+                    /** =============用户基本信息构建 end===============*/
+
+
+                    /**======== 构建diy用户扩展信息表 start===============*/
+                    SysUserExt userExt = new SysUserExt();
+                    userExt.setSalesLevel("customer_level");
+
+                    userExt.setIdentity(UserIdentityUtil.UI_DIY);// 1=diy,2=ebr,3=all
+
+                    userExt.setCustomerCode(jo.getString("depCode"));
+                    userExt.setIsCustomerManager(isManager + "");
+                    userExt.setSapEmployeeId(userNo);
+
+                    userExt.setPostName("DIY经销商");
+                    String orgCode = jo.getString("depCode");
+                    if(cusMap.containsKey(orgCode)){
+                        Customers c = cusMap.get(orgCode);
+                        userExt.setOrgCode(c.getChainsCode());
+                        userExt.setOrgName(c.getChainsName());
+                    }else{
+                        userExt.setOrgCode(orgCode);
+                    }
+
+//                    /**======== 构建diy用户wx信息表 start===============*/
+//                    WxQyUser wxQyUser = new WxQyUser();
+//                    wxQyUser.setUserid(jo.getString("userid"));
+//                    wxQyUser.setMobile(jo.getString("mobile"));
+                    user.setSysUserExt(userExt);
+                    insertUserAndExt(user);
+                    count++;
+                    loginNameSet.add(userid);
+                    diyNameSet.add(userid);
+                }else{
+                    /*已经存在的,需要先清空职位,更新职位
+                    (首先查询当前用户职位,判断当前职位是否包含当前职位,不存在就更新,存在就不更新)*/
+                    SysUser user = sysUserService.selectUserByLoginName(userid);
+                    if(("0").equals(user.getIsSync())){
+                        //每个接口查询俩次是否有重复开始查询一次,快结束查一次
+                        //查询该用户是否存在该接口返回中
+                        sysUserService.insertUserRole(user.getUserId(), roleStoreIds[0]);
+                        if (user.getSysUserExt().getIsCustomerManager() == null) {
+                            user.getSysUserExt().setIsCustomerManager(isManager + "");
+                            sysUserExtMapper.updateSysUserExt(user.getSysUserExt());
+                        }
+                        if (!user.getSysUserExt().getIsCustomerManager().contains(isManager + "") ||
+                                !user.getSysUserExt().getCustomerCode().equals(customerCode) || !user.getSysUserExt().getOrgCode().equals(customerCode)) {
+                            if (!user.getSysUserExt().getIsCustomerManager().contains(isManager + "")) {
+                                /*更新职位*/
+                                user.getSysUserExt().setIsCustomerManager(user.getSysUserExt().getIsCustomerManager() + "," + isManager);
+                            }
+                            if (!user.getSysUserExt().getCustomerCode().equals(customerCode) || !user.getSysUserExt().getOrgCode().equals(customerCode)) {
+                                /*更新经销商code*/
+                                if (cusMap.containsKey(customerCode)) {
+                                    Customers c = cusMap.get(customerCode);
+                                    user.getSysUserExt().setOrgCode(c.getChainsCode());
+                                    user.getSysUserExt().setOrgName(c.getChainsName());
+                                } else {
+                                    user.getSysUserExt().setOrgCode(customerCode);
+                                }
+                            }
+                            log.info("updateSysUserExt" + customerCode);
+                            sysUserExtMapper.updateSysUserExt(user.getSysUserExt());
+                        }
+                        /*解决名称不一样的情况*/
+                        if (!user.getUserName().equals(name)) {
+                            user.setUserName(name);
+                            sysUserService.updateUserInfo(user);
+                        }
+
+
+                    }
+                }
+            }catch (Exception e){
+                log.error(e.getMessage());
+                e.printStackTrace();
+                SyncFailDetail syncFailDetail = new SyncFailDetail();
+                syncFailDetail.setPackageId(packageId);
+                syncFailDetail.setFailReason(e.getMessage());
+                syncFailDetail.setDataJson(jo.toJSONString());
+                syncFailDetail.setFailLevel("1");
+                syncFailDetail.setExceptionType(e.getClass().getSimpleName());
+                failDetails.add(syncFailDetail);
+            }
+        }
+        List<String> loginNames=sysUserService.selectUserByIsManager(isManager);
+        List<String> collect =new ArrayList<>();
+        loginNames.removeAll(interfaceList5);
+        collect.addAll(loginNames);
+        if (collect.size() > 0) {
+            for (String login:collect
             ) {
                 SysUser u = sysUserService.selectUserByLoginName(login);
                 if(("0").equals(u.getIsSync())){
@@ -1400,9 +1630,11 @@ public class AnalysisDiyCustomerComponent {
             }
         }
         List<String> loginNames = sysUserService.selectUserByIsManager(isManager);
-        List<String> collect = loginNames.stream().filter(item -> !interfaceList.contains(item)).collect(Collectors.toList());
+        List<String> collect =new ArrayList<>();
+        loginNames.removeAll(interfaceList);
+        collect.addAll(loginNames);
         if (collect.size() > 0) {
-        for (String login : collect
+            for (String login : collect
             ) {
                 SysUser u = sysUserService.selectUserByLoginName(login);
                 if (("0").equals(u.getIsSync())) {

+ 10 - 1
suishenbang-sync/suishenbang-sync-common/src/main/java/com/dgtly/sync/utils/CustomerAccessTokenUtil.java

@@ -24,7 +24,8 @@ public class CustomerAccessTokenUtil {
         BUSINESSLIST,*/
         WAREHOUSE,
         AllRole,
-        STAFF;
+        STAFF,
+        BZ;
 
 
     }
@@ -78,6 +79,9 @@ public class CustomerAccessTokenUtil {
     //获取经销商经销商人员列表
     private String staffUrl;
 
+    //获取3.7经销商倍增人员
+    private String bzUrl;
+
     @PostConstruct
     public void init() {
         tokenUrl=domain+"/auth/jwt/v1/gettoken?appid=%s&appsecret=%s";
@@ -99,6 +103,8 @@ public class CustomerAccessTokenUtil {
         allRoleUrl=domain+"/api/chuwei/v1/user/all/list?access_token=%s";
 
         staffUrl=domain+"/api/diydt/v1/user/staff/list?page=%s&access_token=%s";
+
+        bzUrl=domain+"/api/diydt/v1/user/beizeng/list?page=%s&access_token=%s";
     }
 
     public String getAccessToken(){
@@ -177,6 +183,9 @@ public class CustomerAccessTokenUtil {
                 break;
             case STAFF:
                 url = String.format(staffUrl,pageNum,token);
+                break;
+            case BZ:
+                url = String.format(bzUrl,pageNum,token);
         }
         return url;
     }

suishenbang-sync/suishenbang-sync-common/src/main/resources/mapper/sync/MetaEmployeeDiyMapper.xml → suishenbang-sync/suishenbang-sync-common/src/main/resources/mapper/sync/HanaSalesOrderService.xml


+ 16 - 0
suishenbang-system/src/main/java/com/dgtly/system/mapper/HanaSalesOrderMapper.java

@@ -0,0 +1,16 @@
+package com.dgtly.system.mapper;
+
+import java.util.List;
+
+public interface HanaSalesOrderMapper {
+    /**
+     * @description:查询信用未通过的要货记录id集合
+     * @param: []
+     * @return: java.util.List<java.lang.String>
+     * @author: njs
+     * @date: 2023/6/16 10:11
+     */
+    List<String> selectOrderBaseList();
+
+    int  deleteLogic(List<String> ids);
+}

+ 13 - 0
suishenbang-system/src/main/java/com/dgtly/system/service/HanaSalesOrderService.java

@@ -0,0 +1,13 @@
+package com.dgtly.system.service;
+
+
+public interface HanaSalesOrderService {
+    /**
+     * @description: 未过信的经销商订单的要货记录id(做逻辑删除,重新要货)
+     * @param: []
+     * @return: void
+     * @author: njs
+     * @date: 2023/6/16 14:35
+     */
+    void updateSalesOrderBaseNoCrditStatus();
+}

+ 29 - 0
suishenbang-system/src/main/java/com/dgtly/system/service/impl/HanaSalesOrderServiceImpl.java

@@ -0,0 +1,29 @@
+package com.dgtly.system.service.impl;
+
+import com.dgtly.system.mapper.HanaSalesOrderMapper;
+import com.dgtly.system.service.HanaSalesOrderService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Service
+public class HanaSalesOrderServiceImpl implements HanaSalesOrderService {
+
+    @Autowired
+    private HanaSalesOrderMapper hanaSalesOrderMapper;
+    /**
+     * @description: 未过信的经销商订单的要货记录id(做逻辑删除,重新要货)
+     * @param: []
+     * @return: void
+     * @author: njs
+     * @date: 2023/6/16 14:35
+     */
+    @Override
+    public void updateSalesOrderBaseNoCrditStatus() {
+        List<String> orderBaseList = hanaSalesOrderMapper.selectOrderBaseList();
+        if(orderBaseList !=null && orderBaseList.size()>0){
+            hanaSalesOrderMapper.deleteLogic(orderBaseList);
+        }
+    }
+}

+ 2 - 2
suishenbang-system/src/main/resources/mapper/system/CustomersExtMapper.xml

@@ -49,8 +49,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         FROM
             sales_order_base t
         LEFT JOIN customers_ext s ON t.belong_to = s.chains_code
-        WHERE
-            t.order_number = #{orderId};
+        WHERE t.is_delete=0
+           and  t.order_number = #{orderId};
     </select>
 
     <!--根据订单id关联订单基础信息表查询经销商代号-->

+ 27 - 0
suishenbang-system/src/main/resources/mapper/system/HanaSalesOrderMapper.xml

@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.dgtly.system.mapper.HanaSalesOrderMapper">
+
+    <select id="selectOrderBaseList" parameterType="string" resultType="java.lang.String">
+        SELECT
+            ob.id
+        FROM
+            sales_order_base ob
+                LEFT JOIN meta_hana_sales_order so ON so.DOC_NUMBER = ob.order_number
+        WHERE
+            so.CREDIT_STATUS = '信用未通过' and ob.is_delete='0'
+        GROUP BY
+            ob.order_number
+    </select>
+
+    <update id="deleteLogic" parameterType="int">
+        UPDATE sales_order_base
+        SET is_delete = '1'
+        WHERE 1=1
+        <if test="ids !=null and ids.size > 0"> and id in
+            <foreach collection="ids" item="id" open="(" separator="," close=")">
+                #{id}
+            </foreach>
+        </if>
+    </update>
+</mapper>

+ 1 - 1
suishenbang-system/src/main/resources/mapper/system/SysUserMapper.xml

@@ -349,7 +349,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  			<if test="remark != null">remark = #{remark},</if>
  			<if test="isConsignee != null">is_consignee = #{isConsignee},</if>
  			<if test="isSync != null">is_sync = #{isSync},</if>
-			quit = #{quit},
+			<if test="quit != null">quit = #{quit},</if>
  			update_time = sysdate()
  		</set>
  		where user_id = #{userId}