package org.jeecg.modules.tms.service.impl;
|
|
import cn.hutool.core.collection.CollectionUtil;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import org.jeecg.modules.tms.convert.PreparationOrderConvert;
|
import org.jeecg.modules.tms.entity.PreparationOrder;
|
import org.jeecg.modules.tms.entity.PreparationOrderDetail;
|
import org.jeecg.modules.tms.entity.dto.PreparationOrderAndDetailDto;
|
import org.jeecg.modules.tms.mapper.PreparationOrderDetailMapper;
|
import org.jeecg.modules.tms.mapper.PreparationOrderMapper;
|
import org.jeecg.modules.tms.service.IPreparationOrderDetailService;
|
import org.jeecg.modules.tms.service.IPreparationOrderService;
|
import org.springframework.stereotype.Service;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.transaction.annotation.Transactional;
|
import java.io.Serializable;
|
import java.util.List;
|
import java.util.Collection;
|
|
/**
|
* @Description: 刀具准备单
|
* @Author: jeecg-boot
|
* @Date: 2025-06-09
|
* @Version: V1.0
|
*/
|
@Service
|
public class PreparationOrderServiceImpl extends ServiceImpl<PreparationOrderMapper, PreparationOrder> implements IPreparationOrderService {
|
|
@Autowired
|
private PreparationOrderMapper preparationOrderMapper;
|
@Autowired
|
private PreparationOrderDetailMapper preparationOrderDetailMapper;
|
@Autowired
|
private IPreparationOrderDetailService preparationOrderDetailService;
|
|
@Override
|
@Transactional(rollbackFor = Exception.class)
|
public void delMain(String id) {
|
preparationOrderDetailMapper.deleteByMainId(id);
|
preparationOrderMapper.deleteById(id);
|
}
|
|
@Override
|
@Transactional(rollbackFor = Exception.class)
|
public void delBatchMain(Collection<? extends Serializable> idList) {
|
for(Serializable id:idList) {
|
preparationOrderDetailMapper.deleteByMainId(id.toString());
|
preparationOrderMapper.deleteById(id);
|
}
|
}
|
|
@Override
|
@Transactional(rollbackFor = Exception.class)
|
public void editTotal(PreparationOrderAndDetailDto preparationOrderAndDetailDto) {
|
//先删除所有明细
|
preparationOrderDetailMapper.delete(new LambdaQueryWrapper<PreparationOrderDetail>()
|
.eq(PreparationOrderDetail::getPreparationOrderId, preparationOrderAndDetailDto.getId()));
|
PreparationOrder preparationOrder = PreparationOrderConvert.INSTANCE.convert(preparationOrderAndDetailDto);
|
updateById(preparationOrder);
|
List<PreparationOrderDetail> detailUpdateList = CollectionUtil.newArrayList();
|
preparationOrderAndDetailDto.getPreparationOrderDetailList().forEach(item->{
|
item.setPreparationOrderId(preparationOrder.getId());
|
detailUpdateList.add(item);
|
});
|
preparationOrderDetailService.saveBatch(detailUpdateList);
|
}
|
|
}
|