|
@@ -8,12 +8,10 @@ import com.rongwei.bsentity.domain.ZchxNdtProjectNdtCheckWeldSeamDo;
|
|
import com.rongwei.bscommon.sys.dao.ZchxNdtProjectNdtCheckWeldSeamDao;
|
|
import com.rongwei.bscommon.sys.dao.ZchxNdtProjectNdtCheckWeldSeamDao;
|
|
import com.rongwei.bscommon.sys.service.ZchxNdtProjectNdtCheckWeldSeamService;
|
|
import com.rongwei.bscommon.sys.service.ZchxNdtProjectNdtCheckWeldSeamService;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
+import com.rongwei.bsentity.dto.ndt.EditWeldResultBO;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import java.util.HashSet;
|
|
|
|
-import java.util.List;
|
|
|
|
-import java.util.Set;
|
|
|
|
-import java.util.stream.Collectors;
|
|
|
|
|
|
+import java.util.*;
|
|
|
|
|
|
/**
|
|
/**
|
|
* <p>
|
|
* <p>
|
|
@@ -33,12 +31,16 @@ public class ZchxNdtProjectNdtCheckWeldSeamServiceImpl extends ServiceImpl<ZchxN
|
|
* @param completedWeldList
|
|
* @param completedWeldList
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
- public void completeWeld(String checkId, List<String> completedWeldList) {
|
|
|
|
|
|
+ public EditWeldResultBO completeWeld(String checkId, List<String> completedWeldList) {
|
|
|
|
|
|
- if(ObjectUtil.isEmpty(completedWeldList)) {
|
|
|
|
- return ;
|
|
|
|
|
|
+ //修改记录
|
|
|
|
+ final EditWeldResultBO resultResultBO = editResultHistory(checkId, completedWeldList);
|
|
|
|
+
|
|
|
|
+ if(ObjectUtil.isEmpty(resultResultBO.getEditWeldDescList())) { //不存在修改记录不做更新
|
|
|
|
+ return resultResultBO;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ //更新申请单明细
|
|
// 所有设值为未完成
|
|
// 所有设值为未完成
|
|
final LambdaUpdateWrapper<ZchxNdtProjectNdtCheckWeldSeamDo> updateUncomWrapper = Wrappers.lambdaUpdate();
|
|
final LambdaUpdateWrapper<ZchxNdtProjectNdtCheckWeldSeamDo> updateUncomWrapper = Wrappers.lambdaUpdate();
|
|
updateUncomWrapper.set(ZchxNdtProjectNdtCheckWeldSeamDo::getResult, "20")
|
|
updateUncomWrapper.set(ZchxNdtProjectNdtCheckWeldSeamDo::getResult, "20")
|
|
@@ -52,6 +54,8 @@ public class ZchxNdtProjectNdtCheckWeldSeamServiceImpl extends ServiceImpl<ZchxN
|
|
.in(ZchxNdtProjectNdtCheckWeldSeamDo::getWeldcode, completedWeldList)
|
|
.in(ZchxNdtProjectNdtCheckWeldSeamDo::getWeldcode, completedWeldList)
|
|
.eq(ZchxNdtProjectNdtCheckWeldSeamDo::getCheckid, checkId);
|
|
.eq(ZchxNdtProjectNdtCheckWeldSeamDo::getCheckid, checkId);
|
|
update(updateComWrapper);
|
|
update(updateComWrapper);
|
|
|
|
+
|
|
|
|
+ return resultResultBO;
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -69,4 +73,87 @@ public class ZchxNdtProjectNdtCheckWeldSeamServiceImpl extends ServiceImpl<ZchxN
|
|
|
|
|
|
return (int) list.stream().map(ZchxNdtProjectNdtCheckWeldSeamDo::getWeldcode).distinct().count();
|
|
return (int) list.stream().map(ZchxNdtProjectNdtCheckWeldSeamDo::getWeldcode).distinct().count();
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 修改记录
|
|
|
|
+ *
|
|
|
|
+ * @param checkId
|
|
|
|
+ * @param completedWeldList
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ private EditWeldResultBO editResultHistory(String checkId, List<String> completedWeldList) {
|
|
|
|
+ final LambdaQueryWrapper<ZchxNdtProjectNdtCheckWeldSeamDo> queryWrapper = Wrappers.lambdaQuery();
|
|
|
|
+ queryWrapper.eq(ZchxNdtProjectNdtCheckWeldSeamDo::getCheckid, checkId);
|
|
|
|
+ final List<ZchxNdtProjectNdtCheckWeldSeamDo> list = list(queryWrapper);
|
|
|
|
+
|
|
|
|
+ return editResultHistory(list, completedWeldList);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 修改记录
|
|
|
|
+ *
|
|
|
|
+ * @param list
|
|
|
|
+ * @param completedWeldList
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ private EditWeldResultBO editResultHistory(List<ZchxNdtProjectNdtCheckWeldSeamDo> list, List<String> completedWeldList) {
|
|
|
|
+ if(ObjectUtil.isEmpty(ObjectUtil.isEmpty(list))) {
|
|
|
|
+ return EditWeldResultBO.builder()
|
|
|
|
+ .unselectedWeldList(Collections.EMPTY_LIST)
|
|
|
|
+ .selectedWeldList(Collections.EMPTY_LIST)
|
|
|
|
+ .editWeldDescList(Collections.EMPTY_LIST)
|
|
|
|
+ .build();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ List<String> descList = new ArrayList<>();
|
|
|
|
+ List<String> selectList = new ArrayList<>();
|
|
|
|
+ List<String> unselectList = new ArrayList<>();
|
|
|
|
+
|
|
|
|
+ // 当前未选择即取消所有已选,将已选改成未选
|
|
|
|
+ if(ObjectUtil.isEmpty(completedWeldList)) {
|
|
|
|
+ for(ZchxNdtProjectNdtCheckWeldSeamDo weld : list) {
|
|
|
|
+ if("10".equals(weld.getResult())) {
|
|
|
|
+ descList.add(weld.getWeldcode().concat("已选->未选"));
|
|
|
|
+ unselectList.add(weld.getWeldcode());
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return EditWeldResultBO.builder()
|
|
|
|
+ .unselectedWeldList(unselectList)
|
|
|
|
+ .selectedWeldList(Collections.EMPTY_LIST)
|
|
|
|
+ .editWeldDescList(descList)
|
|
|
|
+ .build();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //存在已选
|
|
|
|
+ for(ZchxNdtProjectNdtCheckWeldSeamDo weld : list) { //遍历历史焊缝
|
|
|
|
+ // 未选 -》 已选
|
|
|
|
+ // 未选 -》 未选
|
|
|
|
+ // 已选 -》未选
|
|
|
|
+ // 已选 -》 已选
|
|
|
|
+ if("20".equals(weld.getResult()) || ObjectUtil.isEmpty(weld.getResult())) { //未选
|
|
|
|
+ //未选 -》 已选
|
|
|
|
+ if(completedWeldList.contains(weld.getWeldcode())) { //包含表示已选
|
|
|
|
+ descList.add(weld.getWeldcode().concat("未选->已选"));
|
|
|
|
+ selectList.add(weld.getWeldcode());
|
|
|
|
+ } else {// 未选 -》 未选
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ } else { //已选
|
|
|
|
+ //已选 -》 已选
|
|
|
|
+ if(completedWeldList.contains(weld.getWeldcode())) { //包含表示已选
|
|
|
|
+ continue;
|
|
|
|
+ } else {// 已选 -》未选
|
|
|
|
+ descList.add(weld.getWeldcode().concat("已选->未选"));
|
|
|
|
+ unselectList.add(weld.getWeldcode());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return EditWeldResultBO.builder()
|
|
|
|
+ .unselectedWeldList(unselectList)
|
|
|
|
+ .selectedWeldList(selectList)
|
|
|
|
+ .editWeldDescList(descList)
|
|
|
|
+ .build();
|
|
|
|
+ }
|
|
}
|
|
}
|