yaozhixue 1 year ago
parent
commit
ea93f08c6a

+ 14 - 2
src/main/java/com/zfire/jiasm/syncdata/service/impl/InstallProduceDataUploadServiceImpl.java

@@ -556,8 +556,20 @@ public class InstallProduceDataUploadServiceImpl implements InstallProduceDataUp
             // 管理端采集的条码图并没全部给到采集条码表中,这里需要转移到采集条码表中
             List<OrderInstallDetail> details = orderInstallDetailService.lambdaQuery()
                     .eq(OrderInstallDetail::getOrderBaseId, orderBase.getId()).list();
-            for (OrderInstallDetail detail:details){
-                orderBaseInstallCjOrWgService.upCodep(detail);
+
+            // 其他类型的单独处理
+            // 家用空调,家用空气能热水器,驻车空调,商用空调
+            if (!(orderBase.getMainName().equals("家用空调") ||
+                    orderBase.getMainName().equals("家用空气能热水器") ||
+                    orderBase.getMainName().equals("驻车空调") ||
+                    orderBase.getMainName().equals("商用空调"))){
+                for (OrderInstallDetail detail:details){
+                    orderBaseInstallCjOrWgService.upCodepOther(detail);
+                }
+            } else {
+                for (OrderInstallDetail detail:details){
+                    orderBaseInstallCjOrWgService.upCodep(detail);
+                }
             }
         }
 

+ 48 - 7
src/main/java/com/zfire/jiasm/syncdata/service/impl/OrderBaseInstallCjOrWgServiceImpl.java

@@ -179,8 +179,20 @@ public class OrderBaseInstallCjOrWgServiceImpl implements orderBaseInstallCjOrWg
         details = orderInstallDetailService.lambdaQuery()
                 .eq(OrderInstallDetail::getOrderBaseId, orderBase.getId())
                 .eq(OrderInstallDetail::getStatus, 1).list();
-        for (OrderInstallDetail detail:details){
-            upCodep(detail);
+
+        // 其他类型的单独处理
+        // 家用空调,家用空气能热水器,驻车空调,商用空调
+        if (!(orderBase.getMainName().equals("家用空调") ||
+                orderBase.getMainName().equals("家用空气能热水器") ||
+                orderBase.getMainName().equals("驻车空调") ||
+                orderBase.getMainName().equals("商用空调"))){
+            for (OrderInstallDetail detail:details){
+                upCodepOther(detail);
+            }
+        } else {
+            for (OrderInstallDetail detail:details){
+                upCodep(detail);
+            }
         }
 
         // 图片数据同步检测
@@ -1419,19 +1431,19 @@ public class OrderBaseInstallCjOrWgServiceImpl implements orderBaseInstallCjOrWg
     public void upCodep(OrderInstallDetail detail) {
         List<OrderInstallDetailCode> ucodes = new ArrayList<>();
         List<OrderInstallDetailCode> codes = orderInstallDetailCodeService.lambdaQuery()
-        .eq(OrderInstallDetailCode::getOrderBaseId, detail.getOrderBaseId())
-        .eq(OrderInstallDetailCode::getStatus,1).list();
+                .eq(OrderInstallDetailCode::getOrderBaseId, detail.getOrderBaseId())
+                .eq(OrderInstallDetailCode::getStatus,1).list();
 
         List<OrderDetailFile> detailFiles = orderDetailFileService.lambdaQuery()
-        .eq(OrderDetailFile::getOrderBaseId, detail.getOrderBaseId())
-        .in(OrderDetailFile::getFileType,1,3).list();
+                .eq(OrderDetailFile::getOrderBaseId, detail.getOrderBaseId())
+                .in(OrderDetailFile::getFileType,1,3).list();
         if (CollectionUtils.isNotEmpty(detailFiles) && CollectionUtils.isNotEmpty(codes)){
             for (OrderInstallDetailCode code:codes){
                 for (OrderDetailFile f:detailFiles){
                     // 条码类型相同,采集图与上传图同步
                     if (code.getType().equals(String.valueOf(f.getFileType())) &&
                             code.getSortNum().equals(f.getSortNum()) &&
-                    (!code.getPath().equals(f.getFilePath()) || !code.getGreeImageId().equals(f.getBrandFilePath()))){
+                            (!code.getPath().equals(f.getFilePath()) || !code.getGreeImageId().equals(f.getBrandFilePath()))){
                         code.setPath(f.getFilePath());
                         code.setGreeImageId(f.getBrandFilePath());
                         ucodes.add(code);
@@ -1454,6 +1466,35 @@ public class OrderBaseInstallCjOrWgServiceImpl implements orderBaseInstallCjOrWg
     }
 
 
+    @Override
+    public void upCodepOther(OrderInstallDetail detail) {
+        List<OrderInstallDetailCode> ucodes = new ArrayList<>();
+        // 类型值 2 ,41
+        List<OrderInstallDetailCode> codes = orderInstallDetailCodeService.lambdaQuery()
+                .eq(OrderInstallDetailCode::getOrderBaseId, detail.getOrderBaseId())
+                .eq(OrderInstallDetailCode::getStatus,2).list();
+
+        OrderDetailFile detailFile = orderDetailFileService.lambdaQuery()
+                .eq(OrderDetailFile::getOrderBaseId, detail.getOrderBaseId())
+                .in(OrderDetailFile::getFileType,41).last("limit 1").one();
+        if (detailFile != null && CollectionUtils.isNotEmpty(codes)){
+            for (OrderInstallDetailCode code:codes){
+                // 条码类型相同,采集图与上传图同步
+                if (!code.getPath().equals(detailFile.getFilePath()) || !code.getGreeImageId().equals(detailFile.getBrandFilePath())){
+                    code.setPath(detailFile.getFilePath());
+                    code.setGreeImageId(detailFile.getBrandFilePath());
+                    ucodes.add(code);
+                }
+            }
+        }
+
+        if (ucodes.size()>0){
+            orderInstallDetailCodeService.updateBatchById(ucodes);
+            ucodes.clear();
+        }
+    }
+
+
     public Boolean getDetailCodeCj(OrderBase orderBase, OrderInstallDetail detail,
                                     String mainName, String taskno, Long synReqId) throws Exception {
         // 获取条码采集明细id

+ 1 - 0
src/main/java/com/zfire/jiasm/syncdata/service/orderBaseInstallCjOrWgService.java

@@ -15,6 +15,7 @@ public interface orderBaseInstallCjOrWgService {
     void upOutId(String orderBaseId);
     Boolean orderBaseInstallCjOrWg(String cjOrWg, Brand brand, OutJiasmToGreeUploadTaskList ojtutl, Map<String, List<SysDictRef>> CategoryRefmap) throws Exception;
     void upCodep(OrderInstallDetail detail);
+    void upCodepOther(OrderInstallDetail detail);