|  | @@ -2,18 +2,14 @@ package com.ym.mec.biz.service.impl;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  import com.alibaba.fastjson.JSON;
 | 
	
		
			
				|  |  |  import com.alibaba.fastjson.JSONObject;
 | 
	
		
			
				|  |  | -import com.ym.mec.auth.api.client.SysUserFeignService;
 | 
	
		
			
				|  |  | -import com.ym.mec.auth.api.entity.SysUser;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.dao.*;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.dto.BasicUserDto;
 | 
	
		
			
				|  |  | -import com.ym.mec.biz.dal.dto.GoodsBatchNoDto;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.dto.GoodsSellDto;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.Goods;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.GoodsProcurement;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.SellOrder;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.enums.*;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.service.GoodsService;
 | 
	
		
			
				|  |  | -import com.ym.mec.biz.service.SellOrderService;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.service.SysMessageService;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.service.UploadFileService;
 | 
	
		
			
				|  |  |  import com.ym.mec.common.dal.BaseDAO;
 | 
	
	
		
			
				|  | @@ -24,7 +20,6 @@ import com.ym.mec.common.service.impl.BaseServiceImpl;
 | 
	
		
			
				|  |  |  import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 | 
	
		
			
				|  |  |  import com.ym.mec.util.excel.IniFileUtil;
 | 
	
		
			
				|  |  |  import com.ym.mec.util.excel.POIUtil;
 | 
	
		
			
				|  |  | -import org.apache.commons.lang3.ArrayUtils;
 | 
	
		
			
				|  |  |  import org.apache.commons.lang3.StringUtils;
 | 
	
		
			
				|  |  |  import org.apache.poi.ss.usermodel.PictureData;
 | 
	
		
			
				|  |  |  import org.slf4j.Logger;
 | 
	
	
		
			
				|  | @@ -71,8 +66,7 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	@Override
 | 
	
		
			
				|  |  | -	@Transactional(rollbackFor = Exception.class)
 | 
	
		
			
				|  |  | -	public void addGoodsProcurement(Goods goods, Integer operatorId) {
 | 
	
		
			
				|  |  | +	public void addGoods(Goods goods, Integer operatorId) {
 | 
	
		
			
				|  |  |  		Goods existsGood = goodsDao.findBySn(goods.getSn());
 | 
	
		
			
				|  |  |  		if(Objects.nonNull(existsGood)){
 | 
	
		
			
				|  |  |  			if(Objects.nonNull(existsGood.getComplementGoodsIdList())){
 | 
	
	
		
			
				|  | @@ -95,6 +89,44 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	@Override
 | 
	
		
			
				|  |  | +	@Transactional(rollbackFor = Exception.class)
 | 
	
		
			
				|  |  | +	public void addGoodsProcurement(Goods goods, Integer operatorId) {
 | 
	
		
			
				|  |  | +		Goods existsGood = goodsDao.findBySn(goods.getSn());
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		if(Objects.isNull(existsGood)){
 | 
	
		
			
				|  |  | +			throw new BizException("商品不存在");
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		if(StringUtils.isNotBlank(existsGood.getComplementGoodsIdList())){
 | 
	
		
			
				|  |  | +			throw new BizException("此商品为组合商品");
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		if(Objects.isNull(goods.getStockCount())){
 | 
	
		
			
				|  |  | +			goods.setStockCount(0);
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +		if(Objects.isNull(goods.getTaxStockCount())){
 | 
	
		
			
				|  |  | +			goods.setTaxStockCount(0);
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		existsGood.setStockCount(existsGood.getStockCount()+goods.getStockCount());
 | 
	
		
			
				|  |  | +		existsGood.setTaxStockCount(existsGood.getTaxStockCount()+existsGood.getTaxStockCount());
 | 
	
		
			
				|  |  | +		goodsDao.update(existsGood);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +		String batchNo = idGeneratorService.generatorId("payment") + "";
 | 
	
		
			
				|  |  | +		GoodsProcurement gp = new GoodsProcurement();
 | 
	
		
			
				|  |  | +		gp.setGoodsId(existsGood.getId());
 | 
	
		
			
				|  |  | +		gp.setGoodsCategoryId(goods.getGoodsCategoryId());
 | 
	
		
			
				|  |  | +		gp.setSupplyChannel(goods.getSupplyChannel());
 | 
	
		
			
				|  |  | +		gp.setDiscountPrice(goods.getDiscountPrice());
 | 
	
		
			
				|  |  | +		gp.setAgreeCostPrice(goods.getAgreeCostPrice());
 | 
	
		
			
				|  |  | +		gp.setStockCount(goods.getStockCount());
 | 
	
		
			
				|  |  | +		gp.setTaxStockCount(goods.getTaxStockCount());
 | 
	
		
			
				|  |  | +		gp.setOperatorId(operatorId);
 | 
	
		
			
				|  |  | +		gp.setBatchNo(batchNo);
 | 
	
		
			
				|  |  | +		goodsProcurementDao.insert(gp);
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	@Override
 | 
	
		
			
				|  |  |  	public void updateGoodsStatus(Integer goodsId, Integer status) {
 | 
	
		
			
				|  |  |  		if(Objects.isNull(goodsId)){
 | 
	
		
			
				|  |  |  			throw new BizException("请指定商品");
 | 
	
	
		
			
				|  | @@ -402,7 +434,7 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement
 | 
	
		
			
				|  |  |  					sellOrder.setAccountType(accountType);
 | 
	
		
			
				|  |  |  					sellOrder.setBatchNo(batchNoGoodsIdMapEntry.getKey());
 | 
	
		
			
				|  |  |  					GoodsProcurement goodsProcurement = goodsProcurementDao.getWithGoodsAndBatchNo(sellOrder.getGoodsId(), sellOrder.getBatchNo());
 | 
	
		
			
				|  |  | -					sellOrder.setSellCost(goodsProcurement.getDiscountPrice().multiply(new BigDecimal(sellOrder.getNum())));
 | 
	
		
			
				|  |  | +					sellOrder.setSellCost(goodsProcurement.getDiscountPrice());
 | 
	
		
			
				|  |  |  					Map<String, BigDecimal> CostMap = new HashMap<>();
 | 
	
		
			
				|  |  |  					CostMap.put("sellCost", goodsProcurement.getDiscountPrice());
 | 
	
		
			
				|  |  |  					if (Objects.nonNull(goodsProcurement.getAgreeCostPrice())) {
 | 
	
	
		
			
				|  | @@ -426,7 +458,7 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement
 | 
	
		
			
				|  |  |  				sellOrder.setAccountType(accountType);
 | 
	
		
			
				|  |  |  				sellOrder.setBatchNo(goodsProcurement.getBatchNo());
 | 
	
		
			
				|  |  |  				if(Objects.nonNull(goodsProcurement.getBatchNo())){
 | 
	
		
			
				|  |  | -					sellOrder.setSellCost(goodsProcurement.getDiscountPrice().multiply(new BigDecimal(sellOrder.getNum())));
 | 
	
		
			
				|  |  | +					sellOrder.setSellCost(goodsProcurement.getDiscountPrice());
 | 
	
		
			
				|  |  |  					Map<String, BigDecimal> CostMap = new HashMap<>();
 | 
	
		
			
				|  |  |  					CostMap.put("sellCost", goodsProcurement.getDiscountPrice());
 | 
	
		
			
				|  |  |  					if (Objects.nonNull(goodsProcurement.getAgreeCostPrice())) {
 |