Quellcode durchsuchen

优化同步机台接口1

wangxuan vor 9 Monaten
Ursprung
Commit
90587ce982

+ 15 - 0
business-common/src/main/java/com/rongwei/bscommon/sys/dao/ZhcxCommissionCheckDao.java

@@ -5,7 +5,10 @@ import com.rongwei.bsentity.domain.ZhcxCommissionCheckDo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
+import java.util.Set;
 
 /**
  * <p>
@@ -43,4 +46,16 @@ public interface ZhcxCommissionCheckDao extends BaseMapper<ZhcxCommissionCheckDo
      * @return
      */
     List<ZhcxCommissionCheckDetailDo> selectDetailListByPidAndChapterno(@Param("pid")String pid, @Param("chapterno")String chapterno);
+
+
+    List<ZhcxCommissionCheckDetailDo> selectHistoryDetailList(@Param("pid")String pid);
+
+    default Map<String, ZhcxCommissionCheckDetailDo> getHistoryDetailMap(String pid) {
+        List<ZhcxCommissionCheckDetailDo> list = selectHistoryDetailList(pid);
+        Map<String, ZhcxCommissionCheckDetailDo> resultMap = new HashMap<>();
+        for (ZhcxCommissionCheckDetailDo detailDo : list) {
+            resultMap.put(detailDo.getBasedetailid(), detailDo);
+        }
+        return resultMap;
+    }
 }

+ 2 - 1
business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ZhcxCommissionCheckParameterSetDetalServiceImpl.java

@@ -41,7 +41,8 @@ public class ZhcxCommissionCheckParameterSetDetalServiceImpl extends ServiceImpl
         List<ZhcxCommissionCheckParameterSetDetalDo> list = this.list(queryWrapper);*/
         List<ZhcxCommissionCheckParameterSetDetalDo> list = baseMapper.getAllByCheckidOrId(masterId);
         if (list.size() != 1){
-            return R.error("试车参数数据异常");
+            //return R.error("试车参数数据异常");
+            return R.ok();
         }
         ZhcxCommissionCheckParameterSetDetalDo parameterSetDetalDo = list.get(0);
         // 前端已经计算了

+ 25 - 3
business-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ZhcxCommissionCheckServiceImpl.java

@@ -201,7 +201,7 @@ public class ZhcxCommissionCheckServiceImpl extends ServiceImpl<ZhcxCommissionCh
     @Override
     public R updateSynchronizationDetail(CheckDetailDTO detailDTO) {
         String masterId = detailDTO.getMasterId();
-        if (masterId == null){
+        if (Objects.isNull(masterId)){
             return R.error("主表id为空");
         }
         // 判断该机台是否已发运 如果已发运 就直接返回
@@ -226,9 +226,31 @@ public class ZhcxCommissionCheckServiceImpl extends ServiceImpl<ZhcxCommissionCh
         for (ZhcxCommissionCheckDo zhcxCommissionCheckDo : list) {
             // 1.将其他机台的子表全删
             baseMapper.deleteCheckDetailByPid(zhcxCommissionCheckDo.getId());
+            Map<String, ZhcxCommissionCheckDetailDo> historyDetailMap = baseMapper.getHistoryDetailMap(zhcxCommissionCheckDo.getId());
             // 2.将主试车表的检查内容复制
             for (ZhcxCommissionCheckDetailDo detailDo : detailDos) {
                 ZhcxCommissionCheckDetailDo detailVo = structureCheckDetailVo(detailDo,zhcxCommissionCheckDo.getId());
+                if(!StringUtils.isEmpty(detailVo.getBasedetailid())){
+                    ZhcxCommissionCheckDetailDo checkDetailDo = historyDetailMap.get(detailVo.getBasedetailid());
+                    if(Objects.nonNull(checkDetailDo)){
+                        // 用户填选填充
+                        detailVo.setDebuggerresult(checkDetailDo.getDebuggerresult());
+                        detailVo.setDebuggerdate(checkDetailDo.getDebuggerdate());
+                        detailVo.setDebuggerdata(checkDetailDo.getDebuggerdata());
+                        detailVo.setSelftester(checkDetailDo.getSelftester());
+                        detailVo.setSelftesterid(checkDetailDo.getSelftesterid());
+                        detailVo.setDebuggerpic(checkDetailDo.getDebuggerpic());
+                        detailVo.setDebuggernotes(checkDetailDo.getDebuggernotes());
+
+                        detailVo.setTestresult(checkDetailDo.getTestresult());
+                        detailVo.setTestdata(checkDetailDo.getTestdata());
+                        detailVo.setQa(checkDetailDo.getQa());
+                        detailVo.setQaid(checkDetailDo.getQaid());
+                        detailVo.setTestdate(checkDetailDo.getTestdate());
+                        detailVo.setTestpic(checkDetailDo.getTestpic());
+                        detailVo.setTestnotes(checkDetailDo.getTestnotes());
+                    }
+                }
                 resultCheckDetailDo.add(detailVo);
             }
         }
@@ -281,7 +303,7 @@ public class ZhcxCommissionCheckServiceImpl extends ServiceImpl<ZhcxCommissionCh
         // 排序
         detailVo.setSort(detailDo.getSort());
 
-        if(Objects.nonNull(detailDo.getChapterno())) {
+        /*if(Objects.nonNull(detailDo.getChapterno())) {
             List<ZhcxCommissionCheckDetailDo> doList = baseMapper.selectDetailListByPidAndChapterno(pid,detailDo.getChapterno());
             if (!doList.isEmpty()) {
                 ZhcxCommissionCheckDetailDo checkDetailDo = doList.get(0);
@@ -302,7 +324,7 @@ public class ZhcxCommissionCheckServiceImpl extends ServiceImpl<ZhcxCommissionCh
                 detailVo.setTestpic(checkDetailDo.getTestpic());
                 detailVo.setTestnotes(checkDetailDo.getTestnotes());
             }
-        }
+        }*/
         return detailVo;
     }
 

+ 17 - 0
business-common/src/main/resources/mybatis/business/ZhcxCommissionCheckDao.xml

@@ -55,4 +55,21 @@
           AND (DEBUGGERRESULT IS NOT NULL OR TESTRESULT IS NOT NULL)
         ORDER BY MODIFYDATE DESC
     </select>
+
+
+    <select id="selectHistoryDetailList" resultType="com.rongwei.bsentity.domain.ZhcxCommissionCheckDetailDo">
+        SELECT *
+        FROM (
+                 SELECT *,
+                        ROW_NUMBER() OVER (PARTITION BY BASEDETAILID ORDER BY MODIFYDATE DESC) AS row_num
+                 FROM INCONTROL.ZHCX_COMMISSION_CHECK_DETAIL
+                 WHERE DELETED = '1'
+                   AND PID = #{pid}
+                   AND (DEBUGGERRESULT IS NOT NULL OR TESTRESULT IS NOT NULL)
+                   AND (ISTITLE IS NULL OR ISTITLE = '')
+                 ORDER BY MODIFYDATE DESC
+             ) AS temp
+        WHERE row_num = 1
+        ORDER BY MODIFYDATE DESC
+    </select>
 </mapper>