yaozhixue vor 1 Jahr
Ursprung
Commit
a6bc91bb0b

+ 33 - 3
src/main/java/com/zfire/jiasm/syncdata/service/impl/OrderBaseInstallCjOrWgServiceImpl.java

@@ -148,13 +148,16 @@ public class OrderBaseInstallCjOrWgServiceImpl implements orderBaseInstallCjOrWg
             }
 
             // 初始化数据
-            upInit(ojtutl, CategoryRefmap, orderBase);
+            if (!upInit(ojtutl, CategoryRefmap, orderBase)){
+                return  Boolean.FALSE;
+            }
         }
 
         return orderBaseInstallProc(brand, ojtutl, CategoryRefmap, orderBase);
     }
 
-    private void upInit(@NotNull OutJiasmToGreeUploadTaskList ojtutl, Map<String, List<SysDictRef>> CategoryRefmap, OrderBase orderBase) {
+    private Boolean upInit(@NotNull OutJiasmToGreeUploadTaskList ojtutl, Map<String, List<SysDictRef>> CategoryRefmap, OrderBase orderBase) {
+        List<OrderInstallDetail> details = new ArrayList<>();
         // 修改采集明细表与采集条码表ID
         upOutId(ojtutl.getId());
 
@@ -174,12 +177,39 @@ public class OrderBaseInstallCjOrWgServiceImpl implements orderBaseInstallCjOrWg
         uploadOrderDetailFile(ojtutl, CategoryRefmap, orderBase);
 
         // 管理端采集的条码图并没全部给到采集条码表中,这里需要转移到采集条码表中
-        List<OrderInstallDetail> details = orderInstallDetailService.lambdaQuery()
+        details = orderInstallDetailService.lambdaQuery()
                 .eq(OrderInstallDetail::getOrderBaseId, orderBase.getId())
                 .eq(OrderInstallDetail::getStatus, 1).list();
         for (OrderInstallDetail detail:details){
             upCodep(detail);
         }
+
+        // 图片数据同步检测
+        return checkOrderDetailFile(ojtutl);
+    }
+
+    @NotNull
+    private Boolean checkOrderDetailFile(@NotNull OutJiasmToGreeUploadTaskList ojtutl) {
+        List<OrderDetailFile> detailFiles = new ArrayList<>();
+        Boolean flag = Boolean.TRUE;
+        detailFiles = orderDetailFileService.lambdaQuery()
+                .eq(OrderDetailFile::getOrderBaseId, ojtutl.getId())
+                .eq(OrderDetailFile::getBrandFilePath,"").list();
+        for (OrderDetailFile file:detailFiles){
+            // 工单号, file的id即附件表的id,uuid统一值
+            // path未准备上传被忽略
+            if (StringUtils.isEmpty(file.getFilePath())){
+                flag = Boolean.FALSE;
+                break;
+            }
+            // 品牌方fileindex未获取上传被忽略
+            if (StringUtils.isEmpty(file.getBrandFilePath())){
+                flag = Boolean.FALSE;
+                break;
+            }
+        }
+        detailFiles.clear();
+        return flag;
     }
 
     private void addTSHJP(@NotNull OutJiasmToGreeUploadTaskList ojtutl, OrderBase orderBase) {

+ 33 - 4
src/main/java/com/zfire/jiasm/syncdata/service/impl/RepairProduceDataUploadServiceImpl.java

@@ -209,7 +209,9 @@ public class RepairProduceDataUploadServiceImpl implements RepairProduceDataUplo
                                     .eq(OrderBase::getId, sourceData.getOrderNo()).one();
                             if (orderBase !=null && orderBase.getUploadFlag()){
                                 // 增加初始化处理,不需要事务
-                                dataInit(sourceData, newDykh, orderBase);
+                                if (!dataInit(sourceData, newDykh, orderBase)){
+                                    continue;
+                                }
                             }
                             if (uploadTaskType==66){
                                 generateItfTblAssignUpload(brand, sysDictRefXLMapXq, taskId,
@@ -959,9 +961,9 @@ public class RepairProduceDataUploadServiceImpl implements RepairProduceDataUplo
         generateRepairDetailOrReason(brand, orderBase);
     }
 
-    private void dataInit(OutJiasmToGreeUploadTaskList sourceData, String newDykh, OrderBase orderBase) {
+    private Boolean dataInit(OutJiasmToGreeUploadTaskList sourceData, String newDykh, OrderBase orderBase) {
         // 同步工单的pgid,pguuid
-        upOrderBasePgid(sourceData, orderBase, newDykh);
+        upOrderBasePgid(orderBase, newDykh);
         // 同步维修工单产品信息 pgid
         upOrderProduct(sourceData, newDykh);
         // 同步维修工单操作日志pgid
@@ -984,6 +986,32 @@ public class RepairProduceDataUploadServiceImpl implements RepairProduceDataUplo
 
         // 上传图片
         generateFileInit(orderBase);
+
+        return checkOrderDetailFile(orderBase.getId());
+    }
+
+
+    private Boolean checkOrderDetailFile(String id) {
+        List<OrderDetailFile> detailFiles = new ArrayList<>();
+        Boolean flag = Boolean.TRUE;
+        detailFiles = orderDetailFileService.lambdaQuery()
+                .eq(OrderDetailFile::getOrderBaseId, id)
+                .eq(OrderDetailFile::getBrandFilePath,"").list();
+        for (OrderDetailFile file:detailFiles){
+            // 工单号, file的id即附件表的id,uuid统一值
+            // path未准备上传被忽略
+            if (StringUtils.isEmpty(file.getFilePath())){
+                flag = Boolean.FALSE;
+                break;
+            }
+            // 品牌方fileindex未获取上传被忽略
+            if (StringUtils.isEmpty(file.getBrandFilePath())){
+                flag = Boolean.FALSE;
+                break;
+            }
+        }
+        detailFiles.clear();
+        return flag;
     }
 
     private void updateOrderRepairDetailWxjsguid(String id) {
@@ -1226,6 +1254,7 @@ public class RepairProduceDataUploadServiceImpl implements RepairProduceDataUplo
                 }
                 OrderDetailFileInit(orderBase, detail);
 
+                // 同步图片
                 OrderDetailFileUpload(orderBase, detail);
             }
         }
@@ -2045,7 +2074,7 @@ public class RepairProduceDataUploadServiceImpl implements RepairProduceDataUplo
         }
     }
 
-    private void upOrderBasePgid(OutJiasmToGreeUploadTaskList sourceData, @NotNull OrderBase orderBase, String newDykh) {
+    private void upOrderBasePgid(OrderBase orderBase, String newDykh) {
         if (StringUtils.isEmpty(orderBase.getPgid()) || orderBase.getPgid().equals("0")){
             orderBase.setPgid(newDykh);
         }