|
@@ -166,30 +166,60 @@ public class LongYanPurchaseOrderServiceImpl extends BaseServiceImpl<LongYanPurc
|
|
|
model.setTotalNum(totalNum);
|
|
|
|
|
|
longYanPurchaseDetailMapper.insertListforComplex(BeanConverterUtil.copyListProperties(detailDTOS, LongYanPurchaseDetail.class));
|
|
|
- SbModelSpareBomDTO sbModelSpareBomDTO = new SbModelSpareBomDTO();
|
|
|
- sbModelSpareBomDTO.setSbId(model.getSbId());
|
|
|
- List<SbModelSpareBomVO> bomVOS = sbModelSpareBomMapper.selectVOList(sbModelSpareBomDTO);
|
|
|
- boolean flag = false;
|
|
|
- List<SbModelSpareBom> boms = new ArrayList<>();
|
|
|
- for (LongYanPurchaseDetailDTO detailDTO : detailDTOS) {
|
|
|
- flag = false;
|
|
|
- if (bomVOS != null) {
|
|
|
- for (SbModelSpareBomVO vo : bomVOS) {
|
|
|
- if (vo.getSpareId().equals(detailDTO.getSpareId())) {
|
|
|
- flag = true;
|
|
|
- break;
|
|
|
+ List<String> sbIds = new ArrayList<>();
|
|
|
+ SbInfo sbInfo = sbInfoMapper.selectByPrimaryKey(model.getSbId());
|
|
|
+ SbInfoDTO queryDto = new SbInfoDTO();
|
|
|
+ if (sbInfo.getModel()!=null && !sbInfo.getModel().trim().equals("") &&!sbInfo.getModel().equals("暂无")) {
|
|
|
+ queryDto.setModel(sbInfo.getModel());
|
|
|
+ List<SbInfoVO> sbInfoVOS = sbInfoMapper.selectVOList(queryDto);
|
|
|
+ sbIds = sbInfoVOS.stream().map(SbInfoVO::getId).collect(Collectors.toList());
|
|
|
+ SbModelSpareBomDTO sbModelSpareBomDTO = new SbModelSpareBomDTO();
|
|
|
+
|
|
|
+// sbModelSpareBomDTO.setSbIds(sbIds);
|
|
|
+ List<SbModelSpareBomVO> bomVOS = sbModelSpareBomMapper.selectVOList(sbModelSpareBomDTO);
|
|
|
+ List<String> spareIds = detailDTOS.stream().map(LongYanPurchaseDetailDTO::getSpareId).collect(Collectors.toList());
|
|
|
+ SbModelSpareBomDTO dto = new SbModelSpareBomDTO();
|
|
|
+ dto.setSpareIds(spareIds);
|
|
|
+ dto.setSbIds(sbIds);
|
|
|
+// List<SbModelSpareBomVO> sbModelSpareBomVOS = sbModelSpareBomMapper.selectVOList(dto);
|
|
|
+ Weekend<SbModelSpareBom> weekend = new Weekend(SbModelSpareBom.class);
|
|
|
+ WeekendCriteria<SbModelSpareBom,Object> weekendCriteria = weekend.weekendCriteria();
|
|
|
+ weekendCriteria.andIn(SbModelSpareBom::getSpareId,spareIds);
|
|
|
+ weekendCriteria.andIn(SbModelSpareBom::getSbId,sbIds);
|
|
|
+ sbModelSpareBomMapper.deleteByExample(weekend);
|
|
|
+ List<SbModelSpareBom> boms = new ArrayList<>();
|
|
|
+ for (String sbId:sbIds){
|
|
|
+ for (LongYanPurchaseDetailDTO detailDTO:detailDTOS){
|
|
|
+ packageBom(boms,detailDTO,sbId);
|
|
|
}
|
|
|
}
|
|
|
- if (!flag) {
|
|
|
- packageBom(boms,detailDTO, model.getSbId());
|
|
|
+ if (boms!=null && boms.size()>0){
|
|
|
+ sbModelSpareBomMapper.insertListforComplex(boms);
|
|
|
}
|
|
|
- } else {
|
|
|
- packageBom(boms, detailDTO, model.getSbId());
|
|
|
}
|
|
|
- }
|
|
|
- if (boms!=null&&boms.size()>0) {
|
|
|
- sbModelSpareBomMapper.insertListforComplex(boms);
|
|
|
- }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+// List<SbModelSpareBom> boms = new ArrayList<>();
|
|
|
+// for (LongYanPurchaseDetailDTO detailDTO : detailDTOS) {
|
|
|
+// boolean flag = false;
|
|
|
+// if (bomVOS != null) {
|
|
|
+// for (SbModelSpareBomVO vo : bomVOS) {
|
|
|
+// if (vo.getSpareId().equals(detailDTO.getSpareId())) {
|
|
|
+// flag = true;
|
|
|
+// break;
|
|
|
+// }
|
|
|
+// }
|
|
|
+// if (!flag) {
|
|
|
+// packageBom(boms,detailDTO, model.getSbId());
|
|
|
+// }
|
|
|
+// } else {
|
|
|
+// packageBom(boms, detailDTO, model.getSbId());
|
|
|
+// }
|
|
|
+// }
|
|
|
+// if (boms!=null&&boms.size()>0) {
|
|
|
+// sbModelSpareBomMapper.insertListforComplex(boms);
|
|
|
+// }
|
|
|
return super.saveModelByDTO(model);
|
|
|
}
|
|
|
|