zhou zhou
23 小时以前 cfe049492f81d2c650a2b17348593edbc5054498
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/DeliveryItemServiceImpl.java
@@ -11,17 +11,18 @@
import com.vincent.rsf.server.manager.entity.excel.AsnOrderTemplate;
import com.vincent.rsf.server.manager.entity.excel.DeliveryTemplate;
import com.vincent.rsf.server.manager.enums.*;
import com.vincent.rsf.server.manager.mapper.DeliveryMapper;
import com.vincent.rsf.server.manager.mapper.DeliveryItemMapper;
import com.vincent.rsf.server.manager.service.CompanysService;
import com.vincent.rsf.server.manager.service.DeliveryItemService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vincent.rsf.server.manager.service.DeliveryService;
import com.vincent.rsf.server.manager.service.MatnrService;
import com.vincent.rsf.server.system.constant.SerialRuleCode;
import com.vincent.rsf.server.system.utils.SerialRuleUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
@@ -33,14 +34,11 @@
public class DeliveryItemServiceImpl extends ServiceImpl<DeliveryItemMapper, DeliveryItem> implements DeliveryItemService {
    @Autowired
    private DeliveryService deliveryService;
    private DeliveryMapper deliveryMapper;
    @Autowired
    private MatnrService matnrService;
    @Autowired
    private CompanysService companysService;
    @Autowired
    private DeliveryItemService deliveryItemService;
    /**
     * excel DO单导入
     *
@@ -50,6 +48,7 @@
     * @return
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public R excelImport(MultipartFile file, Map<String, Object> hashMap, Long loginUserId) throws Exception {
        ExcelImportResult result = ExcelImportUtil.importExcelMore(file.getInputStream(), DeliveryTemplate.class, ExcelUtil.getDefaultImportParams());
        if (result.getList().isEmpty()) {
@@ -63,7 +62,7 @@
                throw new CoolException("单号不能为空!!");
            }
            DeliveryTemplate template = listMap.get(key).stream().findFirst().get();
            Delivery order = deliveryService.getOne(new LambdaQueryWrapper<Delivery>().eq(Delivery::getCode, key));
            Delivery order = deliveryMapper.selectOne(new LambdaQueryWrapper<Delivery>().eq(Delivery::getCode, key));
            if (!Objects.isNull(order)) {
                sbFaild.append(template.getDoCode()).append(",已添加!!");
                throw new CoolException(sbFaild.toString());
@@ -91,7 +90,7 @@
                    .setAnfme(Double.parseDouble(template.getAnfme()))
                    .setUpdateBy(loginUserId)
                    .setCreateBy(loginUserId);
            if (!deliveryService.save(order)) {
            if (deliveryMapper.insert(order) <= 0) {
                throw new CoolException("单据保存失败!!");
            }
            List<DeliveryItem> items = new ArrayList<>();
@@ -115,6 +114,9 @@
                if (Objects.isNull(matnr)) {
                    sbFaild.append(orderTemplate.getMatnrCode()).append("物料不存在");
                    throw new CoolException(sbFaild.toString());
                }
                if (!matnr.getName().equals(orderTemplate.getMaktx())) {
                    throw new CoolException("导入物料名称与库内名称不一致!!");
                }
                orderItem.setDeliveryId(order.getId())
                        .setDeliveryCode(order.getCode())
@@ -143,15 +145,15 @@
                }
                items.add(orderItem);
                if (!deliveryItemService.save(orderItem)) {
                if (!this.save(orderItem)) {
                    throw new CoolException("单据明细保存失败!!");
                }
            }
            if (!items.isEmpty()) {
                Double anfme = items.stream().mapToDouble(DeliveryItem::getAnfme).sum();
                if (!deliveryService.update(new LambdaUpdateWrapper<Delivery>()
                if (deliveryMapper.update(null, new LambdaUpdateWrapper<Delivery>()
                        .set(Delivery::getAnfme, anfme)
                        .eq(Delivery::getId, order.getId()))) {
                        .eq(Delivery::getId, order.getId())) <= 0) {
                    throw new CoolException("单据数量修改失败!!");
                }
            }