Просмотр исходного кода

qxm-修改HANA订单数据过滤4000,增加腻子粉字段,增加关联同步经销商上线定时任务

qxm 3 лет назад
Родитель
Сommit
10efdc9528

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

@@ -3,6 +3,7 @@ package com.dgtly.quartz.task;
 import com.dgtly.common.utils.StringUtils;
 import com.dgtly.sync.service.AnalysisDiyCustomerComponent;
 import com.dgtly.sync.service.HanaOrderComponent;
+import com.dgtly.sync.service.RelationCustomerOnlineComponent;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -21,6 +22,9 @@ public class RyTask
     private AnalysisDiyCustomerComponent analysisDiyCustomerComponent;
     @Autowired
     private HanaOrderComponent hanaOrderComponent;
+    @Autowired
+    private RelationCustomerOnlineComponent relationCustomerOnlineComponent;
+
 //    private static RyTask ryTask;
 //    @PostConstruct
 //    public void init() {
@@ -43,15 +47,23 @@ public class RyTask
         log.info("执行无参方法");
     }
 
+    /*立邦人员定时同步*/
     public void analyDiyCustomer(){
         analysisDiyCustomerComponent.analyDiyCustomer();
     }
 
+    /*HANA订单数据定时同步*/
     public void hanaSalesOrderSync() throws Exception {
         hanaOrderComponent.hanaSalesOrderSync();
     }
+
+    /*HANA交货单数据定时同步*/
     public void hanaDeliverOrderSync() throws Exception {
         hanaOrderComponent.hanaDeliverOrderSync();
     }
 
+    /*关联经销商上线定时任务*/
+    public void relationCustomerOnlineSync() throws Exception {
+        relationCustomerOnlineComponent.relationCustomerOnlineSync();
+    }
 }

+ 8 - 1
suishenbang-sync/suishenbang-sync-common/src/main/java/com/dgtly/sync/service/AnalysisDiyCustomerComponent.java

@@ -241,6 +241,7 @@ public class AnalysisDiyCustomerComponent {
             try {
                 String userNo = jo.getString("userNo");
                 String enable = jo.getString("enable");
+                String name = jo.getString("name");
                 String status = jo.getString("status");
                 Boolean isSync = jo.getBoolean("isSync");
                 Boolean isDelete = jo.getBoolean("isDelete");
@@ -313,7 +314,8 @@ public class AnalysisDiyCustomerComponent {
                     (首先查询当前用户职位,判断当前职位是否包含当前职位,不存在就更新,存在就不更新)*/
                     SysUser user = sysUserService.selectUserByLoginName(userid);
 
-                    if (!user.getSysUserExt().getIsCustomerManager().contains(isManager+"") || !user.getSysUserExt().getCustomerCode().equals(customerCode)){
+                    if (!user.getSysUserExt().getIsCustomerManager().contains(isManager+"") ||
+                            !user.getSysUserExt().getCustomerCode().equals(customerCode) ){
                         if (!user.getSysUserExt().getIsCustomerManager().contains(isManager+"")){
                             /*更新职位*/
                             user.getSysUserExt().setIsCustomerManager(user.getSysUserExt().getIsCustomerManager()+","+isManager);
@@ -330,6 +332,11 @@ public class AnalysisDiyCustomerComponent {
                         }
                         sysUserExtMapper.updateSysUserExt(user.getSysUserExt());
                     }
+                    /*解决名称不一样的情况*/
+                    if(!user.getUserName().equals(name)){
+                        user.setUserName(name);
+                        sysUserService.updateUserInfo(user);
+                    }
                 }
             }catch (Exception e){
                 log.error(e.getMessage());

+ 4 - 1
suishenbang-sync/suishenbang-sync-common/src/main/java/com/dgtly/sync/service/HanaOrderComponent.java

@@ -70,6 +70,7 @@ public class HanaOrderComponent {
                 "A.LFSTA,\t\n" +
                 "A.MATNR,\t\n" +
                 "A.ZMAKTXX,\t\n" +
+                "D.PRODHA3_TXT PRODHA_TXT,\t\n" +
                 "A.GROES,\t\n" +
                 "A.ZCMFRE,\t\n" +
                 "A.ZCMGST,\t\n" +
@@ -90,7 +91,8 @@ public class HanaOrderComponent {
                 "\t 'PLACEHOLDER' = ('$$IP_STATDATE$$',\n" +
                 "\t '"+DateUtils.getThreeMonthDate()+"')) A  LEFT JOIN ERP.MARA B ON B.MATNR = A.MATNR \n" +
                 "\t LEFT JOIN ERP.T001W C ON C.WERKS = A.WERKS \n" +
-                "\t WHERE  A.VTWEG = 'D9' AND A.SPART != '16' AND A.AUART NOT IN ('31','32','33','35','36','39') " +
+                "\t LEFT JOIN ERP.ZHANAMATDOWN D ON D.MATNR = A.MATNR \n" +
+                "\t WHERE A.VKORG != '4000' AND A.VTWEG = 'D9' AND A.SPART != '16' AND A.AUART NOT IN ('31','32','33','35','36','39') " +
                 "and ((A.ZCMGST !='信用通过' and A.ABGRU='') or (A.ZCMGST ='信用通过' and A.ABGRU=''))\n" +
                 " order by A.VBELN,A.POSNR ");
 
@@ -257,6 +259,7 @@ public class HanaOrderComponent {
                                 +"?"+ result.getString("LFSTA")
                                 +"?"+ result.getString("MATNR")
                                 +"?"+ result.getString("ZMAKTXX")
+                                +"?"+ result.getString("PRODHA_TXT")
                                 +"?"+ result.getString("GROES")
                                 +"?"+ result.getString("TRAGR")
                                 +"?"+ result.getString("ZCMFRE")

+ 48 - 0
suishenbang-sync/suishenbang-sync-common/src/main/java/com/dgtly/sync/service/RelationCustomerOnlineComponent.java

@@ -0,0 +1,48 @@
+package com.dgtly.sync.service;
+
+import com.dgtly.system.service.IAssRelcustomerinfoService;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+/**
+ * @description: 关联经销商上线
+ * @author: qxm
+ * @date: 2021/10/13 16:03
+ */
+@Component
+public class RelationCustomerOnlineComponent {
+
+    private static final Logger log = LoggerFactory.getLogger(RelationCustomerOnlineComponent.class);
+
+    @Autowired
+    private IAssRelcustomerinfoService assRelcustomerinfoService;
+
+    /**关联经销商上线*/
+    public void relationCustomerOnlineSync(){
+        assRelcustomerinfoService.relationCustomerOnlineSync();
+    }
+
+    /*SELECT s.mainkunnr,s.mainname1 from (SELECT
+        ar.*
+    FROM
+        customers_start cs
+    LEFT JOIN ass_relcustomerinfo ar ON (cs.customers_code=ar.kunnr or cs.customers_code=ar.mainkunnr)
+    WHERE  ar.glfs != '开票方关联'
+    GROUP BY kunnr) s LEFT JOIN customers_start c ON s.mainkunnr = c.customers_code
+    WHERE c.customers_code is null
+
+    union all
+
+    SELECT s.kunnr,s.name1 from (SELECT
+        ar.*
+    FROM
+        customers_start cs
+    LEFT JOIN ass_relcustomerinfo ar ON (cs.customers_code=ar.kunnr or cs.customers_code=ar.mainkunnr)
+    WHERE  ar.glfs != '开票方关联'
+    GROUP BY kunnr) s LEFT JOIN customers_start c ON s.kunnr = c.customers_code
+    WHERE c.customers_code is null
+
+*/
+
+}

+ 2 - 0
suishenbang-system/src/main/java/com/dgtly/system/mapper/AssRelcustomerinfoMapper.java

@@ -60,4 +60,6 @@ public interface AssRelcustomerinfoMapper
     public int deleteAssRelcustomerinfoByIds(String[] ids);
 
     List<AssRelcustomerinfo> selectRelcustomerinfoListByorgCode(String orgCode);
+
+    void relationCustomerOnlineSync();
 }

+ 2 - 0
suishenbang-system/src/main/java/com/dgtly/system/service/IAssRelcustomerinfoService.java

@@ -60,4 +60,6 @@ public interface IAssRelcustomerinfoService
     public int deleteAssRelcustomerinfoById(Long id);
 
     List<AssRelcustomerinfo> selectRelcustomerinfoListByorgCode(String orgCode);
+
+    void relationCustomerOnlineSync();
 }

+ 5 - 0
suishenbang-system/src/main/java/com/dgtly/system/service/impl/AssRelcustomerinfoServiceImpl.java

@@ -99,4 +99,9 @@ public class AssRelcustomerinfoServiceImpl implements IAssRelcustomerinfoService
     public List<AssRelcustomerinfo> selectRelcustomerinfoListByorgCode(String orgCode) {
         return assRelcustomerinfoMapper.selectRelcustomerinfoListByorgCode(orgCode);
     }
+
+    @Override
+    public void relationCustomerOnlineSync() {
+        assRelcustomerinfoMapper.relationCustomerOnlineSync();
+    }
 }

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

@@ -62,7 +62,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             GROUP BY
             ar.mainkunnr
         ) = mainkunnr
-
+        GROUP BY kunnr
     </select>
 
     <insert id="insertAssRelcustomerinfo" parameterType="AssRelcustomerinfo" useGeneratedKeys="true" keyProperty="id">
@@ -99,6 +99,42 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
          </trim>
     </insert>
 
+    <insert id="relationCustomerOnlineSync">
+        INSERT INTO customers_start (customers_code, customers_name, online_time)
+
+            SELECT t.mainkunnr,t.mainname1,t1.online_time FROM (
+
+                SELECT s.mainkunnr,s.mainname1,s.kunnr from (
+                    SELECT
+                                ar.*
+                        FROM
+                                customers_start cs
+                        LEFT JOIN ass_relcustomerinfo ar ON (cs.customers_code=ar.kunnr or cs.customers_code=ar.mainkunnr)
+                        WHERE  ar.glfs != '开票方关联'
+                        GROUP BY kunnr
+
+                ) s LEFT JOIN customers_start c ON s.mainkunnr = c.customers_code
+                WHERE c.customers_code is null
+            ) t LEFT JOIN customers_start t1 ON t.kunnr = t1.customers_code
+
+                union all
+
+            SELECT t.kunnr,t.name1,t1.online_time FROM (
+                SELECT s.kunnr,s.name1,s.mainkunnr from (
+                SELECT
+                    ar.*
+                FROM
+                    customers_start cs
+                LEFT JOIN ass_relcustomerinfo ar ON (cs.customers_code=ar.kunnr or cs.customers_code=ar.mainkunnr)
+                WHERE  ar.glfs != '开票方关联'
+                GROUP BY kunnr
+            ) s LEFT JOIN customers_start c ON s.kunnr = c.customers_code
+                WHERE c.customers_code is null
+            ) t LEFT JOIN customers_start t1 ON t.mainkunnr = t1.customers_code
+
+
+    </insert>
+
     <update id="updateAssRelcustomerinfo" parameterType="AssRelcustomerinfo">
         update ass_relcustomerinfo
         <trim prefix="SET" suffixOverrides=",">