25929f2642bc6ed3ee3b5c723bb1b75ce0bd3705.svn-base 2.86 KB
package com.phxl.modules.goods.service.supplygoods;

import java.math.BigDecimal;
import java.util.List;

import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.xmlbeans.impl.xb.xsdschema.Public;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.phxl.common.util.JsonMapper;
import com.phxl.common.utils.BaseException;
import com.phxl.common.utils.IdUtil;
import com.phxl.modules.goods.dao.supplygoods.MedSupplyGoodsDao;
import com.phxl.modules.goods.entity.supplygoods.MedSupplyGoods;

@Service
public class MedSupplyGoodsService{

	
	@Autowired
	private MedSupplyGoodsDao medSupplyGoodsDao;
	
	private static Log log = LogFactory.getLog(MedSupplyGoodsService.class);
	

	@Transactional
	public boolean batchSave(List<MedSupplyGoods> supplyGoods) {
		boolean result = false;
		if(supplyGoods != null && supplyGoods.size() != 0){
			for (MedSupplyGoods medSupplyGoods : supplyGoods) {
				try {
					checkGoods(medSupplyGoods);
				} catch (Exception e) {
					String json = JsonMapper.toJsonString(medSupplyGoods);
					log.error("采购目录:"+json+"信息异常");
					throw new BaseException(e.getMessage());
				}
				medSupplyGoods.setId(IdUtil.uuid());
			}
			medSupplyGoodsDao.batchInsert(supplyGoods);
			result = true;
		}
		return result;
	}

	/**
	 * 采购目录信息校验
	 * @param medSupplyGoods
	 */
	private void checkGoods(MedSupplyGoods medSupplyGoods) {
		//获取采购目录供应商信息
		String medSuppliercode = medSupplyGoods.getMedSuppliercode();
		String medSuppliername = medSupplyGoods.getMedSuppliername();
		if(StringUtils.isEmpty(medSuppliercode) || StringUtils.isEmpty(medSuppliername)){
			log.error("采购目录信息供应商编号以及供应商名称不能为空");
			throw new BaseException("采购目录信息供应商编号以及供应商名称不能为空");
		}
		//获取采购目录商品信息
		String goodsCode = medSupplyGoods.getGoodsCode();
		String goodsName = medSupplyGoods.getGoodsName();
		if(StringUtils.isEmpty(goodsCode) || StringUtils.isEmpty(goodsName)){
			log.error("采购目录信息商品编号以及商品名称不能为空");
			throw new BaseException("采购目录信息商品编号以及商品名称不能为空");
		}
		//对应商品规格
		String goodsSpec = medSupplyGoods.getGoodsSpec();
		if(StringUtils.isEmpty(goodsSpec)){
			log.error("采购目录信息商品规格以及商品名称不能为空");
			throw new BaseException("采购目录信息商品规格以及商品名称不能为空");
		}
		BigDecimal price = medSupplyGoods.getPrice();
		if (price == null) {
			log.error("采购目录信息采购价不能为空");
			throw new BaseException("采购目录信息采购价不能为空");
		}
	}
	
	
}