diff --git a/ruoyi-system/src/main/java/com/ruoyi/contract/controller/ConPurchaseController.java b/ruoyi-system/src/main/java/com/ruoyi/contract/controller/ConPurchaseController.java index ce35ceb..b7e7c52 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/contract/controller/ConPurchaseController.java +++ b/ruoyi-system/src/main/java/com/ruoyi/contract/controller/ConPurchaseController.java @@ -22,9 +22,12 @@ import com.ruoyi.contract.domain.bo.ConPurchaseMediaBo; import com.ruoyi.contract.domain.bo.ConPurchasePaymentBo; import com.ruoyi.contract.domain.bo.conpurchase.ConPurchaseBoCopy; import com.ruoyi.contract.domain.bo.conpurchase.ConPurchaseBoExtend; +import com.ruoyi.contract.domain.vo.ConPurchaseImportVO; import com.ruoyi.contract.domain.vo.ConPurchaseVo; import com.ruoyi.contract.service.IConPurchaseService; import lombok.RequiredArgsConstructor; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -51,6 +54,8 @@ import java.util.stream.Collectors; public class ConPurchaseController extends BaseController { private final IConPurchaseService iConPurchaseService; + private static final Logger logger = LoggerFactory.getLogger(ConPurchaseController.class); + /** * 查询采购合同信息列表 @@ -218,10 +223,11 @@ public class ConPurchaseController extends BaseController { */ @Log(title = "采购合同", businessType = BusinessType.IMPORT) @PostMapping("/importData") - public R importData(MultipartFile file) { + public R> importData(MultipartFile file) { try { return R.ok(iConPurchaseService.importPurchase(file)); } catch (Exception e) { + logger.error("采购合同导入异常,异常信息:{}",e.getMessage(),e); return R.fail(e.getMessage()); } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/contract/domain/vo/ConPurchaseImportVO.java b/ruoyi-system/src/main/java/com/ruoyi/contract/domain/vo/ConPurchaseImportVO.java index ec13d2f..94db7e6 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/contract/domain/vo/ConPurchaseImportVO.java +++ b/ruoyi-system/src/main/java/com/ruoyi/contract/domain/vo/ConPurchaseImportVO.java @@ -99,4 +99,6 @@ public class ConPurchaseImportVO { @Alias("状态") private String state; + + private String notes; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/contract/service/IConPurchaseService.java b/ruoyi-system/src/main/java/com/ruoyi/contract/service/IConPurchaseService.java index c9c0b96..5e63194 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/contract/service/IConPurchaseService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/contract/service/IConPurchaseService.java @@ -1,6 +1,7 @@ package com.ruoyi.contract.service; import com.ruoyi.contract.domain.bo.conpurchase.ConPurchaseBoExtend; +import com.ruoyi.contract.domain.vo.ConPurchaseImportVO; import com.ruoyi.contract.domain.vo.ConPurchaseVo; import com.ruoyi.contract.domain.bo.ConPurchaseBo; import com.ruoyi.common.core.page.TableDataInfo; @@ -106,5 +107,5 @@ public interface IConPurchaseService { * @return 结果 * @throws Exception */ - int importPurchase(MultipartFile file) throws Exception; + List importPurchase(MultipartFile file) throws Exception; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/contract/service/impl/ConPurchaseServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/contract/service/impl/ConPurchaseServiceImpl.java index 698d3a6..74db6d5 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/contract/service/impl/ConPurchaseServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/contract/service/impl/ConPurchaseServiceImpl.java @@ -135,7 +135,7 @@ public class ConPurchaseServiceImpl implements IConPurchaseService { */ @Override @Transactional(rollbackFor = Exception.class) - public int importPurchase(MultipartFile file) throws Exception { + public List importPurchase(MultipartFile file) throws Exception { ExcelReader reader = ExcelUtil.getReader(file.getInputStream()); List list = reader.readAll(ConPurchaseImportVO.class); reader.close(); @@ -148,7 +148,7 @@ public class ConPurchaseServiceImpl implements IConPurchaseService { Map> mapByContractNumber = list.stream() .filter(vo -> StringUtils.isNotBlank(vo.getContractNumber())) .collect(Collectors.groupingBy(ConPurchaseImportVO::getContractNumber)); - + List res = new ArrayList<>(); // 遍历每个合同分组 for (Map.Entry> entry : mapByContractNumber.entrySet()) { String contractNumber = entry.getKey(); @@ -195,6 +195,12 @@ public class ConPurchaseServiceImpl implements IConPurchaseService { ConCityBo conCityBo = new ConCityBo(); conCityBo.setCityName(city+",全城"); ConCityVo conCityVo = iConCityService.queryOneByWholeName(conCityBo); + if(conCityVo == null){ + firstRow.setState("0" ); + firstRow.setNotes(city+"城市信息填写有误" ); + res.add(firstRow); + return res; + } purchaseBo.setCityId(conCityVo.getId()); //赋予数组值 String s = iConCityService.selectTreeIds(conCityVo.getId()); @@ -255,7 +261,7 @@ public class ConPurchaseServiceImpl implements IConPurchaseService { this.updateByBo(purchaseBo); } } - return list.size(); + return res; } /**