This commit is contained in:
liwenfei 2025-12-19 17:26:36 +08:00
parent d71ed080da
commit d41929d374
4 changed files with 20 additions and 5 deletions

View File

@ -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<Integer> importData(MultipartFile file) {
public R<List<ConPurchaseImportVO>> importData(MultipartFile file) {
try {
return R.ok(iConPurchaseService.importPurchase(file));
} catch (Exception e) {
logger.error("采购合同导入异常,异常信息:{}",e.getMessage(),e);
return R.fail(e.getMessage());
}
}

View File

@ -99,4 +99,6 @@ public class ConPurchaseImportVO {
@Alias("状态")
private String state;
private String notes;
}

View File

@ -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<ConPurchaseImportVO> importPurchase(MultipartFile file) throws Exception;
}

View File

@ -135,7 +135,7 @@ public class ConPurchaseServiceImpl implements IConPurchaseService {
*/
@Override
@Transactional(rollbackFor = Exception.class)
public int importPurchase(MultipartFile file) throws Exception {
public List<ConPurchaseImportVO> importPurchase(MultipartFile file) throws Exception {
ExcelReader reader = ExcelUtil.getReader(file.getInputStream());
List<ConPurchaseImportVO> list = reader.readAll(ConPurchaseImportVO.class);
reader.close();
@ -148,7 +148,7 @@ public class ConPurchaseServiceImpl implements IConPurchaseService {
Map<String, List<ConPurchaseImportVO>> mapByContractNumber = list.stream()
.filter(vo -> StringUtils.isNotBlank(vo.getContractNumber()))
.collect(Collectors.groupingBy(ConPurchaseImportVO::getContractNumber));
List<ConPurchaseImportVO> res = new ArrayList<>();
// 遍历每个合同分组
for (Map.Entry<String, List<ConPurchaseImportVO>> 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;
}
/**