yaozhixue 1 yıl önce
ebeveyn
işleme
3ef2dcce18

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/download/order/InstallBusinessApiT.java

@@ -77,7 +77,7 @@ public class InstallBusinessApiT {
         lcls = itfTblAzAssignLcLsDownloadService.lambdaQuery()
                 .eq(ItfTblAzAssignLcLsDownload::getSynStatus, SynStatusEnum.UN_SYN.getCode())
                 .ge(ItfTblAzAssignLcLsDownload::getSynTimes, 2)
-                // .eq(ItfTblAzAssignLcLsDownload::getSynReqId,29003L)// 测试使用
+                // .eq(ItfTblAzAssignLcLsDownload::getSynReqId,39069L)// 测试使用
                 .orderByAsc(ItfTblAzAssignLcLsDownload::getSynReqId)
                 .list();
 

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/download/order/RepairBusinessApi.java

@@ -81,7 +81,7 @@ public class RepairBusinessApi {
         // 提取待落本地表的数据
         repairRec = itfTblAssignDownloadService.lambdaQuery()
                 .eq(ItfTblAssignDownload::getSynStatus, 0)
-                // .eq(ItfTblAssignDownload::getSynReqId, 1359)// 测试使用
+                // .eq(ItfTblAssignDownload::getSynReqId, -1L)// 测试使用
                 .lt(ItfTblAssignDownload::getSynTimes, 2)
                 .orderByAsc(ItfTblAssignDownload::getSynReqId)
                 .list();

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/download/order/RepairBusinessApiT.java

@@ -81,7 +81,7 @@ public class RepairBusinessApiT {
         // 提取待落本地表的数据
         repairRec = itfTblAssignDownloadService.lambdaQuery()
                 .eq(ItfTblAssignDownload::getSynStatus, 0)
-                // .eq(ItfTblAssignDownload::getSynReqId, 1359)// 测试使用
+                // .eq(ItfTblAssignDownload::getSynReqId, 32882L)// 测试使用
                 .ge(ItfTblAssignDownload::getSynTimes, 2)
                 .orderByAsc(ItfTblAssignDownload::getSynReqId)
                 .list();

+ 48 - 0
src/main/java/com/zfire/jiasm/syncdata/download/order/SynFileOrderOperatingLog.java

@@ -0,0 +1,48 @@
+package com.zfire.jiasm.syncdata.download.order;
+
+import com.zfire.jiasm.syncdata.constant.TaskConfigEnum;
+import com.zfire.jiasm.syncdata.service.GLPPWXGQueryAddService;
+import com.zfire.jiasm.syncdata.service.OrderOperatingLogFileService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+@Slf4j
+@Component
+public class SynFileOrderOperatingLog {
+    @Value("${zjzbxc}")
+    private String zjzbxc = "";
+
+    @Resource
+    OrderOperatingLogFileService orderOperatingLogFileService;
+    @Resource
+    GLPPWXGQueryAddService glppwxgQueryAddService;
+
+
+
+    // 从格力总部同步的反馈明细附件生成平台的附件信息
+    @Scheduled(fixedDelayString = "${zjzbx}")
+    public void processBX(){
+        if (zjzbxc.equals(TaskConfigEnum.FALSE.getCode())){
+            return;
+        }
+        if (1==1){
+            return;
+        }
+
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+        log.info("开始生成维修工单同步的附件信息: \uF0B7{}",sdf.format(new Date()));
+
+        orderOperatingLogFileService.extractedRepairFile();
+
+        glppwxgQueryAddService.extractedBx();
+
+        log.info("生成维修工单同步的附件信息结束: \uF0B7{}",sdf.format(new Date()));
+    }
+}

+ 7 - 0
src/main/java/com/zfire/jiasm/syncdata/service/OrderOperatingLogFileService.java

@@ -0,0 +1,7 @@
+package com.zfire.jiasm.syncdata.service;
+
+public interface OrderOperatingLogFileService {
+
+    void extractedRepairFile();
+
+}

+ 9 - 0
src/main/java/com/zfire/jiasm/syncdata/service/impl/AddInstallBusinessImpl.java

@@ -2861,6 +2861,10 @@ public class AddInstallBusinessImpl implements AddInstallBusiness {
             orderBase.setOrderStatus("A13081");
         }
 
+        // 总部的为 1302 无对应关系,根据工单的过程处理
+        if (StringUtils.isEmpty(orderBase.getOrderStatus())){
+            orderBase.setOrderStatus("A1101");
+        }
         //  预派工订单标识
         if (orderBase.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_A1100.getCode()) ||
                 orderBase.getOrderStatus().equals(OrderStatusEnum.INSTALL_STATUS_A1122.getCode()) ||
@@ -2922,6 +2926,11 @@ public class AddInstallBusinessImpl implements AddInstallBusiness {
         // 生成工单基础表 对象
         orderBase = azGDLcLsDownloadMapper.getOrderBase(orderPar);
 
+        // 总部的为 1302 无对应关系,根据工单的过程处理
+        if (StringUtils.isEmpty(orderBase.getOrderStatus())){
+            orderBase.setOrderStatus("A1101");
+        }
+
         // 重置部分数据
         orderService.setParUpApi(item, orderBase,its);
 

+ 9 - 2
src/main/java/com/zfire/jiasm/syncdata/service/impl/AddRepairBusinessServiceImpl.java

@@ -2304,8 +2304,15 @@ public class AddRepairBusinessServiceImpl implements AddRepairBusinessService {
         add.setFkmxguid(fkmx.getFkmxguid());
         add.setFkid(String.valueOf(fkmx.getFkid()));
         add.setPgid(fkmx.getPgid());
-        add.setBrandFileId(fkmx.getScid());
-        add.setBrandFileName(fkmx.getScwj());
+
+        add.setBrandFileName(fkmx.getScid());
+        add.setBrandFileId(fkmx.getScwj());
+        add.setOutZjljProcess(-1);
+        if (StringUtils.isNotEmpty(fkmx.getScwj())){
+            add.setOutZjlj(fkmx.getScwj());
+            add.setOutZjljProcess(0);
+        }
+
         add.setWjid(fkmx.getWjid());
         add.setReqSourceNum(fkmx.getQqlyxh());
         add.setUploadNotifyFlag(0);

+ 1 - 1
src/main/java/com/zfire/jiasm/syncdata/service/impl/GLPPWXGQueryAddServiceImpl.java

@@ -441,8 +441,8 @@ public class GLPPWXGQueryAddServiceImpl implements GLPPWXGQueryAddService {
     public void extractedBx(){
         List<WebsitWorker> websitWorkers = new ArrayList<>();
         List<WebsitWorker> websitWorkerUpList = new ArrayList<>();
-        // 提取需要处理的证件照数据
 
+        // 提取需要处理的证件照数据
         websitWorkers = websitWorkerService.lambdaQuery()
                 .eq(WebsitWorker::getOutZjljProcess,0)
                 // .in(WebsitWorker::getWebsitWorkerId,"1696842046686597122","1696842046724345857","1698942353616801794")// 测试用

+ 136 - 0
src/main/java/com/zfire/jiasm/syncdata/service/impl/OrderOperatingLogFileServiceImpl.java

@@ -0,0 +1,136 @@
+package com.zfire.jiasm.syncdata.service.impl;
+
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.zfire.jiasm.syncdata.base.BaseService;
+import com.zfire.jiasm.syncdata.gree.GreeLogic;
+import com.zfire.jiasm.syncdata.plus.entity.OrderRepairOperatingLog;
+import com.zfire.jiasm.syncdata.plus.entity.WebsitWorker;
+import com.zfire.jiasm.syncdata.plus.service.OrderRepairOperatingLogService;
+import com.zfire.jiasm.syncdata.service.OrderOperatingLogFileService;
+import com.zfire.jiasm.syncdata.service.PublicService;
+import com.zfire.jiasm.syncdata.utils.oss.OSSUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+@Slf4j
+@Service
+public class OrderOperatingLogFileServiceImpl implements OrderOperatingLogFileService {
+    @Resource
+    OrderRepairOperatingLogService orderRepairOperatingLogService;
+    @Resource
+    PublicService publicService;
+    @Resource
+    BaseService baseService;
+    @Resource
+    GreeLogic greeLogic;
+    @Resource
+    OSSUtil ossUtil;
+
+
+    @Override
+    public void extractedRepairFile(){
+        List<WebsitWorker> websitWorkers = new ArrayList<>();
+        List<OrderRepairOperatingLog> orolsUp = new ArrayList<>();
+        List<OrderRepairOperatingLog> orols = new ArrayList<>();
+
+        // 提取需要处理的证件照数据
+        orols = orderRepairOperatingLogService.lambdaQuery()
+                .eq(OrderRepairOperatingLog::getOutZjljProcess,0)
+                .isNotNull(OrderRepairOperatingLog::getOutZjlj).list();
+        for (OrderRepairOperatingLog item :orols){
+            try{
+                // 生成图片
+                processInfo(item);
+                orolsUp.add(item);
+
+
+                updateInfo(orolsUp, 100);
+            } catch (Exception ex) {
+                ex.printStackTrace();
+                updateInfo(orolsUp, 0);
+                log.info("生成生成维修工单同步的附件信息结束失败 order_repair_operating_log.websit_worker_id= {}",item.getId());
+            }
+        }
+
+    }
+
+    private void updateInfo(List<OrderRepairOperatingLog> orolsUp, int i) {
+        if (orolsUp.size() > i) {
+            orderRepairOperatingLogService.updateBatchById(orolsUp);
+            orolsUp.clear();
+        }
+    }
+
+
+
+    private void processInfo(OrderRepairOperatingLog orol) throws IOException {
+        if (StringUtils.isNotEmpty(orol.getOutZjlj())){
+            // 多个附件处理
+            if (orol.getOutZjlj().contains(",")){
+                Boolean flag = Boolean.TRUE;
+                int num=0;
+                String insureFiles = "";
+                String outInsureCert = "";
+
+                List<String> result = Arrays.asList(orol.getOutZjlj().split(","));
+
+                // 上传图片
+                for (String p:result){
+                    String id = putCert(p);
+                    if (StringUtils.isNotEmpty(id)){
+                        if (num==0){
+                            insureFiles=id;
+                            outInsureCert=p;
+                        } else {
+                            insureFiles=insureFiles+","+id;
+                            outInsureCert=outInsureCert+","+p;
+                        }
+                        orol.setFileUrl(insureFiles);
+                        orol.setBrandFileId(outInsureCert);
+                        new File(id).delete();
+                    } else {
+                        flag = Boolean.FALSE;
+                    }
+                    num = num +1 ;
+                }
+                if (flag){
+                    orol.setOutZjljProcess(1);
+                }
+            } else {
+                String id = putCert(orol.getOutZjlj());
+                if (StringUtils.isNotEmpty(id)){
+                    orol.setFileUrl(id);
+                    orol.setBrandFileId(orol.getOutZjlj());
+                    orol.setOutZjljProcess(1);
+                    new File(id).delete();
+                }
+            }
+        }
+    }
+
+
+
+    private String putCert(String image) throws IOException {
+        String fileId = "";
+        String id = publicService.path(image);
+        File newFile = publicService.createf(id);
+
+        try{
+            baseService.saveToFile(greeLogic.greeFileUrl(image), newFile);
+            ossUtil.uploadFile(id, newFile);
+            fileId = id;
+            return fileId;
+        } catch (Exception ex) {
+            ex.printStackTrace();
+            log.info("生成师傅证件照信息失败");
+        }
+        return fileId;
+    }
+}