yaozhixue vor 1 Jahr
Ursprung
Commit
f52bcf94e3

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

@@ -1,5 +1,6 @@
 package com.zfire.jiasm.syncdata.service.impl;
 
+import cn.hutool.extra.spring.SpringUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
@@ -159,12 +160,16 @@ public class OrderBaseInstallCjOrWgServiceImpl implements orderBaseInstallCjOrWg
             // 采集条码表中的pgguid 统一改成工单基础表的pgguid,tmguid自生成
             upOrderInstallDetailCodePgguid(ojtutl, orderBase);
 
+            // 特殊安装确认书图从采集明细表中移到附件表中
+            addTSHJP(ojtutl, orderBase);
+
             // 上传附件表图片信息
             uploadOrderDetailFile(ojtutl, CategoryRefmap, orderBase);
 
             // 管理端采集的条码图并没全部给到采集条码表中,这里需要转移到采集条码表中
             List<OrderInstallDetail> details = orderInstallDetailService.lambdaQuery()
-                    .eq(OrderInstallDetail::getOrderBaseId, orderBase.getId()).list();
+                    .eq(OrderInstallDetail::getOrderBaseId, orderBase.getId())
+                    .eq(OrderInstallDetail::getStatus, 1).list();
             for (OrderInstallDetail detail:details){
                 upCodep(detail);
             }
@@ -173,6 +178,66 @@ public class OrderBaseInstallCjOrWgServiceImpl implements orderBaseInstallCjOrWg
         return orderBaseInstallProc(brand, ojtutl, CategoryRefmap, orderBase);
     }
 
+    private void addTSHJP(@NotNull OutJiasmToGreeUploadTaskList ojtutl, OrderBase orderBase) {
+        OrderInstallDetail iods = orderInstallDetailService.lambdaQuery()
+                .eq(OrderInstallDetail::getOrderBaseId, orderBase.getId())
+                .eq(OrderInstallDetail::getIsSpecial, "YES")
+                .isNotNull(OrderInstallDetail::getSpecialSignUrl)
+                .eq(OrderInstallDetail::getStatus, 1)
+                .last("limit 1").one();
+        OrderDetailFile detailFiles = orderDetailFileService.lambdaQuery()
+                .eq(OrderDetailFile::getOrderBaseId, ojtutl.getId())
+                .eq(OrderDetailFile::getFileType, 44).last("limit 1").one();
+        if (iods != null){
+            OrderDetailFile addFile = new OrderDetailFile();
+            // 存在且不相同时重修改
+            if (detailFiles != null && !detailFiles.getFilePath().equals(iods.getSpecialSignUrl())){
+
+                detailFiles.setFilePath(iods.getSpecialSignUrl());
+                detailFiles.setBrandFilePath("");
+
+                detailFiles.setUpdateTime(new Date());
+                if (iods.getUpdateTime() !=null){
+                    detailFiles.setUpdateTime(iods.getUpdateTime());
+                }
+                detailFiles.setUpdateBy("system");
+                if (StringUtils.isNotEmpty(iods.getUpdateBy())){
+                    detailFiles.setUpdateBy(iods.getUpdateBy());
+                }
+                MyBeanUtils.copyProperties(detailFiles, addFile);
+            }
+            // 不存在生成新的
+            if (detailFiles == null){
+                addFile.setId(IdWorker.getIdStr());
+                addFile.setFjguid(UUID.randomUUID().toString());
+                addFile.setOrderBaseId(ojtutl.getId());
+                addFile.setOrderDetailId(iods.getId());
+                addFile.setFileName("特殊环境安装确认书");
+                addFile.setFilePath(iods.getSpecialSignUrl());
+                addFile.setFileRemark("特殊环境安装确认书");
+                addFile.setFileType(44);
+                addFile.setCreateTime(new Date());
+                if (iods.getCreateTime() !=null){
+                    addFile.setCreateTime(iods.getCreateTime());
+                }
+                addFile.setCreateBy("system");
+                if (StringUtils.isNotEmpty(iods.getCreateBy())){
+                    addFile.setCreateBy(iods.getCreateBy());
+                }
+                addFile.setUpdateTime(new Date());
+                if (iods.getUpdateTime() !=null){
+                    addFile.setUpdateTime(iods.getUpdateTime());
+                }
+                addFile.setUpdateBy("system");
+                if (StringUtils.isNotEmpty(iods.getUpdateBy())){
+                    addFile.setUpdateBy(iods.getUpdateBy());
+                }
+            }
+
+            orderDetailFileService.saveOrUpdate(addFile);
+        }
+    }
+
     @Override
     public Boolean orderBaseInstallCjOrWg(String cjOrWg, Brand brand, OutJiasmToGreeUploadTaskList ojtutl,
                                           Map<String, List<SysDictRef>> CategoryRefmap){
@@ -304,6 +369,7 @@ public class OrderBaseInstallCjOrWgServiceImpl implements orderBaseInstallCjOrWg
             // 提取采集的数据
             List<OrderInstallDetail> orderInstallDetails = orderInstallDetailService.lambdaQuery()
                     .eq(OrderInstallDetail::getOrderBaseId, orderBase.getId())
+                    .eq(OrderInstallDetail::getStatus, 1)
                     .orderByAsc(OrderInstallDetail::getId)
                     .list();
             Map<String, Integer> val = new HashMap<String,Integer>();