|
@@ -12,6 +12,7 @@ import com.platform.common.util.StringUtils;
|
|
import com.platform.dao.bean.MyPage;
|
|
import com.platform.dao.bean.MyPage;
|
|
import com.platform.dao.dto.check.CheckProjectStandardRelationDTO;
|
|
import com.platform.dao.dto.check.CheckProjectStandardRelationDTO;
|
|
import com.platform.dao.dto.check.CheckStandardDTO;
|
|
import com.platform.dao.dto.check.CheckStandardDTO;
|
|
|
|
+import com.platform.dao.dto.longyanpurchaseorder.LongYanPurchaseDetailDTO;
|
|
import com.platform.dao.dto.part.PartInfoDTO;
|
|
import com.platform.dao.dto.part.PartInfoDTO;
|
|
import com.platform.dao.dto.sb.SbModelSpareBomDTO;
|
|
import com.platform.dao.dto.sb.SbModelSpareBomDTO;
|
|
import com.platform.dao.dto.sqarepartmanage.SparePartInfoDTO;
|
|
import com.platform.dao.dto.sqarepartmanage.SparePartInfoDTO;
|
|
@@ -42,9 +43,11 @@ import org.springframework.web.multipart.MultipartFile;
|
|
import tk.mybatis.mapper.weekend.Weekend;
|
|
import tk.mybatis.mapper.weekend.Weekend;
|
|
import tk.mybatis.mapper.weekend.WeekendCriteria;
|
|
import tk.mybatis.mapper.weekend.WeekendCriteria;
|
|
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
/**
|
|
* @Description 型号库-备件bom关联 service 实现类
|
|
* @Description 型号库-备件bom关联 service 实现类
|
|
@@ -57,6 +60,41 @@ import java.util.List;
|
|
public class SbModelSpareBomServiceImpl extends BaseServiceImpl<SbModelSpareBomMapper, SbModelSpareBom, SbModelSpareBomDTO> implements SbModelSpareBomService {
|
|
public class SbModelSpareBomServiceImpl extends BaseServiceImpl<SbModelSpareBomMapper, SbModelSpareBom, SbModelSpareBomDTO> implements SbModelSpareBomService {
|
|
private final SparePartInfoService sparePartInfoService;
|
|
private final SparePartInfoService sparePartInfoService;
|
|
private PartInfoService partInfoService;
|
|
private PartInfoService partInfoService;
|
|
|
|
+ private SbModelSpareBomMapper sbModelSpareBomMapper;
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public void synchronousAdd(SbModelSpareBomDTO dto) {
|
|
|
|
+ List<String> sbIds = dto.getSbIds();
|
|
|
|
+ List<SparePartInfoDTO> sparePartInfoDTOS = dto.getSparePartInfoList();
|
|
|
|
+ List<String> spareIds = sparePartInfoDTOS.stream().map(SparePartInfoDTO::getId).collect(Collectors.toList());
|
|
|
|
+ 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 (SparePartInfoDTO detailDTO:sparePartInfoDTOS){
|
|
|
|
+ packageBom(boms,detailDTO,sbId);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (boms!=null && boms.size()>0){
|
|
|
|
+ sbModelSpareBomMapper.insertListforComplex(boms);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ private void packageBom(List<SbModelSpareBom> boms, SparePartInfoDTO dto,String sbId){
|
|
|
|
+ SbModelSpareBom sbModelSpareBom = new SbModelSpareBom();
|
|
|
|
+ sbModelSpareBom.setSpareId(dto.getId());
|
|
|
|
+ sbModelSpareBom.setSbId(sbId);
|
|
|
|
+ sbModelSpareBom.setNum(new BigDecimal(1));
|
|
|
|
+ sbModelSpareBom.setId(IdGeneratorUtils.getObjectId());
|
|
|
|
+ sbModelSpareBom.setGgxh(dto.getGgxh());
|
|
|
|
+ sbModelSpareBom.setSpareName(dto.getName());
|
|
|
|
+ sbModelSpareBom.setModelId(sbId);
|
|
|
|
+ sbModelSpareBom.setNo(dto.getNo());
|
|
|
|
+ boms.add(sbModelSpareBom);
|
|
|
|
+ }
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public int batchDelete(List<String> ids) {
|
|
public int batchDelete(List<String> ids) {
|
|
Weekend<SbModelSpareBom> weekend = new Weekend<>(SbModelSpareBom.class);
|
|
Weekend<SbModelSpareBom> weekend = new Weekend<>(SbModelSpareBom.class);
|