Explorar o código

出口价格库修改

lazhaoqian %!s(int64=4) %!d(string=hai) anos
pai
achega
0e48998c54

+ 5 - 8
blade-service/blade-mocha-item/src/main/java/org/springblade/mocha/controller/PriceBankController.java

@@ -27,7 +27,6 @@ import lombok.AllArgsConstructor;
 import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
 
-import org.springblade.client.entity.GoodsType;
 import org.springblade.client.feign.IGoodsDescClient;
 import org.springblade.core.excel.util.ExcelUtil;
 import org.springblade.core.mp.support.Condition;
@@ -36,8 +35,6 @@ import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
 import org.springblade.mocha.excel.PriceBankExcel;
-import org.springblade.mocha.excel.PriceBankImport;
-import org.springblade.mocha.excel.PriceImport;
 import org.springframework.web.bind.annotation.*;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.mocha.entity.PriceBank;
@@ -46,7 +43,6 @@ import org.springblade.mocha.service.IPriceBankService;
 import org.springblade.core.boot.ctrl.BladeController;
 import org.springframework.web.multipart.MultipartFile;
 
-import java.time.Period;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -201,10 +197,11 @@ public class PriceBankController extends BladeController {
 	@ApiOperationSupport(order = 12)
 	@ApiOperation(value = "导入价格", notes = "传入excel")
 	public R importUser(MultipartFile file) {
-		Integer isCovered = 0;
-		PriceBankImport priceBankImport = new PriceBankImport(priceBankService, isCovered == 1);
-		ExcelUtil.save(file, priceBankImport, PriceBankExcel.class);
-		return R.success("操作成功");
+		List<PriceBankExcel> excelList = ExcelUtil.read(file, PriceBankExcel.class);
+		if (CollectionUtils.isEmpty(excelList)){
+			throw new SecurityException("数据不能为空");
+		}
+		return priceBankService.importUser(excelList,false);
 	}
 
 

+ 0 - 24
blade-service/blade-mocha-item/src/main/java/org/springblade/mocha/excel/PriceBankImport.java

@@ -1,24 +0,0 @@
-package org.springblade.mocha.excel;
-
-import lombok.AllArgsConstructor;
-import lombok.RequiredArgsConstructor;
-import org.springblade.core.excel.support.ExcelImporter;
-import org.springblade.mocha.service.IPriceBankService;
-
-import java.util.List;
-
-/**
- * 价格管理数据导入类
- *
- * @author Chill
- */
-@RequiredArgsConstructor
-@AllArgsConstructor
-public class PriceBankImport implements ExcelImporter<PriceBankExcel> {
-	private IPriceBankService priceBankService;
-	private final Boolean isCovered;
-	@Override
-	public void save(List<PriceBankExcel> data) {
-		priceBankService.importUser(data,isCovered);
-	}
-}

+ 2 - 1
blade-service/blade-mocha-item/src/main/java/org/springblade/mocha/service/IPriceBankService.java

@@ -16,6 +16,7 @@
  */
 package org.springblade.mocha.service;
 
+import org.springblade.core.tool.api.R;
 import org.springblade.mocha.entity.PriceBank;
 import org.springblade.mocha.excel.PriceBankExcel;
 import org.springblade.mocha.vo.PriceBankVO;
@@ -54,6 +55,6 @@ public interface IPriceBankService extends IService<PriceBank> {
 	 * @param isCovered
 	 * @return
 	 */
-	void importUser(List<PriceBankExcel> data, Boolean isCovered);
+	R importUser(List<PriceBankExcel> data, Boolean isCovered);
 
 }

+ 25 - 2
blade-service/blade-mocha-item/src/main/java/org/springblade/mocha/service/impl/PriceBankServiceImpl.java

@@ -18,6 +18,7 @@ package org.springblade.mocha.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import lombok.AllArgsConstructor;
 import org.springblade.client.entity.CorpsDesc;
@@ -38,6 +39,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
@@ -96,7 +98,9 @@ public class PriceBankServiceImpl extends ServiceImpl<PriceBankMapper, PriceBank
 	}
 
 	@Override
-	public void importUser(List<PriceBankExcel> data, Boolean isCovered) {
+	public R importUser(List<PriceBankExcel> data, Boolean isCovered) {
+		List<String> corpList = new ArrayList<>();//供应商不存在的集合
+		List<String> goodList = new ArrayList<>();//商品不存在的
 		data.stream().forEach(item ->{
 			//先查供应商  看供应商是否存在
 			PriceBank priceBank = new PriceBank();
@@ -134,7 +138,7 @@ public class PriceBankServiceImpl extends ServiceImpl<PriceBankMapper, PriceBank
 				priceBank.setBillType(item.getBillType());
 			}
 			//采购报价=单价 / (1+税率/100) *(1+FOB系数/100)
-			priceBank.setPurchaseAmount(priceBank.getPrice().divide((new BigDecimal(1).add((priceBank.getTaxRate().divide(new BigDecimal(100),2)))).multiply(new BigDecimal(1).add((priceBank.getCoefficient().divide(new BigDecimal(100),2)))),2));
+			priceBank.setPurchaseAmount(priceBank.getPrice().divide((new BigDecimal(1).add((priceBank.getTaxRate().divide(new BigDecimal(100))))),4).multiply(new BigDecimal(1).add((priceBank.getCoefficient().divide(new BigDecimal(100))))));
 			if (StringUtils.isNotBlank(item.getCorpName())){
 				R<CorpsDesc> corpByName = corpsDescClient.getCorpByName(item.getCorpName(), SecureUtil.getTenantId());
 				if (corpByName.isSuccess() && corpByName.getData() != null){
@@ -170,10 +174,29 @@ public class PriceBankServiceImpl extends ServiceImpl<PriceBankMapper, PriceBank
 							baseMapper.updateById(priceBank);
 						}
 
+					}else {
+						goodList.add(item.getCname());
 					}
+				}else {
+					corpList.add(item.getCorpName());
 				}
 			}
 		});
+		if (CollectionUtils.isNotEmpty(corpList) || CollectionUtils.isNotEmpty(goodList)){
+			String message = new String();
+			if (CollectionUtils.isNotEmpty(corpList)){
+				StringBuffer stringBuffer = new StringBuffer("未找到供应商的有:");
+				stringBuffer.append(org.apache.commons.lang.StringUtils.join(corpList.toArray(), ","));
+				message = message + stringBuffer.toString();
+			}
+			if (CollectionUtils.isNotEmpty(goodList)){
+				StringBuffer stringBuffer = new StringBuffer("根据供应商和商品名未找到商品的有:");
+				stringBuffer.append(org.apache.commons.lang.StringUtils.join(goodList.toArray(), ","));
+				message = message + stringBuffer.toString();
+			}
+			return R.data(message);
+		}
+		return R.data("导入成功");
 	}
 
 }